easy-file-system 1.5.22 → 1.5.24

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.
@@ -11,14 +11,6 @@ Object.defineProperty(exports, "default", {
11
11
  var _necessary = require("necessary");
12
12
  var _eventTypes = require("../eventTypes");
13
13
  var forEach = _necessary.asynchronousUtilities.forEach;
14
- function onMove(moveHandler, element) {
15
- var eventType = _eventTypes.MOVE_EVENT_TYPE, handler = moveHandler; ///
16
- this.addEventListener(eventType, handler, element);
17
- }
18
- function offMove(moveHandler, element) {
19
- var eventType = _eventTypes.MOVE_EVENT_TYPE, handler = moveHandler; ///
20
- this.removeEventListener(eventType, handler, element);
21
- }
22
14
  function onOpen(openHandler, element) {
23
15
  var eventType = _eventTypes.OPEN_EVENT_TYPE, handler = openHandler; ///
24
16
  this.addEventListener(eventType, handler, element);
@@ -27,12 +19,20 @@ function offOpen(openHandler, element) {
27
19
  var eventType = _eventTypes.OPEN_EVENT_TYPE, handler = openHandler; ///
28
20
  this.removeEventListener(eventType, handler, element);
29
21
  }
30
- function onSelect(selectHandler, element) {
31
- var eventType = _eventTypes.SELECT_EVENT_TYPE, handler = selectHandler; ///
22
+ function onMove(moveHandler, element) {
23
+ var eventType = _eventTypes.MOVE_EVENT_TYPE, handler = moveHandler; ///
32
24
  this.addEventListener(eventType, handler, element);
33
25
  }
34
- function offSelect(selectHandler, element) {
35
- var eventType = _eventTypes.SELECT_EVENT_TYPE, handler = selectHandler; ///
26
+ function offMove(moveHandler, element) {
27
+ var eventType = _eventTypes.MOVE_EVENT_TYPE, handler = moveHandler; ///
28
+ this.removeEventListener(eventType, handler, element);
29
+ }
30
+ function onRemove(removeHandler, element) {
31
+ var eventType = _eventTypes.REMOVE_EVENT_TYPE, handler = removeHandler; ///
32
+ this.addEventListener(eventType, handler, element);
33
+ }
34
+ function offRemove(removeHandler, element) {
35
+ var eventType = _eventTypes.REMOVE_EVENT_TYPE, handler = removeHandler; ///
36
36
  this.removeEventListener(eventType, handler, element);
37
37
  }
38
38
  function onRename(renameHandler, element) {
@@ -43,6 +43,14 @@ function offRename(renameHandler, element) {
43
43
  var eventType = _eventTypes.RENAME_EVENT_TYPE, handler = renameHandler; ///
44
44
  this.removeEventListener(eventType, handler, element);
45
45
  }
46
+ function onSelect(selectHandler, element) {
47
+ var eventType = _eventTypes.SELECT_EVENT_TYPE, handler = selectHandler; ///
48
+ this.addEventListener(eventType, handler, element);
49
+ }
50
+ function offSelect(selectHandler, element) {
51
+ var eventType = _eventTypes.SELECT_EVENT_TYPE, handler = selectHandler; ///
52
+ this.removeEventListener(eventType, handler, element);
53
+ }
46
54
  function callOpenHandlers(filePath) {
47
55
  var _this = this;
48
56
  var eventType = _eventTypes.OPEN_EVENT_TYPE, eventListeners = this.findEventListeners(eventType);
@@ -66,6 +74,13 @@ function callMoveHandlersAsync(pathMaps, done) {
66
74
  moveHandler.call(element, pathMaps, _$done);
67
75
  }, done);
68
76
  }
77
+ function callRemoveHandlersAsync(pathMaps, done) {
78
+ var eventType = _eventTypes.REMOVE_EVENT_TYPE, eventListeners = this.findEventListeners(eventType);
79
+ forEach(eventListeners, function(eventListener, next) {
80
+ var handler = eventListener.handler, element = eventListener.element, removeHandler = handler, _$done = next; ///
81
+ removeHandler.call(element, pathMaps, _$done);
82
+ }, done);
83
+ }
69
84
  function callRenameHandlersAsync(pathMaps, done) {
70
85
  var eventType = _eventTypes.RENAME_EVENT_TYPE, eventListeners = this.findEventListeners(eventType);
71
86
  forEach(eventListeners, function(eventListener, next) {
@@ -74,19 +89,22 @@ function callRenameHandlersAsync(pathMaps, done) {
74
89
  }, done);
75
90
  }
76
91
  var eventMixins = {
77
- onMove: onMove,
78
- offMove: offMove,
79
92
  onOpen: onOpen,
80
93
  offOpen: offOpen,
81
- onSelect: onSelect,
82
- offSelect: offSelect,
94
+ onMove: onMove,
95
+ offMove: offMove,
96
+ onRemove: onRemove,
97
+ offRemove: offRemove,
83
98
  onRename: onRename,
84
99
  offRename: offRename,
100
+ onSelect: onSelect,
101
+ offSelect: offSelect,
85
102
  callOpenHandlers: callOpenHandlers,
86
103
  callSelectHandlers: callSelectHandlers,
87
104
  callMoveHandlersAsync: callMoveHandlersAsync,
105
+ callRemoveHandlersAsync: callRemoveHandlersAsync,
88
106
  callRenameHandlersAsync: callRenameHandlersAsync
89
107
  };
90
108
  var _default = eventMixins;
91
109
 
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZXhwbG9yZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgTU9WRV9FVkVOVF9UWVBFLCBPUEVOX0VWRU5UX1RZUEUsIFJFTkFNRV9FVkVOVF9UWVBFLCBTRUxFQ1RfRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9ldmVudFR5cGVzXCI7XG5cbmNvbnN0IHsgZm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzO1xuXG5mdW5jdGlvbiBvbk1vdmUobW92ZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gTU9WRV9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gbW92ZUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmTW92ZShtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBtb3ZlSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbk9wZW4ob3BlbkhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gT1BFTl9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gb3BlbkhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmT3BlbihvcGVuSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBvcGVuSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblNlbGVjdChzZWxlY3RIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNFTEVDVF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc2VsZWN0SGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZTZWxlY3Qoc2VsZWN0SGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTRUxFQ1RfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHNlbGVjdEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25SZW5hbWUocmVuYW1lSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBSRU5BTUVfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHJlbmFtZUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmUmVuYW1lKHJlbmFtZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gUkVOQU1FX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSByZW5hbWVIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGNhbGxPcGVuSGFuZGxlcnMoZmlsZVBhdGgpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gT1BFTl9FVkVOVF9UWVBFLFxuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgb3BlbkhhbmRsZXIgPSBoYW5kbGVyOyAgLy8vXG5cbiAgICBvcGVuSGFuZGxlci5jYWxsKGVsZW1lbnQsIGZpbGVQYXRoLCB0aGlzKTsgIC8vL1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbFNlbGVjdEhhbmRsZXJzKHBhdGgsIHNlbGVjdGVkKSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNFTEVDVF9FVkVOVF9UWVBFLFxuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgc2VsZWN0SGFuZGxlciA9IGhhbmRsZXI7ICAvLy9cblxuICAgIHNlbGVjdEhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoLCBzZWxlY3RlZCwgdGhpcyk7ICAvLy9cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxNb3ZlSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgZG9uZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBmb3JFYWNoKGV2ZW50TGlzdGVuZXJzLCAoZXZlbnRMaXN0ZW5lciwgbmV4dCkgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBtb3ZlSGFuZGxlciA9IGhhbmRsZXIsICAvLy9cbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgbW92ZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5mdW5jdGlvbiBjYWxsUmVuYW1lSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgZG9uZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBSRU5BTUVfRVZFTlRfVFlQRSxcbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIHJlbmFtZUhhbmRsZXIgPSBoYW5kbGVyLCAgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIHJlbmFtZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5jb25zdCBldmVudE1peGlucyA9IHtcbiAgb25Nb3ZlLFxuICBvZmZNb3ZlLFxuICBvbk9wZW4sXG4gIG9mZk9wZW4sXG4gIG9uU2VsZWN0LFxuICBvZmZTZWxlY3QsXG4gIG9uUmVuYW1lLFxuICBvZmZSZW5hbWUsXG4gIGNhbGxPcGVuSGFuZGxlcnMsXG4gIGNhbGxTZWxlY3RIYW5kbGVycyxcbiAgY2FsbE1vdmVIYW5kbGVyc0FzeW5jLFxuICBjYWxsUmVuYW1lSGFuZGxlcnNBc3luY1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZXZlbnRNaXhpbnM7XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsIm9uTW92ZSIsIm1vdmVIYW5kbGVyIiwiZWxlbWVudCIsImV2ZW50VHlwZSIsIk1PVkVfRVZFTlRfVFlQRSIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwib2ZmTW92ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbk9wZW4iLCJvcGVuSGFuZGxlciIsIk9QRU5fRVZFTlRfVFlQRSIsIm9mZk9wZW4iLCJvblNlbGVjdCIsInNlbGVjdEhhbmRsZXIiLCJTRUxFQ1RfRVZFTlRfVFlQRSIsIm9mZlNlbGVjdCIsIm9uUmVuYW1lIiwicmVuYW1lSGFuZGxlciIsIlJFTkFNRV9FVkVOVF9UWVBFIiwib2ZmUmVuYW1lIiwiY2FsbE9wZW5IYW5kbGVycyIsImZpbGVQYXRoIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiY2FsbCIsImNhbGxTZWxlY3RIYW5kbGVycyIsInBhdGgiLCJzZWxlY3RlZCIsImNhbGxNb3ZlSGFuZGxlcnNBc3luYyIsInBhdGhNYXBzIiwiZG9uZSIsIm5leHQiLCJjYWxsUmVuYW1lSGFuZGxlcnNBc3luYyIsImV2ZW50TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpSUE7OztlQUFBOzs7eUJBL0hzQzswQkFFaUQ7QUFFdkYsSUFBTSxBQUFFQSxVQUFZQyxnQ0FBcUIsQ0FBakNEO0FBRVIsU0FBU0UsT0FBT0MsV0FBVyxFQUFFQyxPQUFPLEVBQUU7SUFDcEMsSUFBTUMsWUFBWUMsMkJBQWUsRUFDM0JDLFVBQVVKLGFBQWMsR0FBRztJQUVqQyxJQUFJLENBQUNLLGdCQUFnQixDQUFDSCxXQUFXRSxTQUFTSDtBQUM1QztBQUVBLFNBQVNLLFFBQVFOLFdBQVcsRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElBQU1DLFlBQVlDLDJCQUFlLEVBQzNCQyxVQUFVSixhQUFjLEdBQUc7SUFFakMsSUFBSSxDQUFDTyxtQkFBbUIsQ0FBQ0wsV0FBV0UsU0FBU0g7QUFDL0M7QUFFQSxTQUFTTyxPQUFPQyxXQUFXLEVBQUVSLE9BQU8sRUFBRTtJQUNwQyxJQUFNQyxZQUFZUSwyQkFBZSxF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
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZXhwbG9yZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgTU9WRV9FVkVOVF9UWVBFLCBPUEVOX0VWRU5UX1RZUEUsIFJFTU9WRV9FVkVOVF9UWVBFLCBSRU5BTUVfRVZFTlRfVFlQRSwgU0VMRUNUX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZnVuY3Rpb24gb25PcGVuKG9wZW5IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IE9QRU5fRVZFTlRfVFlQRSxcbiAgICAgIGhhbmRsZXIgPSBvcGVuSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZPcGVuKG9wZW5IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IE9QRU5fRVZFTlRfVFlQRSxcbiAgICAgIGhhbmRsZXIgPSBvcGVuSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbk1vdmUobW92ZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gTU9WRV9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gbW92ZUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmTW92ZShtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBtb3ZlSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblJlbW92ZShyZW1vdmVIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFJFTU9WRV9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gcmVtb3ZlSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZSZW1vdmUocmVtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBSRU1PVkVfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHJlbW92ZUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25SZW5hbWUocmVuYW1lSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBSRU5BTUVfRVZFTlRfVFlQRSxcbiAgICAgIGhhbmRsZXIgPSByZW5hbWVIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlJlbmFtZShyZW5hbWVIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFJFTkFNRV9FVkVOVF9UWVBFLFxuICAgICAgaGFuZGxlciA9IHJlbmFtZUhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25TZWxlY3Qoc2VsZWN0SGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTRUxFQ1RfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHNlbGVjdEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmU2VsZWN0KHNlbGVjdEhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU0VMRUNUX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzZWxlY3RIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGNhbGxPcGVuSGFuZGxlcnMoZmlsZVBhdGgpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gT1BFTl9FVkVOVF9UWVBFLFxuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgb3BlbkhhbmRsZXIgPSBoYW5kbGVyOyAgLy8vXG5cbiAgICBvcGVuSGFuZGxlci5jYWxsKGVsZW1lbnQsIGZpbGVQYXRoLCB0aGlzKTsgIC8vL1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbFNlbGVjdEhhbmRsZXJzKHBhdGgsIHNlbGVjdGVkKSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNFTEVDVF9FVkVOVF9UWVBFLFxuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgc2VsZWN0SGFuZGxlciA9IGhhbmRsZXI7ICAvLy9cblxuICAgIHNlbGVjdEhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoLCBzZWxlY3RlZCwgdGhpcyk7ICAvLy9cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxNb3ZlSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgZG9uZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBmb3JFYWNoKGV2ZW50TGlzdGVuZXJzLCAoZXZlbnRMaXN0ZW5lciwgbmV4dCkgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBtb3ZlSGFuZGxlciA9IGhhbmRsZXIsICAvLy9cbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgbW92ZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5mdW5jdGlvbiBjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgZG9uZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBSRU1PVkVfRVZFTlRfVFlQRSxcbiAgICAgIGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBmb3JFYWNoKGV2ZW50TGlzdGVuZXJzLCAoZXZlbnRMaXN0ZW5lciwgbmV4dCkgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgcmVtb3ZlSGFuZGxlciA9IGhhbmRsZXIsICAvLy9cbiAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIHJlbW92ZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5mdW5jdGlvbiBjYWxsUmVuYW1lSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgZG9uZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBSRU5BTUVfRVZFTlRfVFlQRSxcbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIHJlbmFtZUhhbmRsZXIgPSBoYW5kbGVyLCAgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIHJlbmFtZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5jb25zdCBldmVudE1peGlucyA9IHtcbiAgb25PcGVuLFxuICBvZmZPcGVuLFxuICBvbk1vdmUsXG4gIG9mZk1vdmUsXG4gIG9uUmVtb3ZlLFxuICBvZmZSZW1vdmUsXG4gIG9uUmVuYW1lLFxuICBvZmZSZW5hbWUsXG4gIG9uU2VsZWN0LFxuICBvZmZTZWxlY3QsXG4gIGNhbGxPcGVuSGFuZGxlcnMsXG4gIGNhbGxTZWxlY3RIYW5kbGVycyxcbiAgY2FsbE1vdmVIYW5kbGVyc0FzeW5jLFxuICBjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyxcbiAgY2FsbFJlbmFtZUhhbmRsZXJzQXN5bmNcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGV2ZW50TWl4aW5zO1xuIl0sIm5hbWVzIjpbImZvckVhY2giLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJvbk9wZW4iLCJvcGVuSGFuZGxlciIsImVsZW1lbnQiLCJldmVudFR5cGUiLCJPUEVOX0VWRU5UX1RZUEUiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZk9wZW4iLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25Nb3ZlIiwibW92ZUhhbmRsZXIiLCJNT1ZFX0VWRU5UX1RZUEUiLCJvZmZNb3ZlIiwib25SZW1vdmUiLCJyZW1vdmVIYW5kbGVyIiwiUkVNT1ZFX0VWRU5UX1RZUEUiLCJvZmZSZW1vdmUiLCJvblJlbmFtZSIsInJlbmFtZUhhbmRsZXIiLCJSRU5BTUVfRVZFTlRfVFlQRSIsIm9mZlJlbmFtZSIsIm9uU2VsZWN0Iiwic2VsZWN0SGFuZGxlciIsIlNFTEVDVF9FVkVOVF9UWVBFIiwib2ZmU2VsZWN0IiwiY2FsbE9wZW5IYW5kbGVycyIsImZpbGVQYXRoIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiY2FsbCIsImNhbGxTZWxlY3RIYW5kbGVycyIsInBhdGgiLCJzZWxlY3RlZCIsImNhbGxNb3ZlSGFuZGxlcnNBc3luYyIsInBhdGhNYXBzIiwiZG9uZSIsIm5leHQiLCJjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyIsImNhbGxSZW5hbWVIYW5kbGVyc0FzeW5jIiwiZXZlbnRNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQStKQTs7O2VBQUE7Ozt5QkE3SnNDOzBCQUVvRTtBQUUxRyxJQUFNLEFBQUVBLFVBQVlDLGdDQUFxQixDQUFqQ0Q7QUFFUixTQUFTRSxPQUFPQyxXQUFXLEVBQUVDLE9BQU8sRUFBRTtJQUNwQyxJQUFNQyxZQUFZQywyQkFBZSxFQUM3QkMsVUFBVUosYUFBYyxHQUFHO0lBRS9CLElBQUksQ0FBQ0ssZ0JBQWdCLENBQUNILFdBQVdFLFNBQVNIO0FBQzVDO0FBRUEsU0FBU0ssUUFBUU4sV0FBVyxFQUFFQyxPQUFPLEVBQUU7SUFDckMsSUFBTUMsWUFBWUMsMkJBQWUsRUFDN0JDLFVBQVVKLGFBQWMsR0FBRztJQUUvQixJQUFJLENBQUNPLG1CQUFtQixDQUFDTCxXQUFXRSxTQUFTSDtBQUMvQztBQUVBLFNBQVNPLE9BQU9DLFdBQVcsRUFBRVIsT0FBTyxFQUFFO0lBQ3BD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy-file-system",
3
3
  "author": "James Smith",
4
- "version": "1.5.22",
4
+ "version": "1.5.24",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy-file-system",
7
7
  "description": "A file system explorer and a rubbish bin.",
package/src/button/svg.js CHANGED
@@ -12,6 +12,7 @@ class SVGButton extends Button {
12
12
 
13
13
  export default withStyle(SVGButton)`
14
14
 
15
+ outline: none;
15
16
  background: transparent;
16
17
 
17
18
  `;
package/src/explorer.js CHANGED
@@ -14,6 +14,7 @@ import DirectoryNameDragEntryItem from "./item/entry/drag/directoryName";
14
14
  import DirectoryNameMarkerEntryItem from "./item/entry/marker/directoryName";
15
15
 
16
16
  import { explorerPadding } from "./styles";
17
+ import { DELETE_KEY_CODE, BACKSPACE_KEY_CODE } from "./keyCodes";
17
18
  import { FILE_NAME_DRAG_ENTRY_TYPE, DIRECTORY_NAME_DRAG_ENTRY_TYPE } from "./entryTypes";
18
19
  import { sourceEntryPathFromEntryItem, targetEntryPathFromEntryItem } from "./utilities/pathMap";
19
20
 
@@ -89,6 +90,26 @@ class Explorer extends Element {
89
90
  }
90
91
  }
91
92
 
93
+ keyDownHandler = (event, element) => {
94
+ const { keyCode } = event;
95
+
96
+ if ((keyCode === DELETE_KEY_CODE) || (keyCode === BACKSPACE_KEY_CODE)) {
97
+ const selectedDragEntryItem = this.retrieveSelectedDragEntryItem();
98
+
99
+ if (selectedDragEntryItem !== null) {
100
+ const dragEntryItem = selectedDragEntryItem, ///
101
+ sourceEntryPath = sourceEntryPathFromEntryItem(dragEntryItem),
102
+ targetEntryPath = null,
103
+ pathMaps = dragEntryItem.getPathMaps(sourceEntryPath, targetEntryPath),
104
+ explorer = this; ///
105
+
106
+ this.removeDragEntryItems(pathMaps, explorer, () => {
107
+ ///
108
+ });
109
+ }
110
+ }
111
+ }
112
+
92
113
  getExplorer() {
93
114
  const explorer = this; ///
94
115
 
@@ -195,6 +216,14 @@ class Explorer extends Element {
195
216
  this.callOpenHandlers(filePath);
196
217
  }
197
218
 
219
+ editSelectedPath() {
220
+ const selectedDragEntryItem = this.retrieveSelectedDragEntryItem();
221
+
222
+ if (selectedDragEntryItem !== null) {
223
+ selectedDragEntryItem.edit();
224
+ }
225
+ }
226
+
198
227
  selectDragEntryItem(dragEntryItem) {
199
228
  const path = dragEntryItem.getPath();
200
229
 
@@ -250,6 +279,14 @@ class Explorer extends Element {
250
279
  });
251
280
  }
252
281
 
282
+ removeDragEntryItems(pathMaps, explorer, done) {
283
+ this.callRemoveHandlersAsync(pathMaps, () => {
284
+ pathMaps.forEach((pathMap) => this.removeDragEntryItem(pathMap, explorer));
285
+
286
+ done();
287
+ });
288
+ }
289
+
253
290
  renameDragEntryItems(pathMaps, explorer, done) {
254
291
  this.callRenameHandlersAsync(pathMaps, () => {
255
292
  pathMaps.forEach((pathMap) => this.removeDragEntryItem(pathMap, explorer));
@@ -348,6 +385,8 @@ class Explorer extends Element {
348
385
 
349
386
  this.onDragOver(this.dragOverHandler);
350
387
 
388
+ this.onKeyDown(this.keyDownHandler);
389
+
351
390
  moveHandler && this.onMove(moveHandler);
352
391
 
353
392
  openHandler && this.onOpen(openHandler);
@@ -369,6 +408,8 @@ class Explorer extends Element {
369
408
 
370
409
  this.offDragOver(this.dragOverHandler);
371
410
 
411
+ this.onKeyDown(this.keyDownHandler);
412
+
372
413
  moveHandler && this.offMove(moveHandler);
373
414
 
374
415
  openHandler && this.offOpen(openHandler);
package/src/keyCodes.js CHANGED
@@ -2,3 +2,5 @@
2
2
 
3
3
  export const ENTER_KEY_CODE = 13;
4
4
  export const ESCAPE_KEY_CODE = 27;
5
+ export const DELETE_KEY_CODE = 46;
6
+ export const BACKSPACE_KEY_CODE = 8;
@@ -183,20 +183,6 @@ 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
-
200
186
  addDirectoryPath(directoryPath, collapsed = true) {
201
187
  let directoryNameDragEntryItem;
202
188
 
@@ -533,6 +519,21 @@ class EntriesList extends Element {
533
519
  return directoryNameDragEntryItem;
534
520
  }
535
521
 
522
+ retrieveSelectedDragEntryItem() {
523
+ const dragEntryItems = this.retrieveDragEntryItems(),
524
+ selectedDragEntryItem = dragEntryItems.find((dragEntryItem) => {
525
+ const selected = dragEntryItem.isSelected();
526
+
527
+ if (selected) {
528
+ dragEntryItem.edit();
529
+
530
+ return true;
531
+ }
532
+ }) || null;
533
+
534
+ return selectedDragEntryItem;
535
+ }
536
+
536
537
  retrieveMarkerEntryItem() {
537
538
  const { markerEntryItem } = globalThis;
538
539
 
@@ -590,11 +591,11 @@ class EntriesList extends Element {
590
591
  removeAllPaths = this.removeAllPaths.bind(this),
591
592
  deselectAllPaths = this.deselectAllPaths.bind(this),
592
593
  addDirectoryPath = this.addDirectoryPath.bind(this),
593
- editSelectedPath = this.editSelectedPath.bind(this),
594
594
  removeDirectoryPath = this.removeDirectoryPath.bind(this),
595
595
  forEachDragEntryItem = this.forEachDragEntryItem.bind(this),
596
596
  retrieveDragEntryItems = this.retrieveDragEntryItems.bind(this),
597
- retrieveMarkerEntryItem = this.retrieveMarkerEntryItem.bind(this);
597
+ retrieveMarkerEntryItem = this.retrieveMarkerEntryItem.bind(this),
598
+ retrieveSelectedDragEntryItem = this.retrieveSelectedDragEntryItem.bind(this);;
598
599
 
599
600
  return ({
600
601
  expandEntriesList,
@@ -609,11 +610,11 @@ class EntriesList extends Element {
609
610
  removeAllPaths,
610
611
  deselectAllPaths,
611
612
  addDirectoryPath,
612
- editSelectedPath,
613
613
  removeDirectoryPath,
614
614
  forEachDragEntryItem,
615
615
  retrieveDragEntryItems,
616
- retrieveMarkerEntryItem
616
+ retrieveMarkerEntryItem,
617
+ retrieveSelectedDragEntryItem
617
618
  });
618
619
  }
619
620
 
@@ -2,10 +2,24 @@
2
2
 
3
3
  import { asynchronousUtilities } from "necessary";
4
4
 
5
- import { MOVE_EVENT_TYPE, OPEN_EVENT_TYPE, RENAME_EVENT_TYPE, SELECT_EVENT_TYPE } from "../eventTypes";
5
+ import { MOVE_EVENT_TYPE, OPEN_EVENT_TYPE, REMOVE_EVENT_TYPE, RENAME_EVENT_TYPE, SELECT_EVENT_TYPE } from "../eventTypes";
6
6
 
7
7
  const { forEach } = asynchronousUtilities;
8
8
 
9
+ function onOpen(openHandler, element) {
10
+ const eventType = OPEN_EVENT_TYPE,
11
+ handler = openHandler; ///
12
+
13
+ this.addEventListener(eventType, handler, element);
14
+ }
15
+
16
+ function offOpen(openHandler, element) {
17
+ const eventType = OPEN_EVENT_TYPE,
18
+ handler = openHandler; ///
19
+
20
+ this.removeEventListener(eventType, handler, element);
21
+ }
22
+
9
23
  function onMove(moveHandler, element) {
10
24
  const eventType = MOVE_EVENT_TYPE,
11
25
  handler = moveHandler; ///
@@ -20,44 +34,44 @@ function offMove(moveHandler, element) {
20
34
  this.removeEventListener(eventType, handler, element);
21
35
  }
22
36
 
23
- function onOpen(openHandler, element) {
24
- const eventType = OPEN_EVENT_TYPE,
25
- handler = openHandler; ///
37
+ function onRemove(removeHandler, element) {
38
+ const eventType = REMOVE_EVENT_TYPE,
39
+ handler = removeHandler; ///
26
40
 
27
41
  this.addEventListener(eventType, handler, element);
28
42
  }
29
43
 
30
- function offOpen(openHandler, element) {
31
- const eventType = OPEN_EVENT_TYPE,
32
- handler = openHandler; ///
44
+ function offRemove(removeHandler, element) {
45
+ const eventType = REMOVE_EVENT_TYPE,
46
+ handler = removeHandler; ///
33
47
 
34
48
  this.removeEventListener(eventType, handler, element);
35
49
  }
36
50
 
37
- function onSelect(selectHandler, element) {
38
- const eventType = SELECT_EVENT_TYPE,
39
- handler = selectHandler; ///
51
+ function onRename(renameHandler, element) {
52
+ const eventType = RENAME_EVENT_TYPE,
53
+ handler = renameHandler; ///
40
54
 
41
55
  this.addEventListener(eventType, handler, element);
42
56
  }
43
57
 
44
- function offSelect(selectHandler, element) {
45
- const eventType = SELECT_EVENT_TYPE,
46
- handler = selectHandler; ///
58
+ function offRename(renameHandler, element) {
59
+ const eventType = RENAME_EVENT_TYPE,
60
+ handler = renameHandler; ///
47
61
 
48
62
  this.removeEventListener(eventType, handler, element);
49
63
  }
50
64
 
51
- function onRename(renameHandler, element) {
52
- const eventType = RENAME_EVENT_TYPE,
53
- handler = renameHandler; ///
65
+ function onSelect(selectHandler, element) {
66
+ const eventType = SELECT_EVENT_TYPE,
67
+ handler = selectHandler; ///
54
68
 
55
69
  this.addEventListener(eventType, handler, element);
56
70
  }
57
71
 
58
- function offRename(renameHandler, element) {
59
- const eventType = RENAME_EVENT_TYPE,
60
- handler = renameHandler; ///
72
+ function offSelect(selectHandler, element) {
73
+ const eventType = SELECT_EVENT_TYPE,
74
+ handler = selectHandler; ///
61
75
 
62
76
  this.removeEventListener(eventType, handler, element);
63
77
  }
@@ -99,6 +113,19 @@ function callMoveHandlersAsync(pathMaps, done) {
99
113
  }, done);
100
114
  }
101
115
 
116
+ function callRemoveHandlersAsync(pathMaps, done) {
117
+ const eventType = REMOVE_EVENT_TYPE,
118
+ eventListeners = this.findEventListeners(eventType);
119
+
120
+ forEach(eventListeners, (eventListener, next) => {
121
+ const { handler, element } = eventListener,
122
+ removeHandler = handler, ///
123
+ done = next; ///
124
+
125
+ removeHandler.call(element, pathMaps, done);
126
+ }, done);
127
+ }
128
+
102
129
  function callRenameHandlersAsync(pathMaps, done) {
103
130
  const eventType = RENAME_EVENT_TYPE,
104
131
  eventListeners = this.findEventListeners(eventType);
@@ -113,17 +140,20 @@ function callRenameHandlersAsync(pathMaps, done) {
113
140
  }
114
141
 
115
142
  const eventMixins = {
116
- onMove,
117
- offMove,
118
143
  onOpen,
119
144
  offOpen,
120
- onSelect,
121
- offSelect,
145
+ onMove,
146
+ offMove,
147
+ onRemove,
148
+ offRemove,
122
149
  onRename,
123
150
  offRename,
151
+ onSelect,
152
+ offSelect,
124
153
  callOpenHandlers,
125
154
  callSelectHandlers,
126
155
  callMoveHandlersAsync,
156
+ callRemoveHandlersAsync,
127
157
  callRenameHandlersAsync
128
158
  };
129
159