-
Notifications
You must be signed in to change notification settings - Fork 152
/
actions.js
85 lines (65 loc) · 2.64 KB
/
actions.js
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
/* @flow weak */
import { createAction } from 'redux-actions'
export const TAB_DISSOLVE_GROUP = 'TAB_DISSOLVE_GROUP'
export const TAB_CREATE = 'TAB_CREATE'
export const createTab = createAction(TAB_CREATE, tab => tab)
export const TAB_CREATE_IN_GROUP = 'TAB_CREATE_IN_GROUP'
export const createTabInGroup = createAction(TAB_CREATE_IN_GROUP, (groupId, tab) => ({groupId, tab}))
export const TAB_REMOVE = 'TAB_REMOVE'
export const removeTab = createAction(TAB_REMOVE, tabId => tabId)
export const TAB_REMOVE_OTHER = 'TAB_REMOVE_OTHER'
export const removeOtherTab = createAction(TAB_REMOVE_OTHER, tabId => tabId)
export const TAB_REMOVE_ALL = 'TAB_REMOVE_ALL'
export const removeAllTab = createAction(TAB_REMOVE_ALL, tabId => tabId)
export const TAB_ACTIVATE = 'TAB_ACTIVATE'
export const activateTab = createAction(TAB_ACTIVATE, tabId => tabId)
export const TAB_CREATE_GROUP = 'TAB_CREATE_GROUP'
export const createGroup = createAction(TAB_CREATE_GROUP,
(groupId, defaultContentType) => ({groupId, defaultContentType})
)
export const TAB_REMOVE_GROUP = 'TAB_REMOVE_GROUP'
export const removeGroup = createAction(TAB_REMOVE_GROUP, groupId => groupId)
export const TAB_UPDATE = 'TAB_UPDATE'
export const updateTab = createAction(TAB_UPDATE, (tabConfig = {}) => tabConfig)
export const TAB_UPDATE_BY_PATH = 'TAB_UPDATE_BY_PATH'
export const updateTabByPath = createAction(TAB_UPDATE_BY_PATH, (tabConfig = {}) => tabConfig)
export const TAB_UPDATE_FLAGS = 'TAB_UPDATE_FLAGS'
export const updateTabFlags = (tabId, flag, value = true) => {
if (!tabId) return
var payload = { tabId }
if (typeof flag === 'string') {
payload.flags = {[flag]: value}
} else if (typeof flag === 'object') {
payload.flags = flag
} else {
return
}
return {
type: TAB_UPDATE_FLAGS,
payload
}
}
export const TAB_MOVE_TO_GROUP = 'TAB_MOVE_TO_GROUP'
export const moveTabToGroup = createAction(TAB_MOVE_TO_GROUP,
(tabId, groupId) => ({tabId, groupId})
)
export const TAB_MOVE_TO_PANE = 'TAB_MOVE_TO_PANE'
export const moveTabToPane = createAction(TAB_MOVE_TO_PANE,
(tabId, paneId) => ({tabId, paneId})
)
export const TAB_INSERT_AT = 'TAB_INSERT_AT'
export const insertTabAt = createAction(TAB_INSERT_AT,
(tabId, beforeTabId) => ({tabId, beforeTabId})
)
export const TAB_CONTEXT_MENU_OPEN = 'TAB_CONTEXT_MENU_OPEN'
export const openContextMenu = createAction(TAB_CONTEXT_MENU_OPEN, (e, node) => {
e.stopPropagation()
e.preventDefault()
return {
isActive: true,
pos: { x: e.clientX, y: e.clientY },
contextNode: node,
}
})
export const TAB_CONTEXT_MENU_CLOSE = 'TAB_CONTEXT_MENU_CLOSE'
export const closeContextMenu = createAction(TAB_CONTEXT_MENU_CLOSE)