easy-file-system 1.5.6 → 1.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +2476 -1320
- package/lib/button/name.js +35 -1
- package/lib/constants.js +13 -4
- package/lib/div/item/entry/directoryName.js +19 -10
- package/lib/div/item/entry/fileName.js +17 -9
- package/lib/div/item/entry.js +8 -1
- package/lib/eventTypes.js +7 -2
- package/lib/example/view/button/editSelected.js +157 -0
- package/lib/example/view/explorer/first.js +158 -0
- package/lib/example/view/explorer/second.js +160 -0
- package/lib/example/view/rubbishBin.js +111 -0
- package/lib/example/view.js +71 -45
- package/lib/explorer.js +3 -78
- package/lib/index.js +7 -3
- package/lib/input/name.js +300 -0
- package/lib/item/entry/drag/directoryName.js +8 -6
- package/lib/item/entry/drag/fileName.js +10 -8
- package/lib/item/entry/drag.js +57 -15
- package/lib/keyCodes.js +22 -0
- package/lib/list/entries.js +16 -2
- package/lib/mixins/event.js +99 -0
- package/lib/styles.js +1 -5
- package/package.json +1 -1
- package/src/button/name.js +34 -0
- package/src/constants.js +1 -0
- package/src/div/item/entry/directoryName.js +23 -16
- package/src/div/item/entry/fileName.js +20 -14
- package/src/div/item/entry.js +7 -0
- package/src/eventTypes.js +3 -1
- package/src/example/view/button/editSelected.js +23 -0
- package/src/example/view/explorer/first.js +18 -0
- package/src/example/view/explorer/second.js +18 -0
- package/src/example/view/rubbishBin.js +9 -0
- package/src/example/view.js +53 -41
- package/src/explorer.js +2 -83
- package/src/index.js +1 -0
- package/src/input/name.js +90 -0
- package/src/item/entry/drag/directoryName.js +5 -4
- package/src/item/entry/drag/fileName.js +10 -6
- package/src/item/entry/drag.js +77 -23
- package/src/keyCodes.js +4 -0
- package/src/list/entries.js +16 -0
- package/src/mixins/event.js +140 -0
- package/src/styles.js +0 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { asynchronousUtilities } from "necessary";
|
|
4
|
+
|
|
5
|
+
import { MOVE_EVENT_TYPE, OPEN_EVENT_TYPE, PATH_CHANGE_EVENT_TYPE, SELECT_EVENT_TYPE } from "../eventTypes";
|
|
6
|
+
|
|
7
|
+
const { forEach } = asynchronousUtilities;
|
|
8
|
+
|
|
9
|
+
function onMove(moveHandler, element) {
|
|
10
|
+
const eventType = MOVE_EVENT_TYPE,
|
|
11
|
+
handler = moveHandler; ///
|
|
12
|
+
|
|
13
|
+
this.addEventListener(eventType, handler, element);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function offMove(moveHandler, element) {
|
|
17
|
+
const eventType = MOVE_EVENT_TYPE,
|
|
18
|
+
handler = moveHandler; ///
|
|
19
|
+
|
|
20
|
+
this.removeEventListener(eventType, handler, element);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function onOpen(openHandler, element) {
|
|
24
|
+
const eventType = OPEN_EVENT_TYPE,
|
|
25
|
+
handler = openHandler; ///
|
|
26
|
+
|
|
27
|
+
this.addEventListener(eventType, handler, element);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function offOpen(openHandler, element) {
|
|
31
|
+
const eventType = OPEN_EVENT_TYPE,
|
|
32
|
+
handler = openHandler; ///
|
|
33
|
+
|
|
34
|
+
this.removeEventListener(eventType, handler, element);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function onSelect(selectHandler, element) {
|
|
38
|
+
const eventType = SELECT_EVENT_TYPE,
|
|
39
|
+
handler = selectHandler; ///
|
|
40
|
+
|
|
41
|
+
this.addEventListener(eventType, handler, element);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function offSelect(selectHandler, element) {
|
|
45
|
+
const eventType = SELECT_EVENT_TYPE,
|
|
46
|
+
handler = selectHandler; ///
|
|
47
|
+
|
|
48
|
+
this.removeEventListener(eventType, handler, element);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function onPathChange(pathChangeHandler, element) {
|
|
52
|
+
const eventType = PATH_CHANGE_EVENT_TYPE,
|
|
53
|
+
handler = pathChangeHandler; ///
|
|
54
|
+
|
|
55
|
+
this.addEventListener(eventType, handler, element);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function offPathChange(pathChangeHandler, element) {
|
|
59
|
+
const eventType = PATH_CHANGE_EVENT_TYPE,
|
|
60
|
+
handler = pathChangeHandler; ///
|
|
61
|
+
|
|
62
|
+
this.removeEventListener(eventType, handler, element);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function callOpenHandlers(filePath) {
|
|
66
|
+
const eventType = OPEN_EVENT_TYPE,
|
|
67
|
+
eventListeners = this.findEventListeners(eventType);
|
|
68
|
+
|
|
69
|
+
eventListeners.forEach((eventListener) => {
|
|
70
|
+
const { handler, element } = eventListener,
|
|
71
|
+
openHandler = handler; ///
|
|
72
|
+
|
|
73
|
+
openHandler.call(element, filePath, this); ///
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function callSelectHandlers(path, selected) {
|
|
78
|
+
const eventType = SELECT_EVENT_TYPE,
|
|
79
|
+
eventListeners = this.findEventListeners(eventType);
|
|
80
|
+
|
|
81
|
+
eventListeners.forEach((eventListener) => {
|
|
82
|
+
const { handler, element } = eventListener,
|
|
83
|
+
selectHandler = handler; ///
|
|
84
|
+
|
|
85
|
+
selectHandler.call(element, path, selected, this); ///
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function callMoveHandlersAsync(pathMaps, done) {
|
|
90
|
+
const eventType = MOVE_EVENT_TYPE,
|
|
91
|
+
eventListeners = this.findEventListeners(eventType);
|
|
92
|
+
|
|
93
|
+
forEach(eventListeners, (eventListener, next) => {
|
|
94
|
+
const { handler, element } = eventListener,
|
|
95
|
+
moveHandler = handler, ///
|
|
96
|
+
done = next; ///
|
|
97
|
+
|
|
98
|
+
moveHandler.call(element, pathMaps, done);
|
|
99
|
+
}, done);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function callPathChangeHandlersAsync(path, callback) {
|
|
103
|
+
let notSuccess = false;
|
|
104
|
+
|
|
105
|
+
const done = () => {
|
|
106
|
+
const success = !notSuccess;
|
|
107
|
+
|
|
108
|
+
callback(success);
|
|
109
|
+
},
|
|
110
|
+
eventType = PATH_CHANGE_EVENT_TYPE,
|
|
111
|
+
eventListeners = this.findEventListeners(eventType);
|
|
112
|
+
|
|
113
|
+
forEach(eventListeners, (eventListener, next) => {
|
|
114
|
+
const { handler, element } = eventListener,
|
|
115
|
+
pathChangeHandler = handler; ///
|
|
116
|
+
|
|
117
|
+
pathChangeHandler.call(element, path, (success) => {
|
|
118
|
+
notSuccess = !success;
|
|
119
|
+
|
|
120
|
+
next();
|
|
121
|
+
});
|
|
122
|
+
}, done);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const eventMixins = {
|
|
126
|
+
onMove,
|
|
127
|
+
offMove,
|
|
128
|
+
onOpen,
|
|
129
|
+
offOpen,
|
|
130
|
+
onSelect,
|
|
131
|
+
offSelect,
|
|
132
|
+
onPathChange,
|
|
133
|
+
offPathChange,
|
|
134
|
+
callOpenHandlers,
|
|
135
|
+
callSelectHandlers,
|
|
136
|
+
callMoveHandlersAsync,
|
|
137
|
+
callPathChangeHandlersAsync
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export default eventMixins;
|
package/src/styles.js
CHANGED
|
@@ -7,7 +7,6 @@ export const fileNameSVGHeight = "2rem";
|
|
|
7
7
|
export const rubbishBinSVGHeight = "4rem";
|
|
8
8
|
export const markerSVGMarginLeft = "3rem";
|
|
9
9
|
export const toggleSVGPaddingRight = "1rem";
|
|
10
|
-
export const dragEntryItemFontSize = "1.2rem";
|
|
11
10
|
export const entryItemDivMinHeight = "2rem";
|
|
12
11
|
export const entriesListPaddingLeft = "2rem";
|
|
13
12
|
export const entryItemDivPaddingTop = "1.25rem";
|