easy-file-system 1.5.5 → 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 +2483 -1325
- 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 +10 -83
- 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 +9 -89
- 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
package/src/list/entries.js
CHANGED
|
@@ -183,6 +183,20 @@ class EntriesList extends Element {
|
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
editSelectedPath() {
|
|
187
|
+
const dragEntryItems = this.retrieveDragEntryItems();
|
|
188
|
+
|
|
189
|
+
dragEntryItems.some((dragEntryItem) => {
|
|
190
|
+
const selected = dragEntryItem.isSelected();
|
|
191
|
+
|
|
192
|
+
if (selected) {
|
|
193
|
+
dragEntryItem.edit();
|
|
194
|
+
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
|
|
186
200
|
addDirectoryPath(directoryPath, collapsed = true) {
|
|
187
201
|
let directoryNameDragEntryItem;
|
|
188
202
|
|
|
@@ -576,6 +590,7 @@ class EntriesList extends Element {
|
|
|
576
590
|
removeAllPaths = this.removeAllPaths.bind(this),
|
|
577
591
|
deselectAllPaths = this.deselectAllPaths.bind(this),
|
|
578
592
|
addDirectoryPath = this.addDirectoryPath.bind(this),
|
|
593
|
+
editSelectedPath = this.editSelectedPath.bind(this),
|
|
579
594
|
removeDirectoryPath = this.removeDirectoryPath.bind(this),
|
|
580
595
|
forEachDragEntryItem = this.forEachDragEntryItem.bind(this),
|
|
581
596
|
retrieveDragEntryItems = this.retrieveDragEntryItems.bind(this),
|
|
@@ -594,6 +609,7 @@ class EntriesList extends Element {
|
|
|
594
609
|
removeAllPaths,
|
|
595
610
|
deselectAllPaths,
|
|
596
611
|
addDirectoryPath,
|
|
612
|
+
editSelectedPath,
|
|
597
613
|
removeDirectoryPath,
|
|
598
614
|
forEachDragEntryItem,
|
|
599
615
|
retrieveDragEntryItems,
|
|
@@ -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";
|