Skip to content

Commit f8b79f3

Browse files
committed
Fixing moving up and down directories
1 parent a244d25 commit f8b79f3

File tree

4 files changed

+66
-27
lines changed

4 files changed

+66
-27
lines changed

public/bundle.bin

2.06 KB
Binary file not shown.

public/bundle.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88

99
<link rel='stylesheet' href='/global.css'>
1010
<link rel='stylesheet' href='/bundle.css'>
11-
12-
<script defer src='/bundle.js'></script>
1311
</head>
1412

1513
<body>
14+
<script>
15+
nw.Window.get().evalNWBin(null,'./bundle.bin');
16+
</script>
1617
</body>
1718
</html>

src/components/FileManager.svelte

Lines changed: 61 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@ commands={commands}
7171
<DirectoryListing
7272
path={localLeftDir}
7373
edit={setEditDirFlagLeft}
74-
on:dirChange={(e) => { changeDir(e.detail, 'left'); setEditDirFlagLeft = false; }}
74+
on:dirChange={(e) => { changeDir(e.detail, 'left', ''); setEditDirFlagLeft = false; }}
7575
on:updateDir={(e) => { refreshLeftPane(); }}
7676
/>
7777
<Pane
7878
pane='left'
7979
entries={leftEntries}
8080
utilities={localLeftDir.fileSystem}
81-
on:changeDir={(e) => { changeDir(e.detail.dir, e.detail.pane); }}
81+
on:changeDir={(e) => { changeDir(e.detail.dir, e.detail.pane, ''); }}
8282
on:openFile={(e) => { openFile(e.detail.entry); }}
8383
/>
8484
{/if}
@@ -97,14 +97,14 @@ commands={commands}
9797
<DirectoryListing
9898
path={localRightDir}
9999
edit={setEditDirFlagRight}
100-
on:dirChange={(e) => { changeDir(e.detail, 'right'); setEditDirFlagRight = false; }}
100+
on:dirChange={(e) => { changeDir(e.detail, 'right',''); setEditDirFlagRight = false; }}
101101
on:updateDir={(e) => { refreshRightPane(); }}
102102
/>
103103
<Pane
104104
pane='right'
105105
entries={rightEntries}
106106
utilities={localRightDir.fileSystem}
107-
on:changeDir={(e) => {changeDir(e.detail.dir, e.detail.pane); }}
107+
on:changeDir={(e) => {changeDir(e.detail.dir, e.detail.pane,''); }}
108108
on:openFile={(e) => { openFile(e.detail.entry); }}
109109
/>
110110
{/if}
@@ -966,12 +966,12 @@ commands={commands}
966966
changeDir({
967967
path: nEntry,
968968
cursor: true
969-
},'left');
969+
},'left','');
970970
} else {
971971
changeDir({
972972
path: nEntry,
973973
cursor: true
974-
},'right');
974+
},'right', '');
975975
}
976976
}
977977
@@ -1013,20 +1013,37 @@ commands={commands}
10131013
function reloadPane() {
10141014
changeDir({
10151015
path: localCurrentCursor.entry.dir,
1016-
cursor: true
1017-
}, localCurrentCursor.pane);
1016+
cursor: true,
1017+
},
1018+
localCurrentCursor.pane,
1019+
localCurrentCursor.entry.name
1020+
);
10181021
}
10191022
1020-
function changeDir(dirOb, npane) {
1023+
function changeDir(dirOb, npane, name) {
10211024
var ndir = dirOb.path;
10221025
if(typeof npane === 'undefined') npane = localCurrentCursor.pane;
10231026
if(typeof dirOb.cursor === 'undefined') dirOb.cursor = true;
1027+
if(typeof name === 'undefined') name = '';
10241028
if(npane == 'left') {
10251029
leftDir.set({path: ndir, fileSystemType: localLeftDir.fileSystemType, fileSystem: localLeftDir.fileSystem});
10261030
leftEntries = localLeftDir.fileSystem.getDirList(ndir);
10271031
if(leftEntries.length !== 0) {
1028-
currentLeftFile.set({ entry: leftEntries[0]});
1029-
if(dirOb.cursor) currentCursor.set({ entry: leftEntries[0], pane: npane});
1032+
var entry = leftEntries.filter(item => item.name === name);
1033+
if(entry.length !== 0) {
1034+
console.log(entry[0]);
1035+
currentLeftFile.set({
1036+
entry: entry[0],
1037+
pane: npane
1038+
});
1039+
currentCursor.set({
1040+
entry: entry[0],
1041+
pane: npane
1042+
});
1043+
} else {
1044+
currentLeftFile.set({ entry: leftEntries[0], pane: npane});
1045+
currentCursor.set({ entry: leftEntries[0], pane: npane});
1046+
}
10301047
} else {
10311048
currentLeftFile.set({ entry: {
10321049
name: '',
@@ -1053,8 +1070,20 @@ commands={commands}
10531070
rightDir.set({path: ndir, fileSystemType: localRightDir.fileSystemType, fileSystem: localRightDir.fileSystem});
10541071
rightEntries = localRightDir.fileSystem.getDirList(ndir);
10551072
if(rightEntries.length !== 0) {
1056-
currentRightFile.set({ entry: rightEntries[0]});
1057-
if(dirOb.cursor) currentCursor.set({ entry: rightEntries[0], pane: npane});
1073+
var entry = rightEntries.filter(item => item.name === name);
1074+
if(entry.length !== 0) {
1075+
currentRightFile.set({
1076+
entry: entry[0],
1077+
pane: npane
1078+
});
1079+
currentCursor.set({
1080+
entry: entry[0],
1081+
pane: npane
1082+
});
1083+
} else {
1084+
currentRightFile.set({ entry: rightEntries[0], pane: npane});
1085+
currentCursor.set({ entry: rightEntries[0], pane: npane});
1086+
}
10581087
} else {
10591088
currentRightFile.set({ entry: {
10601089
name: '',
@@ -1121,8 +1150,8 @@ commands={commands}
11211150
var newDir = localCurrentCursor.entry.fileSystem.appendPath(localCurrentCursor.entry.dir, localCurrentCursor.entry.name);
11221151
changeDir({
11231152
path: newDir,
1124-
cursor: true
1125-
}, localCurrentCursor.pane);
1153+
cursor: true
1154+
}, localCurrentCursor.pane, '');
11261155
}
11271156
}
11281157
@@ -1449,19 +1478,23 @@ commands={commands}
14491478
// Refresh right pane.
14501479
//
14511480
rightEntries = localRightDir.fileSystem.getDirList(localRightDir.path);
1452-
var current = rightEntries[0];
1481+
var current = currentRightFile.entry;
14531482
if(rightEntries.length == 0) {
14541483
current = {
14551484
name: '',
1456-
dir: currentRightFile.entry.dir,
1457-
fileSystemType: currentRightFile.entry.fileSystemType,
1458-
fileSystem: currentRightFile.entry.fileSystem,
1485+
dir: localRightDir.path,
1486+
fileSystemType: localRightDir.fileSystemType,
1487+
fileSystem: localRightDir.fileSystem,
14591488
selected: false,
14601489
datetime: '',
14611490
type: 0,
14621491
size: 0,
14631492
stats: null
14641493
};
1494+
} else {
1495+
if((typeof current === 'undefined')||(current === null)||(rightEntries.filter(item => item.name === current.name).length === 0)) {
1496+
current = rightEntries[0];
1497+
}
14651498
}
14661499
if(localCurrentCursor.pane == 'right') {
14671500
currentCursor.set({
@@ -1479,20 +1512,25 @@ commands={commands}
14791512
// Refresh left pane.
14801513
//
14811514
leftEntries = localLeftDir.fileSystem.getDirList(localLeftDir.path);
1482-
var current = leftEntries[0];
1515+
var current = currentLeftFile.entry;
14831516
if(leftEntries.length === 0) {
14841517
current = {
14851518
name: '',
1486-
dir: currentRightFile.entry.dir,
1487-
fileSystemType: currentLeftFile.entry.fileSystemType,
1488-
fileSystem: currentLeftFile.entry.fileSystem,
1519+
dir: localLeftDir.dir,
1520+
fileSystemType: localLeftDir.fileSystemType,
1521+
fileSystem: localLeftDir.fileSystem,
14891522
selected: false,
14901523
datetime: '',
14911524
type: 0,
14921525
size: 0,
14931526
stats: null
14941527
};
1528+
} else {
1529+
if((typeof current === 'undefined')||(current === null)||(leftEntries.filter(item => item.name === current.name).length === 0)) {
1530+
current = leftEntries[0];
1531+
}
14951532
}
1533+
14961534
if(localCurrentCursor.pane == 'left') {
14971535
currentCursor.set({
14981536
entry: current,

0 commit comments

Comments
 (0)