Skip to content

Commit a49d8e8

Browse files
authored
Separate url forwarding logic and legacy services (#76892)
1 parent d722ec6 commit a49d8e8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+392
-192
lines changed

docs/developer/plugin-list.asciidoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ in Kibana, e.g. visualizations. It has the form of a flyout panel.
9595
9696
9797
|{kib-repo}blob/{branch}/src/plugins/kibana_legacy/README.md[kibanaLegacy]
98-
|This plugin will contain several helpers and services to integrate pieces of the legacy Kibana app with the new Kibana platform.
98+
|This plugin contains several helpers and services to integrate pieces of the legacy Kibana app with the new Kibana platform.
9999
100100
101101
|{kib-repo}blob/{branch}/src/plugins/kibana_react/README.md[kibanaReact]
@@ -172,6 +172,10 @@ which also contains the timelion APIs and backend, look at the vis_type_timelion
172172
|An API for:
173173
174174
175+
|{kib-repo}blob/{branch}/src/plugins/url_forwarding/README.md[urlForwarding]
176+
|This plugins contains helpers to redirect legacy URLs. It can be used to forward old URLs to their new counterparts.
177+
178+
175179
|{kib-repo}blob/{branch}/src/plugins/usage_collection/README.md[usageCollection]
176180
|Usage Collection allows collecting usage data for other services to consume (telemetry and monitoring).
177181
To integrate with the telemetry services for usage collection of your feature, there are 2 steps:

src/core/MIGRATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1231,7 +1231,7 @@ import { npStart: { plugins } } from 'ui/new_platform';
12311231
| `import 'ui/filter_bar'` | `import { FilterBar } from '../data/public'` | Directive is deprecated. |
12321232
| `import 'ui/query_bar'` | `import { QueryStringInput } from '../data/public'` | Directives are deprecated. |
12331233
| `import 'ui/search_bar'` | `import { SearchBar } from '../data/public'` | Directive is deprecated. |
1234-
| `import 'ui/kbn_top_nav'` | `import { TopNavMenu } from '../navigation/public'` | Directive was moved to `src/plugins/kibana_legacy`. |
1234+
| `import 'ui/kbn_top_nav'` | `import { TopNavMenu } from '../navigation/public'` | Directive was removed. |
12351235
| `ui/saved_objects/components/saved_object_finder` | `import { SavedObjectFinder } from '../saved_objects/public'` | |
12361236
| `core_plugins/interpreter` | `plugins.data.expressions` |
12371237
| `ui/courier` | `plugins.data.search` |

src/plugins/dashboard/kibana.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"embeddable",
77
"inspector",
88
"kibanaLegacy",
9+
"urlForwarding",
910
"navigation",
1011
"uiActions",
1112
"savedObjects"

src/plugins/dashboard/public/application/application.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import { NavigationPublicPluginStart as NavigationStart } from '../../../navigat
4141
import { DataPublicPluginStart } from '../../../data/public';
4242
import { SharePluginStart } from '../../../share/public';
4343
import { KibanaLegacyStart, configureAppAngularModule } from '../../../kibana_legacy/public';
44+
import { UrlForwardingStart } from '../../../url_forwarding/public';
4445
import { SavedObjectLoader, SavedObjectsStart } from '../../../saved_objects/public';
4546

4647
// required for i18nIdDirective
@@ -69,8 +70,8 @@ export interface RenderDeps {
6970
localStorage: Storage;
7071
share?: SharePluginStart;
7172
usageCollection?: UsageCollectionSetup;
72-
navigateToDefaultApp: KibanaLegacyStart['navigateToDefaultApp'];
73-
navigateToLegacyKibanaUrl: KibanaLegacyStart['navigateToLegacyKibanaUrl'];
73+
navigateToDefaultApp: UrlForwardingStart['navigateToDefaultApp'];
74+
navigateToLegacyKibanaUrl: UrlForwardingStart['navigateToLegacyKibanaUrl'];
7475
scopedHistory: () => ScopedHistory;
7576
savedObjects: SavedObjectsStart;
7677
restorePreviousUrl: () => void;

src/plugins/dashboard/public/application/dashboard_app_controller.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ import {
8888
AngularHttpError,
8989
KibanaLegacyStart,
9090
subscribeWithScope,
91-
migrateLegacyQuery,
9291
} from '../../../kibana_legacy/public';
92+
import { migrateLegacyQuery } from './lib/migrate_legacy_query';
9393

9494
export interface DashboardAppControllerDependencies extends RenderDeps {
9595
$scope: DashboardAppScope;

src/plugins/dashboard/public/application/dashboard_state_manager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { History } from 'history';
2525

2626
import { Filter, Query, TimefilterContract as Timefilter } from 'src/plugins/data/public';
2727
import { UsageCollectionSetup } from 'src/plugins/usage_collection/public';
28-
import { migrateLegacyQuery } from '../../../kibana_legacy/public';
28+
import { migrateLegacyQuery } from './lib/migrate_legacy_query';
2929

3030
import { ViewMode } from '../embeddable_plugin';
3131
import { getAppStateDefaults, migrateAppState, getDashboardIdFromUrl } from './lib';

src/plugins/dashboard/public/plugin.tsx

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import {
3333
SavedObjectsClientContract,
3434
ScopedHistory,
3535
} from 'src/core/public';
36+
import { UrlForwardingSetup, UrlForwardingStart } from 'src/plugins/url_forwarding/public';
3637
import { UsageCollectionSetup } from '../../usage_collection/public';
3738
import {
3839
CONTEXT_MENU_TRIGGER,
@@ -125,6 +126,7 @@ interface SetupDependencies {
125126
embeddable: EmbeddableSetup;
126127
home?: HomePublicPluginSetup;
127128
kibanaLegacy: KibanaLegacySetup;
129+
urlForwarding: UrlForwardingSetup;
128130
share?: SharePluginSetup;
129131
uiActions: UiActionsSetup;
130132
usageCollection?: UsageCollectionSetup;
@@ -133,6 +135,7 @@ interface SetupDependencies {
133135
interface StartDependencies {
134136
data: DataPublicPluginStart;
135137
kibanaLegacy: KibanaLegacyStart;
138+
urlForwarding: UrlForwardingStart;
136139
embeddable: EmbeddableStart;
137140
inspector: InspectorStartContract;
138141
navigation: NavigationStart;
@@ -190,7 +193,16 @@ export class DashboardPlugin
190193

191194
public setup(
192195
core: CoreSetup<StartDependencies, DashboardStart>,
193-
{ share, uiActions, embeddable, home, kibanaLegacy, data, usageCollection }: SetupDependencies
196+
{
197+
share,
198+
uiActions,
199+
embeddable,
200+
home,
201+
kibanaLegacy,
202+
urlForwarding,
203+
data,
204+
usageCollection,
205+
}: SetupDependencies
194206
): Setup {
195207
this.dashboardFeatureFlagConfig = this.initializerContext.config.get<
196208
DashboardFeatureFlagConfig
@@ -311,7 +323,8 @@ export class DashboardPlugin
311323
navigation,
312324
share: shareStart,
313325
data: dataStart,
314-
kibanaLegacy: { dashboardConfig, navigateToDefaultApp, navigateToLegacyKibanaUrl },
326+
kibanaLegacy: { dashboardConfig },
327+
urlForwarding: { navigateToDefaultApp, navigateToLegacyKibanaUrl },
315328
savedObjects,
316329
} = pluginsStart;
317330

@@ -357,7 +370,7 @@ export class DashboardPlugin
357370
initAngularBootstrap();
358371

359372
core.application.register(app);
360-
kibanaLegacy.forwardApp(
373+
urlForwarding.forwardApp(
361374
DashboardConstants.DASHBOARDS_ID,
362375
DashboardConstants.DASHBOARDS_ID,
363376
(path) => {
@@ -366,7 +379,7 @@ export class DashboardPlugin
366379
return `#/list${tail || ''}`;
367380
}
368381
);
369-
kibanaLegacy.forwardApp(
382+
urlForwarding.forwardApp(
370383
DashboardConstants.DASHBOARD_ID,
371384
DashboardConstants.DASHBOARDS_ID,
372385
(path) => {

src/plugins/data/kibana.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
"usageCollection",
1414
"kibanaUtils",
1515
"kibanaReact",
16-
"kibanaLegacy",
1716
"inspector"
1817
]
1918
}

src/plugins/data/public/search/search_source/create_search_source.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
import { migrateLegacyQuery } from '../../../../kibana_legacy/common';
19+
import { migrateLegacyQuery } from './migrate_legacy_query';
2020
import { SearchSource, SearchSourceDependencies } from './search_source';
2121
import { IndexPatternsContract } from '../../index_patterns/index_patterns';
2222
import { SearchSourceFields } from './types';

0 commit comments

Comments
 (0)