Fleet UI: Autofocus forms (#9180)

This commit is contained in:
RachelElysia
2023-01-06 09:25:00 -05:00
committed by GitHub
parent f9f1a94b48
commit 9a5789459e
14 changed files with 23 additions and 2 deletions
+1
View File
@@ -0,0 +1 @@
- Autofocus first entry of all forms for better UX
@@ -12,6 +12,7 @@ import "./mode";
import "./theme";
export interface IFleetAceProps {
focus?: boolean;
error?: string | null;
fontSize?: number;
label?: string;
@@ -33,6 +34,7 @@ export interface IFleetAceProps {
const baseClass = "fleet-ace";
const FleetAce = ({
focus,
error,
fontSize = 14,
label,
@@ -131,6 +133,7 @@ const FleetAce = ({
width="100%"
wrapEnabled={wrapEnabled}
style={style}
focus={focus}
commands={[
{
name: "commandName",
@@ -33,6 +33,7 @@ class Dropdown extends Component {
wrapperClassName: PropTypes.string,
parseTarget: PropTypes.bool,
tooltip: PropTypes.string,
autoFocus: PropTypes.bool,
};
static defaultProps = {
@@ -47,6 +48,7 @@ class Dropdown extends Component {
placeholder: "Select one...", // if value undefined
parseTarget: false,
tooltip: "",
autoFocus: false,
};
onMenuOpen = () => {
@@ -122,6 +124,7 @@ class Dropdown extends Component {
value,
wrapperClassName,
searchable,
autoFocus,
} = this.props;
const formFieldProps = pick(this.props, [
@@ -155,6 +158,7 @@ class Dropdown extends Component {
value={value}
onOpen={onMenuOpen}
onClose={onMenuClose}
autoFocus={autoFocus}
/>
</FormField>
);
@@ -91,6 +91,7 @@ const EditPackForm = ({
name="name"
error={errors.name}
inputWrapperClass={`${baseClass}__pack-title`}
autofocus
/>
<InputField
onChange={onChangePackDescription}
@@ -217,6 +217,7 @@ const LabelForm = ({
hint={aceHintText}
handleSubmit={noop}
wrapEnabled
focus
/>
)}
@@ -52,6 +52,7 @@ const AddMemberModal = ({
placeholder={"Search users by name"}
disabledOptions={disabledMembers}
value={selectedMembers}
autoFocus
/>
<p>
User not here?&nbsp;
@@ -26,6 +26,7 @@ interface IAutocompleteDropdownProps {
disabledOptions: number[];
disabled?: boolean;
className?: string;
autoFocus?: boolean;
}
const debounceOptions = {
@@ -57,6 +58,7 @@ const AutocompleteDropdown = ({
className,
disabled,
disabledOptions,
autoFocus,
placeholder,
onChange,
id,
@@ -125,6 +127,7 @@ const AutocompleteDropdown = ({
filterOptions={filterOptions}
multi
searchable
autoFocus={autoFocus}
/>
</div>
);
@@ -76,6 +76,7 @@ const TransferHostModal = ({
onChange={onChangeSelectTeam}
placeholder={"Select a team"}
searchable={false}
autoFocus
/>
{isGlobalAdmin ? (
<p>
@@ -197,6 +197,7 @@ const PackQueryEditorModal = ({
placeholder={"Select query"}
value={selectedQuery?.id}
wrapperClassName={`${baseClass}__select-query-dropdown-wrapper`}
autoFocus
/>
)}
<InputField
@@ -117,6 +117,7 @@ const NewPolicyModal = ({
inputClassName={`${baseClass}__policy-save-modal-name`}
label="Name"
placeholder="What yes or no question does your policy ask about your devices?"
autofocus
/>
<InputField
name="description"
@@ -484,7 +484,7 @@ const PolicyForm = ({
<FleetAce
value={lastEditedQueryBody}
error={errors.query}
label="Query:"
label="Query"
labelActionComponent={renderLabelComponent()}
name="query editor"
onLoad={onLoad}
@@ -492,6 +492,7 @@ const PolicyForm = ({
onChange={onChangePolicy}
handleSubmit={promptSavePolicy}
wrapEnabled
focus={!isEditMode}
/>
<span className={`${baseClass}__platform-compatibility`}>
{renderPlatformCompatibility()}
@@ -90,6 +90,7 @@ const NewQueryModal = ({
inputClassName={`${baseClass}__query-save-modal-name`}
label="Name"
placeholder="What is your query called?"
autofocus
/>
<InputField
name="description"
@@ -451,7 +451,7 @@ const QueryForm = ({
<FleetAce
value={lastEditedQueryBody}
error={errors.query}
label="Query:"
label="Query"
labelActionComponent={renderLabelComponent()}
name="query editor"
onLoad={onLoad}
@@ -459,6 +459,7 @@ const QueryForm = ({
onChange={onChangeQuery}
handleSubmit={promptSaveQuery}
wrapEnabled
focus={!isEditMode}
/>
<span className={`${baseClass}__platform-compatibility`}>
{renderPlatformCompatibility()}
@@ -240,6 +240,7 @@ const ScheduleEditorModal = ({
placeholder={"Select query"}
value={selectedQuery?.id}
wrapperClassName={`${baseClass}__select-query-dropdown-wrapper`}
autoFocus
/>
)}
<Dropdown