@@ -29,16 +29,27 @@ class ContextMenuClass {
2929 this.rightClick();
3030 }
3131
32- makeMenu() {
32+ makeMenu(parent ) {
3333 $(document).find('#fileOptionMenu').remove();
3434 if (!_.isNull(this.activeLine)) this.activeLine.removeClass('active');
35+
36+ let newFilePath = $('#headerTableRow').attr('data-currentDir');
37+ if (parent.data('type') === 'folder') {
38+ const nameBlock = parent.find('td[data-identifier="name"]');
39+ const currentName = decodeURIComponent(nameBlock.attr('data-name'));
40+ const currentPath = decodeURIComponent(nameBlock.data('path'));
41+ newFilePath = `${currentPath}${currentName}`;
42+ }
3543 return '<ul id =" fileOptionMenu" class =" dropdown-menu" role =" menu" style =" display :none " > \
3644 <li data-action =" move" ><a tabindex =" -1" href =" #" ><i class =" fa fa-arrow-right" ></i > Move</a ></li > \
3745 <li data-action =" copy" ><a tabindex =" -1" href =" #" ><i class =" fa fa-clone" ></i > Copy</a ></li > \
3846 <li data-action =" rename" ><a tabindex =" -1" href =" #" ><i class =" fa fa-pencil-square-o" ></i > Rename</a ></li > \
3947 <li data-action =" compress" class =" hidden" ><a tabindex =" -1" href =" #" ><i class =" fa fa-file-archive-o" ></i > Compress</a ></li > \
4048 <li data-action =" decompress" class =" hidden" ><a tabindex =" -1" href =" #" ><i class =" fa fa-expand" ></i > Decompress</a ></li > \
4149 <li class =" divider" ></li > \
50+ <li data-action =" file" ><a href =" /server/{{ $server -> uuidShort } } /files/add/?dir=' + newFilePath + '" class =" text-muted" ><i class =" fa fa-plus" ></i > New File</a ></li > \
51+ <li data-action =" folder" ><a tabindex =" -1" href =" #" ><i class =" fa fa-folder" ></i > New Folder</a ></li > \
52+ <li class =" divider" ></li > \
4253 <li data-action =" download" class =" hidden" ><a tabindex =" -1" href =" #" ><i class =" fa fa-download" ></i > Download</a ></li > \
4354 <li data-action =" delete" class =" bg-danger" ><a tabindex =" -1" href =" #" ><i class =" fa fa-trash-o" ></i > Delete</a ></li > \
4455 </ul >';
@@ -48,7 +59,7 @@ class ContextMenuClass {
4859 $('#file_listing > tbody td').on('contextmenu', event => {
4960
5061 const parent = $(event.target).closest('tr');
51- const menu = $(this.makeMenu());
62+ const menu = $(this.makeMenu(parent ));
5263
5364 if (parent.data('type') === 'disabled') return;
5465 event.preventDefault();
@@ -102,6 +113,11 @@ class ContextMenuClass {
102113 Actions.decompress();
103114 });
104115
116+ $(menu).find('li[data-action="folder"]').unbind().on('click', e => {
117+ e.preventDefault();
118+ Actions.folder();
119+ });
120+
105121 $(menu).find('li[data-action="download"]').unbind().on('click', e => {
106122 e.preventDefault();
107123 Actions.download();
0 commit comments