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

Microsoft / BotFramework-Emulator / 389595

23 May 2024 02:16AM UTC coverage: 45.975% (-21.6%) from 67.547%
389595

Pull #2459

Azure DevOps

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

1815 of 4567 branches covered (39.74%)

Branch coverage included in aggregate %.

4730 of 9669 relevant lines covered (48.92%)

2.9 hits per line

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

0.0
/packages/app/client/src/ui/shell/appMenu/appMenuContainer.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 { connect } from 'react-redux';
35
import { executeCommand, rememberTheme, SharedConstants } from '@bfemulator/app-shared';
36

37
import { RootState } from '../../../state';
38

39
import { AppMenu, AppMenuProps } from './appMenu';
40

41
const {
42
  Commands: {
43
    Azure: { SignUserOutOfAzure },
44
    Bot,
45
    Electron: { CheckForUpdates, QuitAndInstall },
46
    UI: { InvalidateAzureArmToken, SignInToAzure },
47
  },
48
} = SharedConstants;
×
49

50
function mapStateToProps(state: RootState): AppMenuProps {
51
  const { activeEditor, editors } = state.editor;
×
52
  const { activeDocumentId } = editors[activeEditor];
×
53
  const activeDocument = editors[activeEditor].documents[activeDocumentId] || { contentType: undefined };
×
54

55
  return {
×
56
    activeBot: state.bot.activeBot,
57
    activeDocumentType: activeDocument.contentType,
58
    appUpdateStatus: state.update.status,
59
    availableThemes: state.settings.windowState.availableThemes,
60
    currentTheme: state.settings.windowState.theme,
61
    recentBots: state.bot.botFiles,
62
    signedInUser: state.settings.azure.signedInUser,
63
  };
64
}
65

66
function mapDispatchToProps(dispatch): AppMenuProps {
67
  return {
×
68
    checkForUpdates: () =>
69
      new Promise(resolve => {
×
70
        dispatch(executeCommand(true, CheckForUpdates, resolve));
×
71
      }),
72
    invalidateAzureArmToken: () =>
73
      new Promise(resolve => {
×
74
        dispatch(executeCommand(false, InvalidateAzureArmToken, resolve));
×
75
      }),
76
    openBot: (path: string) => {
77
      dispatch(executeCommand(false, Bot.Switch, null, path));
×
78
    },
79
    signUserIn: () =>
80
      new Promise(resolve => {
×
81
        dispatch(executeCommand(false, SignInToAzure, resolve));
×
82
      }),
83
    signUserOut: () =>
84
      new Promise(resolve => {
×
85
        dispatch(executeCommand(true, SignUserOutOfAzure, resolve));
×
86
      }),
87
    switchTheme: (themeName: string) => {
88
      dispatch(rememberTheme(themeName));
×
89
    },
90
    quitAndInstall: () => {
91
      dispatch(executeCommand(true, QuitAndInstall, null));
×
92
    },
93
  };
94
}
95

96
export const AppMenuContainer = connect(mapStateToProps, mapDispatchToProps)(AppMenu);
×
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