Project: Kui (App Definition and Development / Application Definition & Image Build)
File: kui_shell_plugin_client_common.Kui.md

/ / Kui .Kui Render the main body of our client. |Notes on Session Initialization|: to provide custom views for session initialization (only relevant for browser-based hosted Kui), you can instantiate <Kui/> with these properties (defined in KuiConfiguration), show here with some sample views: <Kui loading={<div className="kui--hero-text">Hold on...</div>} reinit={<div className="kui--hero-text">Connection broken...</div>} loadingError={err => <div className="kui--hero-text">{err.toString()}</div>} loadingDone={<div>Welcome to Kui</div>} /> `PureComponent`<, `State`\> `Kui` new Kui(`props`) | Name | Type | | : | : | | `props` | | React.PureComponent&lt;Props, State\&gt;.constructor `Private` `Readonly` \_onTabReady: `any` context: `any` If using the new style context, re-declare this in your class to be the `React.ContextType` of your `static contextType`. Should be used with type annotation or static contextType. ```ts static contextType = MyContext // For TS pre-3.7: context!: React.ContextType<typeof MyContext> // For TS 3.7 and above: declare context: React.ContextType<typeof MyContext> ``` `see` https://reactjs.org/docs/context.html React.PureComponent.context node_modules/@types/react/index.d.ts:479 `Private` firstTab: `boolean` = `true` `Readonly` props: `Readonly`<\> & `Readonly`<{ `children?`: `ReactNode` }\> React.PureComponent.props node_modules/@types/react/index.d.ts:504 refs: `Object` `deprecated` https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs React.PureComponent.refs node_modules/@types/react/index.d.ts:510 state: `Readonly`<`State`\> React.PureComponent.state node_modules/@types/react/index.d.ts:505 `Static` `Optional` contextType: `Context`<`any`\> If set, `this.context` will be set at runtime to the current value of the given Context. Usage: ```ts type MyContext = number const Ctx = React.createContext<MyContext>(0) class Foo extends React.Component { static contextType = Ctx context!: React.ContextType<typeof Ctx> render() { return <>My context's value: {this.context}</> } } ``` `see` https://reactjs.org/docs/context.html#classcontexttype React.PureComponent.contextType node_modules/@types/react/index.d.ts:461 `Optional` UNSAFE_componentWillMount(): `void` Called immediately before mounting occurs, and before `Component#render`. Avoid introducing any side-effects or subscriptions in this method. This method will not stop working in React 17. Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked. `deprecated` 16.3, use componentDidMount or the constructor instead `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path `void` React.PureComponent.UNSAFE_componentWillMount node_modules/@types/react/index.d.ts:717 `Optional` UNSAFE_componentWillReceiveProps(`nextProps`, `nextContext`): `void` Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes. Calling `Component#setState` generally does not trigger this method. This method will not stop working in React 17. Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked. `deprecated` 16.3, use static getDerivedStateFromProps instead `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path | Name | Type | | : | :- | | `nextProps` | `Readonly`<\> | | `nextContext` | `any` | `void` React.PureComponent.UNSAFE_componentWillReceiveProps node_modules/@types/react/index.d.ts:749 `Optional` UNSAFE_componentWillUpdate(`nextProps`, `nextState`, `nextContext`): `void` Called immediately before rendering when new props or state is received. Not called for the initial render. Note: You cannot call `Component#setState` here. This method will not stop working in React 17. Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked. `deprecated`

use getSnapshotBeforeUpdate instead `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path | Name | Type | | : | :- | | `nextProps` | `Readonly`<\> | | `nextState` | `Readonly`<`State`\> | | `nextContext` | `any` | `void` React.PureComponent.UNSAFE_componentWillUpdate node_modules/@types/react/index.d.ts:777 componentDidCatch(`error`, `errorInfo`): `void` | Name | Type | | :- | :- | | `error` | `Error` | | `errorInfo` | `ErrorInfo` | `void` React.PureComponent.componentDidCatch `Optional` componentDidMount(): `void` Called immediately after a component is mounted. Setting state here will trigger re-rendering. `void` React.PureComponent.componentDidMount node_modules/@types/react/index.d.ts:625 `Optional` componentDidUpdate(`prevProps`, `prevState`, `snapshot?`): `void` Called immediately after updating occurs. Not called for the initial render. The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null. | Name | Type | | :- | :- | | `prevProps` | `Readonly`<\> | | `prevState` | `Readonly`<`State`\> | | `snapshot?` | `any` | `void` React.PureComponent.componentDidUpdate node_modules/@types/react/index.d.ts:688 `Optional` componentWillMount(): `void` Called immediately before mounting occurs, and before `Component#render`. Avoid introducing any side-effects or subscriptions in this method. Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked. `deprecated` 16.3, use componentDidMount or the constructor instead; will stop working in React 17 `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path `void` React.PureComponent.componentWillMount node_modules/@types/react/index.d.ts:703 `Optional` componentWillReceiveProps(`nextProps`, `nextContext`): `void` Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes. Calling `Component#setState` generally does not trigger this method. Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked. `deprecated` 16.3, use static getDerivedStateFromProps instead; will stop working in React 17 `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path | Name | Type | | : | :- | | `nextProps` | `Readonly`<\> | | `nextContext` | `any` | `void` React.PureComponent.componentWillReceiveProps node_modules/@types/react/index.d.ts:732 `Optional` componentWillUnmount(): `void` Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`. `void` React.PureComponent.componentWillUnmount node_modules/@types/react/index.d.ts:641 `Optional` componentWillUpdate(`nextProps`, `nextState`, `nextContext`): `void` Called immediately before rendering when new props or state is received. Not called for the initial render. Note: You cannot call `Component#setState` here. Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked. `deprecated` 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17 `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update `see` https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path | Name | Type | | : | :- | | `nextProps` | `Readonly`<\> | | `nextState` | `Readonly`<`State`\> | | `nextContext` | `any` | `void` React.PureComponent.componentWillUpdate

