• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Microsoft / BotFramework-Emulator / 390345

11 Jun 2024 02:54PM UTC coverage: 61.78% (-5.8%) from 67.547%
390345

Pull #2459

Azure DevOps

web-flow
Merge 365f2af65 into e554dc423
Pull Request #2459: Bumped webpack version from 4.32.2 to 5.91.0

2427 of 4567 branches covered (53.14%)

Branch coverage included in aggregate %.

6368 of 9669 relevant lines covered (65.86%)

22.37 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

14.29
/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorerContainer.ts
1
//
2
// Copyright (c) Microsoft. All rights reserved.
3
// Licensed under the MIT license.
4
//
5
// Microsoft Bot Framework: http://botframework.com
6
//
7
// Bot Framework Emulator Github:
8
// https://github.com/Microsoft/BotFramwork-Emulator
9
//
10
// Copyright (c) Microsoft Corporation
11
// All rights reserved.
12
//
13
// MIT License:
14
// Permission is hereby granted, free of charge, to any person obtaining
15
// a copy of this software and associated documentation files (the
16
// "Software"), to deal in the Software without restriction, including
17
// without limitation the rights to use, copy, modify, merge, publish,
18
// distribute, sublicense, and/or sell copies of the Software, and to
19
// permit persons to whom the Software is furnished to do so, subject to
20
// the following conditions:
21
//
22
// The above copyright notice and this permission notice shall be
23
// included in all copies or substantial portions of the Software.
24
//
25
// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
26
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
29
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
30
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
31
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
//
33

34
import { IConnectedService, ServiceTypes } from 'botframework-config/lib/schema';
35
import { ComponentClass } from 'react';
36
import { connect } from 'react-redux';
37
import {
38
  executeCommand,
39
  openAddServiceContextMenu,
40
  openContextMenuForConnectedService,
41
  openServiceDeepLink,
42
  openSortContextMenu,
43
  ConnectedServicePickerPayload,
44
  ContextMenuCoordinates,
45
  SharedConstants,
46
  CONNECTED_SERVICES_PANEL_ID,
47
} from '@bfemulator/app-shared';
48

49
import { RootState } from '../../../../state/store';
50

51
import { ConnectedServiceEditor } from './connectedServiceEditor/connectedServiceEditor';
52
import { ServicesExplorer, ServicesExplorerProps } from './servicesExplorer';
53

54
const mapStateToProps = (state: RootState): Partial<ServicesExplorerProps> => {
2✔
55
  const { services = [] } = state.bot.activeBot;
×
56
  const { [CONNECTED_SERVICES_PANEL_ID]: sortCriteria } = state.explorer.sortSelectionByPanelId;
×
57
  return {
×
58
    services: services.filter(
59
      service =>
60
        service.type === ServiceTypes.QnA ||
×
61
        service.type === ServiceTypes.Dispatch ||
62
        service.type === ServiceTypes.AppInsights ||
63
        service.type === ServiceTypes.BlobStorage ||
64
        service.type === ServiceTypes.CosmosDB ||
65
        service.type === ServiceTypes.Generic ||
66
        service.type === ServiceTypes.Luis
67
    ),
68
    sortCriteria,
69
    window,
70
  };
71
};
72

73
const mapDispatchToProps = (dispatch): Partial<ServicesExplorerProps> => {
2✔
74
  return {
×
75
    onAnchorClick: (url: string) => {
76
      dispatch(executeCommand(true, SharedConstants.Commands.Electron.OpenExternal, null, url));
×
77
    },
78
    openAddServiceContextMenu: (payload: ConnectedServicePickerPayload, menuCoords?: ContextMenuCoordinates) =>
79
      new Promise(resolve => dispatch(openAddServiceContextMenu(payload, resolve, menuCoords))),
×
80
    openServiceDeepLink: (connectedService: IConnectedService) => dispatch(openServiceDeepLink(connectedService)),
×
81

82
    openContextMenuForService: (
83
      connectedService: IConnectedService,
84
      editorComponent: ComponentClass<ConnectedServiceEditor>
85
    ) => dispatch(openContextMenuForConnectedService(editorComponent, connectedService)),
×
86

87
    openSortContextMenu: (menuCoords?: ContextMenuCoordinates) => dispatch(openSortContextMenu(menuCoords)),
×
88
  };
89
};
90

91
export const ServicesExplorerContainer = connect(mapStateToProps, mapDispatchToProps)(ServicesExplorer);
2✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc