refactor: improve command constants
This commit is contained in:
parent
f83ffac0ce
commit
b0c3a48da6
@ -61,7 +61,7 @@ function Command({
|
|||||||
|
|
||||||
function getTitle() {
|
function getTitle() {
|
||||||
if (_title) return _title;
|
if (_title) return _title;
|
||||||
return `${Command.CommandTypes[commandType]} (${Command.Protocols[protocol]})`;
|
return `${Command.getTypeString(_commandType)} (${Command.getProtocolString(_protocol)})`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setTitle(title) {
|
function setTitle(title) {
|
||||||
@ -84,73 +84,148 @@ function Command({
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Command.Protocols = {
|
Command.PROTOCOLS = {
|
||||||
samsung: "Samsung",
|
SAMSUNG: "samsung",
|
||||||
nec: "NEC",
|
NEC: "nec",
|
||||||
onkyo: "Onkyo",
|
ONKYO: "onkyo",
|
||||||
apple: "Apple",
|
APPLE: "apple",
|
||||||
denon: "Denon",
|
DENON: "denon",
|
||||||
sharp: "Sharp",
|
SHARP: "sharp",
|
||||||
panasonic: "Panasonic",
|
PANASONIC: "panasonic",
|
||||||
kaseikyo: "Kaseikyo",
|
KASEIKYO: "kaseikyo",
|
||||||
jvc: "JVC",
|
JVC: "jvc",
|
||||||
lg: "LG",
|
LG: "lg",
|
||||||
sony: "Sony",
|
SONY: "sony",
|
||||||
rc5: "RC5",
|
RC5: "rc5",
|
||||||
rc6: "RC6",
|
RC6: "rc6",
|
||||||
universal_pulse_distance: "Universal Pulse Distance",
|
UNIVERSAL_PULSE_DISTANCE: "universal_pulse_distance",
|
||||||
universal_pulse_width: "Universal Pulse Width",
|
UNIVERSAL_PULSE_WIDTH: "universal_pulse_width",
|
||||||
universal_pulse_distance_width: "Universal Pulse Distance Width",
|
UNIVERSAL_PULSE_DISTANCE_WIDTH: "universal_pulse_distance_width",
|
||||||
hash: "Hash",
|
HASH: "hash",
|
||||||
pronto: "Pronto",
|
PRONTO: "pronto",
|
||||||
bose_wave: "BoseWave",
|
BOSE_WAVE: "bose_wave",
|
||||||
bang_olufsen: "Bang & Olufsen",
|
BANG_OLUFSEN: "bang_olufsen",
|
||||||
lego: "Lego",
|
LEGO: "lego",
|
||||||
fast: "FAST",
|
FAST: "fast",
|
||||||
whynter: "Whynter",
|
WHYNTER: "whynter",
|
||||||
magiquest: "MagiQuest",
|
MAGIQUEST: "magiquest",
|
||||||
};
|
}
|
||||||
|
|
||||||
Command.CommandTypes = {
|
Command.getProtocolString = (protocol) => {
|
||||||
power: "Power",
|
let mapping = {
|
||||||
input: "Input",
|
[Command.PROTOCOLS.SAMSUNG]: "Samsung",
|
||||||
one: "1",
|
[Command.PROTOCOLS.NEC]: "NEC",
|
||||||
two: "2",
|
[Command.PROTOCOLS.ONKYO]: "Onkyo",
|
||||||
three: "3",
|
[Command.PROTOCOLS.APPLE]: "Apple",
|
||||||
four: "4",
|
[Command.PROTOCOLS.DENON]: "Denon",
|
||||||
five: "5",
|
[Command.PROTOCOLS.SHARP]: "Sharp",
|
||||||
six: "6",
|
[Command.PROTOCOLS.PANASONIC]: "Panasonic",
|
||||||
seven: "7",
|
[Command.PROTOCOLS.KASEIKYO]: "Kaseikyo",
|
||||||
eight: "8",
|
[Command.PROTOCOLS.JVC]: "JVC",
|
||||||
nine: "9",
|
[Command.PROTOCOLS.LG]: "LG",
|
||||||
zero: "0",
|
[Command.PROTOCOLS.SONY]: "Sony",
|
||||||
volume_up: "Volume Up",
|
[Command.PROTOCOLS.RC5]: "RC5",
|
||||||
volume_down: "Volume Down",
|
[Command.PROTOCOLS.RC6]: "RC6",
|
||||||
mute: "Mute",
|
[Command.PROTOCOLS.UNIVERSAL_PULSE_DISTANCE]: "Universal Pulse Distance",
|
||||||
channel_up: "Channel Up",
|
[Command.PROTOCOLS.UNIVERSAL_PULSE_WIDTH]: "Universal Pulse Width",
|
||||||
channel_down: "Channel Down",
|
[Command.PROTOCOLS.UNIVERSAL_PULSE_DISTANCE_WIDTH]: "Universal Pulse Distance Width",
|
||||||
menu: "Menu",
|
[Command.PROTOCOLS.HASH]: "Hash",
|
||||||
home: "Home",
|
[Command.PROTOCOLS.PRONTO]: "Pronto",
|
||||||
settings: "Settings",
|
[Command.PROTOCOLS.BOSE_WAVE]: "BoseWave",
|
||||||
options: "Options",
|
[Command.PROTOCOLS.BANG_OLUFSEN]: "Bang & Olufsen",
|
||||||
up: "Up",
|
[Command.PROTOCOLS.LEGO]: "Lego",
|
||||||
down: "Down",
|
[Command.PROTOCOLS.FAST]: "FAST",
|
||||||
left: "Left",
|
[Command.PROTOCOLS.WHYNTER]: "Whynter",
|
||||||
right: "Right",
|
[Command.PROTOCOLS.MAGIQUEST]: "MagiQuest",
|
||||||
enter: "Enter",
|
}
|
||||||
info: "Info",
|
return mapping[protocol]
|
||||||
return: "Return",
|
}
|
||||||
exit: "Exit",
|
|
||||||
red: "Red",
|
Command.TYPES = {
|
||||||
green: "Green",
|
POWER: "power",
|
||||||
yellow: "Yellow",
|
INPUT: "input",
|
||||||
blue: "Blue",
|
ONE: "one",
|
||||||
rewind: "Rewind",
|
TWO: "two",
|
||||||
play: "Play",
|
THREE: "three",
|
||||||
pause: "Pause",
|
FOUR: "four",
|
||||||
stop: "Stop",
|
FIVE: "five",
|
||||||
forward: "Forward",
|
SIX: "six",
|
||||||
other: "Other",
|
SEVEN: "seven",
|
||||||
};
|
EIGHT: "eight",
|
||||||
|
NINE: "nine",
|
||||||
|
ZERO: "zero",
|
||||||
|
VOLUME_UP: "volume_up",
|
||||||
|
VOLUME_DOWN: "volume_down",
|
||||||
|
MUTE: "mute",
|
||||||
|
CHANNEL_UP: "channel_up",
|
||||||
|
CHANNEL_DOWN: "channel_down",
|
||||||
|
MENU: "menu",
|
||||||
|
HOME: "home",
|
||||||
|
SETTINGS: "settings",
|
||||||
|
OPTIONS: "options",
|
||||||
|
UP: "up",
|
||||||
|
DOWN: "down",
|
||||||
|
LEFT: "left",
|
||||||
|
RIGHT: "right",
|
||||||
|
ENTER: "enter",
|
||||||
|
INFO: "info",
|
||||||
|
RETURN: "return",
|
||||||
|
EXIT: "exit",
|
||||||
|
RED: "red",
|
||||||
|
GREEN: "green",
|
||||||
|
YELLOW: "yellow",
|
||||||
|
BLUE: "blue",
|
||||||
|
REWIND: "rewind",
|
||||||
|
PLAY: "play",
|
||||||
|
PAUSE: "pause",
|
||||||
|
STOP: "stop",
|
||||||
|
FORWARD: "forward",
|
||||||
|
OTHER: "other",
|
||||||
|
}
|
||||||
|
|
||||||
|
Command.getTypeString = (type) => {
|
||||||
|
let mapping = {
|
||||||
|
[Command.TYPES.POWER]: "Power",
|
||||||
|
[Command.TYPES.INPUT]: "Input",
|
||||||
|
[Command.TYPES.ONE]: "1",
|
||||||
|
[Command.TYPES.TWO]: "2",
|
||||||
|
[Command.TYPES.THREE]: "3",
|
||||||
|
[Command.TYPES.FOUR]: "4",
|
||||||
|
[Command.TYPES.FIVE]: "5",
|
||||||
|
[Command.TYPES.SIX]: "6",
|
||||||
|
[Command.TYPES.SEVEN]: "7",
|
||||||
|
[Command.TYPES.EIGHT]: "8",
|
||||||
|
[Command.TYPES.NINE]: "9",
|
||||||
|
[Command.TYPES.ZERO]: "0",
|
||||||
|
[Command.TYPES.VOLUME_UP]: "Volume Up",
|
||||||
|
[Command.TYPES.VOLUME_DOWN]: "Volume Down",
|
||||||
|
[Command.TYPES.MUTE]: "Mute",
|
||||||
|
[Command.TYPES.CHANNEL_UP]: "Channel Up",
|
||||||
|
[Command.TYPES.CHANNEL_DOWN]: "Channel Down",
|
||||||
|
[Command.TYPES.MENU]: "Menu",
|
||||||
|
[Command.TYPES.HOME]: "Home",
|
||||||
|
[Command.TYPES.SETTINGS]: "Settings",
|
||||||
|
[Command.TYPES.OPTIONS]: "Options",
|
||||||
|
[Command.TYPES.UP]: "Up",
|
||||||
|
[Command.TYPES.DOWN]: "Down",
|
||||||
|
[Command.TYPES.LEFT]: "Left",
|
||||||
|
[Command.TYPES.RIGHT]: "Right",
|
||||||
|
[Command.TYPES.ENTER]: "Enter",
|
||||||
|
[Command.TYPES.INFO]: "Info",
|
||||||
|
[Command.TYPES.RETURN]: "Return",
|
||||||
|
[Command.TYPES.EXIT]: "Exit",
|
||||||
|
[Command.TYPES.RED]: "Red",
|
||||||
|
[Command.TYPES.GREEN]: "Green",
|
||||||
|
[Command.TYPES.YELLOW]: "Yellow",
|
||||||
|
[Command.TYPES.BLUE]: "Blue",
|
||||||
|
[Command.TYPES.REWIND]: "Rewind",
|
||||||
|
[Command.TYPES.PLAY]: "Play",
|
||||||
|
[Command.TYPES.PAUSE]: "Pause",
|
||||||
|
[Command.TYPES.STOP]: "Stop",
|
||||||
|
[Command.TYPES.FORWARD]: "Forward",
|
||||||
|
[Command.TYPES.OTHER]: "Other",
|
||||||
|
}
|
||||||
|
return mapping[type]
|
||||||
|
}
|
||||||
|
|
||||||
export default Command;
|
export default Command;
|
||||||
|
|||||||
@ -92,8 +92,10 @@ function CreateCommandModal(props) {
|
|||||||
<option value="" selected>
|
<option value="" selected>
|
||||||
Please select
|
Please select
|
||||||
</option>
|
</option>
|
||||||
{Object.keys(Command.Protocols).map((protocol) => (
|
{Object.values(Command.PROTOCOLS).map((protocol) => (
|
||||||
<option value={protocol}>{Command.Protocols[protocol]}</option>
|
<option value={protocol}>
|
||||||
|
{Command.getProtocolString(protocol)}
|
||||||
|
</option>
|
||||||
))}
|
))}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -139,9 +141,9 @@ function CreateCommandModal(props) {
|
|||||||
<option value="" selected>
|
<option value="" selected>
|
||||||
Please select
|
Please select
|
||||||
</option>
|
</option>
|
||||||
{Object.keys(Command.CommandTypes).map((commandType) => (
|
{Object.values(Command.TYPES).map((commandType) => (
|
||||||
<option value={commandType}>
|
<option value={commandType}>
|
||||||
{Command.CommandTypes[commandType]}
|
{Command.getTypeString(commandType)}
|
||||||
</option>
|
</option>
|
||||||
))}
|
))}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -35,8 +35,14 @@ FieldTitles[COMMAND_TYPE_FIELD] = "Type";
|
|||||||
FieldTitles[TITLE_FIELD] = "Title";
|
FieldTitles[TITLE_FIELD] = "Title";
|
||||||
|
|
||||||
const CommandFieldsRequiringValueMapping = ["protocol", "commandType"];
|
const CommandFieldsRequiringValueMapping = ["protocol", "commandType"];
|
||||||
const commandTypeFuse = new Fuse(Object.values(Command.CommandTypes));
|
const commandTypeFuse = new Fuse(
|
||||||
const protocolsFuse = new Fuse(Object.values(Command.Protocols));
|
Object.values(Command.TYPES).map((type) => Command.getTypeString(type))
|
||||||
|
);
|
||||||
|
const protocolsFuse = new Fuse(
|
||||||
|
Object.values(Command.PROTOCOLS).map((protocol) =>
|
||||||
|
Command.getProtocolString(protocol)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
function ImportCommandsModal(props) {
|
function ImportCommandsModal(props) {
|
||||||
const [csvString, setCsvString] = createSignal("");
|
const [csvString, setCsvString] = createSignal("");
|
||||||
@ -246,7 +252,7 @@ function ImportCommandsModal(props) {
|
|||||||
<option value="" selected>
|
<option value="" selected>
|
||||||
Please select
|
Please select
|
||||||
</option>
|
</option>
|
||||||
{Object.keys(Command.Protocols).map(
|
{Object.values(Command.PROTOCOLS).map(
|
||||||
(protocol) => (
|
(protocol) => (
|
||||||
<option
|
<option
|
||||||
value={protocol}
|
value={protocol}
|
||||||
@ -256,7 +262,7 @@ function ImportCommandsModal(props) {
|
|||||||
] === protocol
|
] === protocol
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{Command.Protocols[protocol]}
|
{Command.getProtocolString(protocol)}
|
||||||
</option>
|
</option>
|
||||||
)
|
)
|
||||||
)}
|
)}
|
||||||
@ -272,7 +278,7 @@ function ImportCommandsModal(props) {
|
|||||||
<option value="" selected>
|
<option value="" selected>
|
||||||
Please select
|
Please select
|
||||||
</option>
|
</option>
|
||||||
{Object.keys(Command.CommandTypes).map(
|
{Object.values(Command.TYPES).map(
|
||||||
(commandType) => (
|
(commandType) => (
|
||||||
<option
|
<option
|
||||||
value={commandType}
|
value={commandType}
|
||||||
@ -282,7 +288,7 @@ function ImportCommandsModal(props) {
|
|||||||
] === commandType
|
] === commandType
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{Command.CommandTypes[commandType]}
|
{Command.getTypeString(commandType)}
|
||||||
</option>
|
</option>
|
||||||
)
|
)
|
||||||
)}
|
)}
|
||||||
@ -318,8 +324,8 @@ function ImportCommandsModal(props) {
|
|||||||
if (!valueMapping[PROTOCOL_FIELD][protocolValue]) {
|
if (!valueMapping[PROTOCOL_FIELD][protocolValue]) {
|
||||||
let result = protocolsFuse.search(protocolValue).shift();
|
let result = protocolsFuse.search(protocolValue).shift();
|
||||||
if (result) {
|
if (result) {
|
||||||
let protocol = Object.keys(Command.Protocols).find(
|
let protocol = Object.values(Command.PROTOCOLS).find(
|
||||||
(protocol) => Command.Protocols[protocol] === result.item
|
(protocol) => Command.getProtocolString(protocol) === result.item
|
||||||
);
|
);
|
||||||
valueMapping[PROTOCOL_FIELD][protocolValue] = protocol;
|
valueMapping[PROTOCOL_FIELD][protocolValue] = protocol;
|
||||||
}
|
}
|
||||||
@ -327,8 +333,9 @@ function ImportCommandsModal(props) {
|
|||||||
if (!valueMapping[COMMAND_TYPE_FIELD][commandTypeValue]) {
|
if (!valueMapping[COMMAND_TYPE_FIELD][commandTypeValue]) {
|
||||||
let result = commandTypeFuse.search(commandTypeValue).shift();
|
let result = commandTypeFuse.search(commandTypeValue).shift();
|
||||||
if (result) {
|
if (result) {
|
||||||
let commandType = Object.keys(Command.CommandTypes).find(
|
let commandType = Object.values(Command.TYPES).find(
|
||||||
(commandType) => Command.CommandTypes[commandType] === result.item
|
(commandType) =>
|
||||||
|
Command.getTypeString(commandType) === result.item
|
||||||
);
|
);
|
||||||
valueMapping[COMMAND_TYPE_FIELD][commandTypeValue] = commandType;
|
valueMapping[COMMAND_TYPE_FIELD][commandTypeValue] = commandType;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user