`Private` defaultFeatureFlag(): `Object` `Object` | Name | Type | | : | :- | | `showWelcomeMax` | `number` | | `sidecarName` | `string` | `Private` defaultLoading(): `Element` `Element` `Private` defaultLoadingDone(): (`repl`: `default`) => `Element` `fn` (`repl`): `Element` | Name | Type | | :-- | :-- | | `repl` | `default` | `Element` `Private` defaultLoadingError(): (`err`: `any`) => `Element` `fn` (`err`): `Element` | Name | Type | | :- | :- | | `err` | `any` | `Element` `Private` defaultReinit(): `Element` `Element` `Private` defaultSessionBehavior(): `KuiConfiguration` For browser-based clients, this defines the default UI for session initialization. `KuiConfiguration` forceUpdate(`callback?`): `void` | Name | Type | | :- | :-- | | `callback?` | () => `void` | `void` React.PureComponent.forceUpdate node_modules/@types/react/index.d.ts:496 `Optional` getSnapshotBeforeUpdate(`prevProps`, `prevState`): `any` Runs before React applies the result of `render` to the document, and returns an object to be given to componentDidUpdate. Useful for saving things such as scroll position before `render` causes changes to it. Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running. | Name | Type | | :- | :- | | `prevProps` | `Readonly`<\> | | `prevState` | `Readonly`<`State`\> | `any` React.PureComponent.getSnapshotBeforeUpdate node_modules/@types/react/index.d.ts:682 `Private` onTabReady(): `void` `void` `Private` onThemeChange(`namedParameters`): `void` | Name | Type | | :-- | :- | | `namedParameters` | `Object` | | `namedParameters.themeModel` | `Theme` | `void` render(): `Element` `Element` React.PureComponent.render setState<`K`\>(`state`, `callback?`): `void` | Name | Type | | : | :- | | `K` | extends keyof `ThemeProperties` \| keyof `InputProps` \| keyof `SessionProps` \| keyof `BrandingProps` \| keyof `FeatureFlags` \| `"fortesting_"` \| `"userOverrides"` \| `"isBootstrapped"` \| `"commandLine"` \| `"quietExecCommand"` | | Name | Type | | :- | :-- | | `state` | `State` \| (`prevState`: `Readonly`<`State`\>, `props`: `Readonly`<\>) => `State` \| `Pick`<`State`, `K`\> \| `Pick`<`State`, `K`\> | | `callback?` | () => `void` | `void` React.PureComponent.setState node_modules/@types/react/index.d.ts:491 `Optional` shouldComponentUpdate(`nextProps`, `nextState`, `nextContext`): `boolean` Called to determine whether the change in props and state should trigger a re-render. `Component` always returns true. `PureComponent` implements a shallow comparison on props and state and returns true if any props or states have changed. If false is returned, `Component#render`, `componentWillUpdate` and `componentDidUpdate` will not be called. | Name | Type | | : | :- | | `nextProps` | `Readonly`<\> | | `nextState` | `Readonly`<`State`\> | | `nextContext` | `any` | `boolean` React.PureComponent.shouldComponentUpdate node_modules/@types/react/index.d.ts:636 `Private` statusStripeProps(): `Props` Props to pass to StatusStripe. This allows us to set the desired status stripe color at startup time, rather than seeing the default color, followed quickly by a change to the color desired by the controller backing the given `props.commandLine`. The controller may still want to specialize the status stripe further, but at least we can avoid that odd e.g. defaultColor-then-blue effect. `Props`