-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathnestedActions.ts
More file actions
103 lines (92 loc) · 3.13 KB
/
Copy pathnestedActions.ts
File metadata and controls
103 lines (92 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import { defineAction } from '../../../../../lib';
const setProfileAction = defineAction({
id: 'set-profile',
title: 'Set profile',
subtitle: 'Select this and then choose one of the options',
shortcut: 'p s',
});
const setToPersonalProfileAction = defineAction({
id: 'set-personal-profile',
parentActionId: setProfileAction.id,
title: 'Set to Personal profile',
shortcut: 'p p',
run: ({ rootContext }) => {
if (typeof rootContext.setProfile === 'function') {
rootContext.setProfile('personal');
}
},
});
const setToWorkProfileAction = defineAction({
id: 'set-work-profile',
parentActionId: setProfileAction.id,
title: 'Set to Work profile',
shortcut: 'p w',
run: ({ rootContext }) => {
if (typeof rootContext.setProfile === 'function') {
rootContext.setProfile('work');
}
},
});
const configureProfileAction = defineAction({
id: 'configure-profile',
title: 'Configure profile',
subtitle: 'Select this to try 2 levels of nested actions',
});
const configurePersonalProfileAction = defineAction({
id: 'configure-personal-profile',
parentActionId: configureProfileAction.id,
title: 'Configure Personal profile',
});
const toggleWifiPersonalAction = defineAction({
id: 'toggle-wifi-personal',
parentActionId: configurePersonalProfileAction.id,
title: 'Toggle Wi-Fi',
subtitle: 'Configure Wi-Fi settings in Personal profile',
run: () => {
alert('Wifi in Personal profile has been toggled!');
},
});
const toggleAirplanePersonalAction = defineAction({
id: 'toggle-airplane-personal',
parentActionId: configurePersonalProfileAction.id,
title: 'Toggle Airplane mode',
subtitle: 'Configure Airplane mode settings in Personal profile',
run: () => {
alert('Airplane mode in Personal profile has been toggled!');
},
});
const configureWorkProfileAction = defineAction({
id: 'configure-work-profile',
parentActionId: configureProfileAction.id,
title: 'Configure Work profile',
});
const toggleWifiWorkAction = defineAction({
id: 'toggle-wifi-work',
parentActionId: configureWorkProfileAction.id,
title: 'Toggle Wi-Fi',
subtitle: 'Configure Wi-Fi settings in Work profile',
run: () => {
alert('Wifi in Work profile has been toggled!');
},
});
const toggleAirplaneWorkAction = defineAction({
id: 'toggle-airplane-work',
parentActionId: configureWorkProfileAction.id,
title: 'Toggle Airplane mode',
subtitle: 'Configure Airplane mode settings in Work profile',
run: () => {
alert('Airplane mode in Work profile has been toggled!');
},
});
export const nestedActionsConfig = {
[setProfileAction.id]: setProfileAction,
[setToPersonalProfileAction.id]: setToPersonalProfileAction,
[setToWorkProfileAction.id]: setToWorkProfileAction,
[configureProfileAction.id]: configureProfileAction,
[configurePersonalProfileAction.id]: configurePersonalProfileAction,
[toggleWifiPersonalAction.id]: toggleWifiPersonalAction,
[toggleAirplanePersonalAction.id]: toggleAirplanePersonalAction,
[configureWorkProfileAction.id]: configureWorkProfileAction,
[toggleWifiWorkAction.id]: toggleWifiWorkAction,
[toggleAirplaneWorkAction.id]: toggleAirplaneWorkAction,
};