mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
74 lines
1.9 KiB
TypeScript
74 lines
1.9 KiB
TypeScript
import React from 'react';
|
|
import {BaseSettingsControl} from './BaseSettingsControl';
|
|
import {Label, Link, Stack, PrimaryButton, Text } from 'office-ui-fabric-react';
|
|
|
|
export class CustomActionSettingsControl extends BaseSettingsControl {
|
|
colorpickerref:any = null;
|
|
|
|
constructor(props:any) {
|
|
super(props);
|
|
this.colorpickerref = null;
|
|
this.state={
|
|
property_values: props.setting,
|
|
name: props.action_name
|
|
}
|
|
}
|
|
|
|
componentWillReceiveProps(props: any) {
|
|
this.setState({
|
|
property_values: props.setting,
|
|
name:props.action_name
|
|
});
|
|
}
|
|
|
|
public get_value() : any {
|
|
return {value: this.state.property_values.value};
|
|
}
|
|
|
|
public render(): JSX.Element {
|
|
return (
|
|
<Stack>
|
|
{
|
|
this.state.property_values.display_name ?
|
|
<Label>{this.state.property_values.display_name}</Label>
|
|
: null
|
|
}
|
|
<Stack horizontal tokens={{childrenGap:5}}>
|
|
{
|
|
this.state.property_values.value ?
|
|
<Text styles ={{
|
|
root: {
|
|
paddingBottom: '0.5em'
|
|
}
|
|
}}>{this.state.property_values.value}</Text>
|
|
: <span/>
|
|
}
|
|
{
|
|
this.state.property_values.help_link_url && this.state.property_values.help_link_text ?
|
|
<Link
|
|
styles = {{
|
|
root: {
|
|
alignSelf:'center',
|
|
paddingBottom: '0.5em'
|
|
}
|
|
}}
|
|
href={ this.state.property_values.help_link_url }
|
|
target='_blank'
|
|
>{ this.state.property_values.help_link_text }</Link>
|
|
: <span/>
|
|
}
|
|
</Stack>
|
|
<PrimaryButton
|
|
styles={{
|
|
root: {
|
|
alignSelf: 'start'
|
|
}
|
|
}}
|
|
text={this.state.property_values.button_text}
|
|
onClick={()=>this.props.action_callback(this.state.name, this.state.property_values)}
|
|
/>
|
|
</Stack>
|
|
);
|
|
}
|
|
}
|