From 27f66a6df93fec6ff96e445111d5aaaf2f7a6c7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 9 Nov 2021 08:37:16 +0100 Subject: [PATCH] Angular: Move coreModule to app/angular and isolate angular usage more (#41433) * moving coreModule to app/angular and isolating it more * fixed ts issue --- public/app/angular/AngularApp.ts | 4 +++- public/app/angular/angular_wrappers.ts | 2 +- public/app/angular/array_join.ts | 2 +- public/app/angular/autofill_event_fix.ts | 2 +- public/app/angular/bridgeReactAngularRouting.ts | 2 +- .../angular/components/code_editor/code_editor.ts | 2 +- .../components/form_dropdown/form_dropdown.ts | 4 ++-- public/app/angular/components/info_popover.ts | 2 +- public/app/angular/components/jsontree.ts | 2 +- public/app/angular/components/query_part_editor.ts | 4 ++-- public/app/angular/components/scroll.ts | 2 +- public/app/angular/components/spectrum_picker.ts | 2 +- .../angular/components/sql_part/sql_part_editor.ts | 2 +- public/app/angular/components/switch.ts | 2 +- public/app/{core => angular}/core_module.ts | 0 public/app/angular/diff-view.ts | 2 +- public/app/angular/dropdown_typeahead.ts | 2 +- public/app/angular/filters/filters.ts | 2 +- public/app/angular/give_focus.ts | 2 +- public/app/angular/index.ts | 2 ++ public/app/angular/metric_segment.ts | 2 +- public/app/angular/misc.ts | 2 +- public/app/angular/ng_model_on_blur.ts | 2 +- public/app/angular/panel/panel_directive.ts | 2 +- public/app/angular/panel/panellinks/link_srv.ts | 2 +- public/app/angular/panel/query_editor_row.ts | 2 +- .../{core/utils => angular}/promiseToDigest.test.ts | 0 .../app/{core/utils => angular}/promiseToDigest.ts | 0 public/app/{core/utils => angular}/react2angular.ts | 2 +- public/app/angular/rebuild_on_change.ts | 2 +- public/app/angular/registerComponents.ts | 8 ++++++++ .../app/{core => angular}/services/AngularLoader.ts | 12 ++---------- public/app/angular/services/alert_srv.ts | 2 +- public/app/angular/services/dynamic_directive_srv.ts | 2 +- public/app/angular/services/nav_model_srv.ts | 2 +- public/app/angular/services/popover_srv.ts | 2 +- public/app/angular/services/segment_srv.ts | 2 +- public/app/angular/services/timer.ts | 2 +- public/app/angular/tags.ts | 2 +- public/app/app.ts | 10 +++++++++- public/app/core/core.ts | 2 -- public/app/core/services/backend_srv.ts | 2 -- public/app/core/services/context_srv.ts | 5 ----- public/app/core/services/util_srv.ts | 2 +- public/app/features/alerting/AlertTabCtrl.ts | 4 ++-- .../app/features/annotations/annotation_tooltip.ts | 2 +- public/app/features/annotations/annotations_srv.ts | 10 +--------- .../components/StandardAnnotationQueryEditor.tsx | 9 --------- public/app/features/annotations/event_editor.ts | 2 +- .../DashboardSettings/AnnotationsSettings.test.tsx | 4 +--- .../components/FolderPicker/FolderPickerCtrl.ts | 4 ++-- .../components/VersionHistory/HistorySrv.ts | 2 +- .../app/features/dashboard/services/DashboardSrv.ts | 2 +- .../datasources/settings/HttpSettingsCtrl.ts | 2 +- .../datasources/settings/TlsAuthSettingsCtrl.ts | 2 +- .../UploadDashboard/uploadDashboardDirective.ts | 2 +- .../manage-dashboards/services/ValidationSrv.ts | 2 +- public/app/features/plugins/datasource_srv.ts | 2 +- public/app/features/plugins/plugin_component.ts | 2 +- public/app/features/plugins/plugin_loader.ts | 6 ++++-- public/app/features/plugins/plugin_page_ctrl.ts | 2 +- .../features/plugins/variableQueryEditorLoader.tsx | 2 +- .../plugins/datasource/graphite/specs/store.test.ts | 2 +- public/app/plugins/panel/graph/graph.ts | 3 ++- .../app/plugins/panel/graph/series_overrides_ctrl.ts | 2 +- public/app/plugins/panel/graph/thresholds_form.ts | 2 +- public/app/plugins/panel/graph/time_regions_form.ts | 2 +- public/app/plugins/panel/heatmap/color_legend.ts | 2 +- public/app/routes/GrafanaCtrl.ts | 8 +++----- 69 files changed, 91 insertions(+), 106 deletions(-) rename public/app/{core => angular}/core_module.ts (100%) rename public/app/{core/utils => angular}/promiseToDigest.test.ts (100%) rename public/app/{core/utils => angular}/promiseToDigest.ts (100%) rename public/app/{core/utils => angular}/react2angular.ts (85%) create mode 100644 public/app/angular/registerComponents.ts rename public/app/{core => angular}/services/AngularLoader.ts (75%) diff --git a/public/app/angular/AngularApp.ts b/public/app/angular/AngularApp.ts index 7fab2829548..c17f7ac6e0e 100644 --- a/public/app/angular/AngularApp.ts +++ b/public/app/angular/AngularApp.ts @@ -5,7 +5,7 @@ import 'angular-bindonce'; import 'vendor/bootstrap/bootstrap'; import 'vendor/angular-other/angular-strap'; import { config } from 'app/core/config'; -import coreModule, { angularModules } from 'app/core/core_module'; +import coreModule, { angularModules } from 'app/angular/core_module'; import { DashboardLoaderSrv } from 'app/features/dashboard/services/DashboardLoaderSrv'; import { registerAngularDirectives } from './angular_wrappers'; import { initAngularRoutingBridge } from './bridgeReactAngularRouting'; @@ -13,6 +13,7 @@ import { monkeyPatchInjectorWithPreAssignedBindings } from './injectorMonkeyPatc import { extend } from 'lodash'; import { getTimeSrv } from 'app/features/dashboard/services/TimeSrv'; import { getTemplateSrv } from '@grafana/runtime'; +import { registerComponents } from './registerComponents'; export class AngularApp { ngModuleDependencies: any[]; @@ -89,6 +90,7 @@ export class AngularApp { coreModule.factory('templateSrv', () => getTemplateSrv()); registerAngularDirectives(); + registerComponents(); initAngularRoutingBridge(); } diff --git a/public/app/angular/angular_wrappers.ts b/public/app/angular/angular_wrappers.ts index c678704635e..2ce3911600a 100644 --- a/public/app/angular/angular_wrappers.ts +++ b/public/app/angular/angular_wrappers.ts @@ -1,4 +1,4 @@ -import { react2AngularDirective } from 'app/core/utils/react2angular'; +import { react2AngularDirective } from 'app/angular/react2angular'; import { QueryEditor as CloudMonitoringQueryEditor } from 'app/plugins/datasource/cloud-monitoring/components/QueryEditor'; import { AnnotationQueryEditor as CloudMonitoringAnnotationQueryEditor } from 'app/plugins/datasource/cloud-monitoring/components/AnnotationQueryEditor'; import { AnnotationQueryEditor as CloudWatchAnnotationQueryEditor } from 'app/plugins/datasource/cloudwatch/components/AnnotationQueryEditor'; diff --git a/public/app/angular/array_join.ts b/public/app/angular/array_join.ts index 5bf12b795b7..b81d3596760 100644 --- a/public/app/angular/array_join.ts +++ b/public/app/angular/array_join.ts @@ -1,5 +1,5 @@ import { isArray } from 'lodash'; -import coreModule from '../core/core_module'; +import coreModule from './core_module'; export function arrayJoin() { 'use strict'; diff --git a/public/app/angular/autofill_event_fix.ts b/public/app/angular/autofill_event_fix.ts index 922b0c2b497..d885a5c59e6 100644 --- a/public/app/angular/autofill_event_fix.ts +++ b/public/app/angular/autofill_event_fix.ts @@ -1,4 +1,4 @@ -import coreModule from '../core/core_module'; +import coreModule from './core_module'; /** @ngInject */ export function autofillEventFix($compile: any) { diff --git a/public/app/angular/bridgeReactAngularRouting.ts b/public/app/angular/bridgeReactAngularRouting.ts index d25aa7e92d7..d3afb95e212 100644 --- a/public/app/angular/bridgeReactAngularRouting.ts +++ b/public/app/angular/bridgeReactAngularRouting.ts @@ -1,4 +1,4 @@ -import { coreModule } from '../core/core_module'; +import { coreModule } from './core_module'; import { RouteProvider } from '../core/navigation/patch/RouteProvider'; import { RouteParamsProvider } from '../core/navigation/patch/RouteParamsProvider'; import { ILocationService } from 'angular'; diff --git a/public/app/angular/components/code_editor/code_editor.ts b/public/app/angular/components/code_editor/code_editor.ts index bd109ed7891..c6e144249d6 100644 --- a/public/app/angular/components/code_editor/code_editor.ts +++ b/public/app/angular/components/code_editor/code_editor.ts @@ -28,7 +28,7 @@ * Ctrl-Enter (Command-Enter): run onChange() function */ -import coreModule from 'app/core/core_module'; +import coreModule from 'app/angular/core_module'; import config from 'app/core/config'; const DEFAULT_THEME_DARK = 'ace/theme/grafana-dark'; diff --git a/public/app/angular/components/form_dropdown/form_dropdown.ts b/public/app/angular/components/form_dropdown/form_dropdown.ts index fbe0107a7b0..3fbec41def6 100644 --- a/public/app/angular/components/form_dropdown/form_dropdown.ts +++ b/public/app/angular/components/form_dropdown/form_dropdown.ts @@ -1,7 +1,7 @@ import { debounce, find, indexOf, map, isObject, escape, unescape } from 'lodash'; -import coreModule from '../../../core/core_module'; +import coreModule from '../../core_module'; import { ISCEService } from 'angular'; -import { promiseToDigest } from 'app/core/utils/promiseToDigest'; +import { promiseToDigest } from '../../promiseToDigest'; function typeaheadMatcher(this: any, item: string) { let str = this.query; diff --git a/public/app/angular/components/info_popover.ts b/public/app/angular/components/info_popover.ts index 7e4d0e0524f..37fe61de5ba 100644 --- a/public/app/angular/components/info_popover.ts +++ b/public/app/angular/components/info_popover.ts @@ -1,5 +1,5 @@ import { each } from 'lodash'; -import coreModule from 'app/core/core_module'; +import coreModule from 'app/angular/core_module'; // @ts-ignore import Drop from 'tether-drop'; diff --git a/public/app/angular/components/jsontree.ts b/public/app/angular/components/jsontree.ts index f88e317d07c..1628de803f0 100644 --- a/public/app/angular/components/jsontree.ts +++ b/public/app/angular/components/jsontree.ts @@ -1,4 +1,4 @@ -import coreModule from 'app/core/core_module'; +import coreModule from 'app/angular/core_module'; import { JsonExplorer } from '@grafana/ui'; coreModule.directive('jsonTree', [ diff --git a/public/app/angular/components/query_part_editor.ts b/public/app/angular/components/query_part_editor.ts index 9f0c350e287..3f85e55498b 100644 --- a/public/app/angular/components/query_part_editor.ts +++ b/public/app/angular/components/query_part_editor.ts @@ -1,7 +1,7 @@ import { debounce, each, map, partial, escape, unescape } from 'lodash'; import $ from 'jquery'; -import coreModule from 'app/core/core_module'; -import { promiseToDigest } from '../../core/utils/promiseToDigest'; +import coreModule from 'app/angular/core_module'; +import { promiseToDigest } from '../promiseToDigest'; const template = `