Skip to content

JavaScript File Manager Material Design Folder Explorer Navigator Browser Manager in AngularJS with CSS3 Responsive (with FTP in PHP / Java / Node)

License

Notifications You must be signed in to change notification settings

tungchem1607/angular-filemanager

 
 

Repository files navigation

Update Dec 2018

Hi!, I am moving the project from AngularJS to React + Redux (react-filemanager), it's very important for me your collaboration on my development tasks and time. Please help me to move forward with a donation by paypal :) Donate


angular-filemanager

A very smart filemanager to manage your files in the browser developed in AngularJS following Material Design styles by Jonas Sciangula Street

This project provides a web file manager interface, allowing you to create your own backend connector following the connector API. By the way, we provide some example backend connectors in many languages as example (php-ftp, php-local, python, etc)

Build Status


Features

  • Multiple file support
  • Multilanguage
  • List and Icon view
  • Multiple file upload
  • Pick files callback for third parties apps
  • Search files
  • Directory tree navigation
  • Copy, Move, Rename (Interactive UX)
  • Delete, Edit, Preview, Download
  • File permissions (Unix chmod style)
  • Mobile support

TODO

  • Drag and drop
  • Dropbox and Google Drive connectors
  • Remove usage of jQuery

Backend API

Read the docs


Using in your existing project

1) Install deps using yarn with yarn install

2) Include the dependencies in your project

<!-- third party -->
  <script src="node_modules/jquery/dist/jquery.min.js"></script>
  <script src="node_modules/angular/angular.min.js"></script>
  <script src="node_modules/angular-translate/dist/angular-translate.min.js"></script>
  <script src="node_modules/ng-file-upload/dist/ng-file-upload.min.js"></script>
  <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="node_modules/bootswatch/paper/bootstrap.min.css" />

<!-- angular-filemanager -->
  <link rel="stylesheet" href="dist/angular-filemanager.min.css">
  <script src="dist/angular-filemanager.min.js"></script>

3) Use the angular directive in your HTML

<angular-filemanager></angular-filemanager>

Extending the configuration file by adding a script

<script type="text/javascript">
angular.module('FileManagerApp').config(['fileManagerConfigProvider', function (config) {
  var defaults = config.$get();
  config.set({
    appName: 'angular-filemanager',
    pickCallback: function(item) {
      var msg = 'Picked %s "%s" for external use'
        .replace('%s', item.type)
        .replace('%s', item.fullPath());
      window.alert(msg);
    },

    allowedActions: angular.extend(defaults.allowedActions, {
      pickFiles: true,
      pickFolders: false,
    }),
  });
}]);
</script>

Create a new build with your changes

  gulp build || node node_modules/gulp/bin/gulp.js build

You can do many things by extending the configuration. Like hide the sidebar or the search button. See the list of default configurations.


Contribute

To contribute to the project you can simply fork this repo. To build a minified version, you can simply run the Gulp task gulp build. The minified/uglified files are created in the dist folder.

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, angular-filemanager is maintained under the Semantic Versioning guidelines.

Copyright and license

Code and documentation released under the MIT license.

About

JavaScript File Manager Material Design Folder Explorer Navigator Browser Manager in AngularJS with CSS3 Responsive (with FTP in PHP / Java / Node)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 49.6%
  • HTML 18.0%
  • PHP 11.9%
  • Python 7.0%
  • Java 6.4%
  • CSS 4.1%
  • Lua 3.0%