Explorar el Código

[filebrowser] adding 'open in importer' button in filebrowser

ayush.goyal hace 4 años
padre
commit
ffb4fe8a08

+ 1 - 0
apps/filebrowser/src/filebrowser/templates/listdir.mako

@@ -123,6 +123,7 @@ ${ fb_components.menubar() }
             </ul>
           </div>
           <button class="btn fileToolbarBtn" title="${_('Copy Path')}" data-bind="enable: selectedFiles().length == 1 && isCurrentDirSelected().length == 0, click: copyPath"><i class="fa fa-fw fa-files-o"></i> ${_('Copy Path')}</button>
+          <button class="btn fileToolbarBtn" title="${_('Open in Importer')}" data-bind="enable: selectedFiles().length == 1 && isCurrentDirSelected().length == 0, click: openInImporter"><i class="fa fa-fw fa-database"></i> ${_('Open in Importer')}</button>
           <button class="btn fileToolbarBtn" title="${_('Restore from trash')}" data-bind="visible: inRestorableTrash(), click: restoreTrashSelected, enable: selectedFiles().length > 0 && isCurrentDirSelected().length == 0"><i class="fa fa-cloud-upload"></i> ${_('Restore')}</button>
           <!-- ko ifnot: inTrash -->
           % if is_trash_enabled:

+ 4 - 0
apps/filebrowser/src/filebrowser/templates/listdir_components.mako

@@ -1707,6 +1707,10 @@ else:
         $.jHueNotify.info('${_('Path copied successfully to the clipboard')}');
       }
 
+      self.openInImporter = function () {
+        huePubSub.publish('open.in.importer', self.selectedFile().path);
+      }
+
       self.trashSelected = function () {
         self.skipTrash(false);
         deleteSelected();

+ 11 - 1
desktop/core/src/desktop/js/onePageViewModel.js

@@ -468,6 +468,16 @@ class OnePageViewModel {
       });
     };
 
+    const openImporterFilebrowser = function (path) {
+      self.loadApp('importer');
+      self.getActiveAppViewModel(vm => {
+        vm.createWizard.source.inputFormat('file');
+        window.setTimeout(() => {
+          vm.createWizard.source.path(path);
+        }, 0);
+      });
+    };
+
     self.dropzoneComplete = function (path) {
       if (path.toLowerCase().endsWith('.csv')) {
         openImporter(path);
@@ -477,7 +487,7 @@ class OnePageViewModel {
       $('.dz-drag-hover').removeClass('dz-drag-hover');
     };
 
-    huePubSub.subscribe('open.in.importer', openImporter);
+    huePubSub.subscribe('open.in.importer', openImporterFilebrowser);
 
     huePubSub.subscribe('assist.dropzone.complete', self.dropzoneComplete);