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

Microsoft / BotFramework-Emulator / 389488

22 May 2024 05:28PM UTC coverage: 45.955% (-21.6%) from 67.551%
389488

Pull #2459

Azure DevOps

web-flow
Merge 316c951db into 012a66410
Pull Request #2459: Bumped webpack version from 4.32.2 to 5.91.0

1811 of 4558 branches covered (39.73%)

Branch coverage included in aggregate %.

4722 of 9658 relevant lines covered (48.89%)

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/explorer/botNotOpenExplorer/botNotOpenExplorer.tsx
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 { ExpandCollapse, ExpandCollapseContent, LinkButton } from '@bfemulator/ui-react';
35
import * as React from 'react';
36

37
import * as styles from './botNotOpenExplorer.scss';
38

39
export interface BotNotOpenExplorerProps {
40
  hasChat?: boolean;
41
  role?: string;
42
  openBotFile?: () => Promise<any>;
43
  showCreateNewBotDialog?: () => void;
44
  elementRefHandler?: (ref: HTMLElement) => void;
45
}
46

47
export class BotNotOpenExplorer extends React.Component<BotNotOpenExplorerProps, Record<string, unknown>> {
48
  private createNewBotButtonRef: HTMLButtonElement;
49

50
  public render() {
51
    const label = 'Services Not Available';
×
52
    return (
×
53
      <ul className={styles.botNotOpenExplorer}>
54
        <li>
55
          <ExpandCollapse
56
            expanded={true}
57
            ariaLabel={label}
58
            title={label}
59
            elementRefHandler={this.props.elementRefHandler}
60
            role={this.props.role}
61
          >
62
            <ExpandCollapseContent>
63
              <div aria-live="polite" className={styles.explorerEmptyState}>
64
                {`To connect the Emulator services, `}
65
                <LinkButton className={styles.explorerLink} onClick={this.onOpenBotFileClick}>
66
                  open a .bot file
67
                </LinkButton>
68
                {` or `}
69
                <LinkButton
70
                  buttonRef={this.setCreateNewBotButtonRef}
71
                  className={styles.explorerLink}
72
                  onClick={this.onCreateNewBotClick}
73
                >
74
                  create a new bot configuration
75
                </LinkButton>
76
                .
77
              </div>
78
            </ExpandCollapseContent>
79
          </ExpandCollapse>
80
        </li>
81
      </ul>
82
    );
83
  }
84

85
  private onCreateNewBotClick = async () => {
×
86
    await this.props.showCreateNewBotDialog();
×
87

88
    this.createNewBotButtonRef.focus();
×
89
  };
90

91
  private onOpenBotFileClick = async () => {
×
92
    await this.props.openBotFile();
×
93
  };
94

95
  private setCreateNewBotButtonRef = (ref: HTMLButtonElement): void => {
×
96
    this.createNewBotButtonRef = ref;
×
97
  };
98
}
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