import { Injector, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { NgSelectModule } from '@ng-select/ng-select'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { TableModule } from 'primeng/table'; import { ExplorerPageComponent } from './pages/explorer-page/explorer-page.component'; import { QueryTileComponent } from './components/query-tile/query-tile.component'; import { LaunchAnalysisComponent } from './dialogs/launch-analysis/launch-analysis.component'; import { DatasetTileComponent } from './components/dataset-tile/dataset-tile.component'; import { AnalysisPanelComponent } from './components/analysis-panel/analysis-panel.component'; import { TaskListComponent } from './components/task-list/task-list.component'; import { ToggleComponent } from './components/toggle/toggle.component'; import { InfoTileComponent } from './components/info-tile/info-tile.component'; import { DownloadButtonComponent } from './components/network/network-menu/download-button/download-button.component'; import { MatTooltipModule } from '@angular/material/tooltip'; import { AnalysisService } from './services/analysis/analysis.service'; import { AddExpressedProteinsComponent } from './dialogs/add-expressed-proteins/add-expressed-proteins.component'; import { createCustomElement } from '@angular/elements'; import { NetworkLegendComponent } from './components/network/network-legend/network-legend.component'; import { ProtTableComponent } from './components/analysis-panel/prot-table/prot-table.component'; import { DrugTableComponent } from './components/analysis-panel/drug-table/drug-table.component'; import { TooltipModule } from 'primeng/tooltip'; import { NetworkMenuComponent } from './components/network/network-menu/network-menu.component'; import { NetworkComponent } from './components/network/network.component'; import { ToggleInplaceComponent } from './components/network/network-menu/toggle-inplace/toggle-inplace.component'; import { NetworkMenuLeftComponent } from './components/network/network-menu-left/network-menu-left.component'; import { ToggleInplaceReversedComponent } from './components/network/network-menu-left/toggle-inplace-reversed/toggle-inplace-reversed.component'; import { DownloadButtonInverseComponent } from './components/network/network-menu-left/download-button-inverse/download-button-inverse.component'; import { NetworkControlComponent } from './components/network-control/network-control.component'; import { CenterViewComponent } from './components/network/network-menu/center-view/center-view.component'; import { CenterViewInverseComponent } from './components/network/network-menu-left/center-view-inverse/center-view-inverse.component'; import { LicenseAgreementComponent } from './components/license-agreement/license-agreement.component'; import { QuickDrugTargetComponent } from './components/quick-drug-target/quick-drug-target.component'; import { QuickDrugComponent } from './components/quick-drug/quick-drug.component'; import { ToastComponent } from './components/toast/toast.component'; import { GroupSelectionComponent } from './pages/explorer-page/group-selection/group-selection.component'; import { FaSolidIconComponent } from './components/fa-solid-icon/fa-solid-icon.component'; import { FaIconsComponent } from './pages/explorer-page/fa-icons/fa-icons.component'; import { LoadingScreenComponent } from './components/loading-screen/loading-screen.component'; import { PrivacyBannerComponent } from './components/privacy-banner/privacy-banner.component'; import { ParserWarningComponent } from './components/parser-warning/parser-warning.component'; import { GroupWarningComponent } from './components/group-warning/group-warning.component'; import { NetworkWarningComponent } from './components/network-warning/network-warning.component'; import {NgbModule} from '@ng-bootstrap/ng-bootstrap'; import { SummaryNodeComponent } from './pages/explorer-page/summary-node/summary-node/summary-node.component'; import { NetworkOverviewComponent } from './pages/explorer-page/network-overview/network-overview/network-overview.component'; import { InfoTileEdgeComponent } from './components/info-tile-edge/info-tile-edge/info-tile-edge.component'; import { NetworkEmptyWarningComponent } from './components/network-empty-warning/network-empty-warning.component'; @NgModule({ declarations: [ ExplorerPageComponent, QueryTileComponent, LaunchAnalysisComponent, DatasetTileComponent, AnalysisPanelComponent, TaskListComponent, ToggleComponent, InfoTileComponent, AddExpressedProteinsComponent, NetworkLegendComponent, ProtTableComponent, DrugTableComponent, DownloadButtonComponent, NetworkMenuComponent, NetworkComponent, ToggleInplaceComponent, NetworkMenuLeftComponent, ToggleInplaceReversedComponent, DownloadButtonInverseComponent, NetworkControlComponent, CenterViewComponent, CenterViewInverseComponent, LicenseAgreementComponent, QuickDrugTargetComponent, QuickDrugComponent, ToastComponent, GroupSelectionComponent, FaSolidIconComponent, FaIconsComponent, LoadingScreenComponent, PrivacyBannerComponent, ParserWarningComponent, GroupWarningComponent, NetworkWarningComponent, SummaryNodeComponent, NetworkOverviewComponent, InfoTileEdgeComponent, NetworkEmptyWarningComponent, ], imports: [ BrowserModule, NgSelectModule, NgbModule, FormsModule, CommonModule, HttpClientModule, BrowserAnimationsModule, TableModule, MatTooltipModule, TooltipModule, ], providers: [AnalysisService], }) export class AppModule { constructor(injector: Injector) { const NetworkExpander = createCustomElement(ExplorerPageComponent, { injector }); // Register the custom element with the browser. customElements.define('drugst-one', NetworkExpander); } ngDoBootstrap() { } }