Merge pull request #1538 from virtuacoplenny/lenny/device-selection-disabled
fix(device-selection): do not create a dropdown menu if disabled
This commit is contained in:
commit
6c676f8d5f
|
@ -36,6 +36,12 @@
|
||||||
background-color: rgba(9,30,66,.08);
|
background-color: rgba(9,30,66,.08);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.device-selector-trigger-disabled {
|
||||||
|
.device-selector-trigger {
|
||||||
|
color: #a5adba;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.device-selector-trigger-text {
|
.device-selector-trigger-text {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
|
@ -149,7 +149,6 @@
|
||||||
"selectAudioOutput": "Audio output",
|
"selectAudioOutput": "Audio output",
|
||||||
"followMe": "Everyone follows me",
|
"followMe": "Everyone follows me",
|
||||||
"noDevice": "None",
|
"noDevice": "None",
|
||||||
"noPermission": "Permission to use device is not granted",
|
|
||||||
"cameraAndMic": "Camera and microphone",
|
"cameraAndMic": "Camera and microphone",
|
||||||
"moderator": "MODERATOR",
|
"moderator": "MODERATOR",
|
||||||
"password": "SET PASSWORD",
|
"password": "SET PASSWORD",
|
||||||
|
@ -423,7 +422,7 @@
|
||||||
"deviceSelection": {
|
"deviceSelection": {
|
||||||
"currentlyVideoMuted": "Video is currently muted",
|
"currentlyVideoMuted": "Video is currently muted",
|
||||||
"deviceSettings": "Device settings",
|
"deviceSettings": "Device settings",
|
||||||
"noOtherDevices": "No other devices available",
|
"noPermission": "Permission not granted",
|
||||||
"selectADevice": "Select a device",
|
"selectADevice": "Select a device",
|
||||||
"testAudio": "Test sound"
|
"testAudio": "Test sound"
|
||||||
},
|
},
|
||||||
|
|
|
@ -138,13 +138,15 @@ class DeviceSelector extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a AKDropdownMenu Component using passed in props and options.
|
* Creates a AKDropdownMenu Component using passed in props and options. If
|
||||||
|
* the dropdown needs to be disabled, then only the AKDropdownMenu trigger
|
||||||
|
* element is returned to simulate a disabled state.
|
||||||
*
|
*
|
||||||
* @param {Object} options - Additional configuration for display.
|
* @param {Object} options - Additional configuration for display.
|
||||||
* @param {Object} options.defaultSelected - The option that should be set
|
* @param {Object} options.defaultSelected - The option that should be set
|
||||||
* as currently chosen.
|
* as currently chosen.
|
||||||
* @param {boolean} options.isDisabled - If true, AKDropdownMenu will not
|
* @param {boolean} options.isDisabled - If true, only the AKDropdownMenu
|
||||||
* open on click.
|
* trigger component will be returned to simulate a disabled dropdown.
|
||||||
* @param {Array} options.items - All the selectable options to display.
|
* @param {Array} options.items - All the selectable options to display.
|
||||||
* @param {string} options.placeholder - The translation key to display when
|
* @param {string} options.placeholder - The translation key to display when
|
||||||
* no selection has been made.
|
* no selection has been made.
|
||||||
|
@ -155,16 +157,22 @@ class DeviceSelector extends Component {
|
||||||
const triggerText
|
const triggerText
|
||||||
= (options.defaultSelected && options.defaultSelected.content)
|
= (options.defaultSelected && options.defaultSelected.content)
|
||||||
|| options.placeholder;
|
|| options.placeholder;
|
||||||
|
const trigger = this._createDropdownTrigger(triggerText);
|
||||||
|
|
||||||
|
if (options.isDisabled) {
|
||||||
|
return (
|
||||||
|
<div className = 'device-selector-trigger-disabled'>
|
||||||
|
{ trigger }
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<AKDropdownMenu
|
<AKDropdownMenu
|
||||||
{ ...(options.isDisabled && { isOpen: !options.isDisabled }) }
|
|
||||||
items = { [ { items: options.items || [] } ] }
|
items = { [ { items: options.items || [] } ] }
|
||||||
noMatchesFound
|
|
||||||
= { this.props.t('deviceSelection.noOtherDevices') }
|
|
||||||
onItemActivated = { this._onSelect }
|
onItemActivated = { this._onSelect }
|
||||||
shouldFitContainer = { true }>
|
shouldFitContainer = { true }>
|
||||||
{ this._createDropdownTrigger(triggerText) }
|
{ trigger }
|
||||||
</AKDropdownMenu>
|
</AKDropdownMenu>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -208,7 +216,7 @@ class DeviceSelector extends Component {
|
||||||
_renderNoPermission() {
|
_renderNoPermission() {
|
||||||
return this._createDropdown({
|
return this._createDropdown({
|
||||||
isDisabled: true,
|
isDisabled: true,
|
||||||
placeholder: this.props.t('settings.noPermission')
|
placeholder: this.props.t('deviceSelection.noPermission')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue