1- # laravel- file- manager (Frontend)
1+ # Laravel file manager (Frontend)
22
3- > File manager for Laravel - Frontend - Vue.js
4-
5- > Backend - Laravel 5 package - [ alexusmai/laravel-file-manager] ( https://github.com/alexusmai/laravel-file-manager )
3+ > Backend - Laravel package - [ alexusmai/laravel-file-manager] ( https://github.com/alexusmai/laravel-file-manager )
64
75![ Laravel File Manager] ( https://raw.github.com/alexusmai/vue-laravel-file-manager/master/src/assets/laravel-file-manager.gif?raw=true )
86
9- # v 2.4.0
10-
11- Now you can overwrite default settings using props
7+ # New in version 3
128
9+ - Vue.js 3
10+ - Bootstrap 5
11+ - Bootstrap icons
1312
1413## Installation
1514
@@ -23,90 +22,74 @@ $ npm install laravel-file-manager --save
2322** IF** your App using Vuex store
2423
2524```
25+ import { createApp } from 'vue';
26+ import { createStore } from 'vuex';
27+
28+ // Source main component
29+ import Main from './components/Main.vue';
2630import FileManager from 'laravel-file-manager'
27- import store from './path-to-your-store/store' // your Vuex store
31+ // your Vuex store
32+ import store from './path-to-your-store/store'
2833
29- Vue .use(FileManager, {store})
34+ createApp(Main) .use(store).use( FileManager, {store}).mount('#id');
3035```
3136
3237** ELSE** you need to create a new vuex instance
3338
3439```
35- import Vue from 'vue';
36- import Vuex from 'vuex';
37- import FileManager from 'laravel-file-manager'
40+ import { createApp } from 'vue';
41+ import { createStore } from 'vuex';
3842
39- Vue.use(Vuex);
43+ // Source main component
44+ import Main from './components/Main.vue';
45+ import FileManager from 'laravel-file-manager'
4046
41- // create Vuex store, if you don't have it
42- const store = new Vuex.Store ();
47+ // Create a new store instance.
48+ const store = createStore ();
4349
44- Vue .use(FileManager, {store});
50+ createApp(Main) .use(store).use( FileManager, {store}).mount('#id' );
4551```
4652
4753` The application store module will be registered under the name 'fm' `
4854
49- You can overwrite some default settings
55+ Now vue component is registered and you can use it in your app
56+ ```
57+ <file-manager></file-manager>
58+ ```
59+
60+ ### You can overwrite some default settings
5061
5162```
5263// In the new version 2.4.0 and higher
5364<file-manager v-bind:settings="settings"></file-manager>
5465
5566...
5667// settings object structure
57- settings: {
58- // axios headers
59- headers: {
60- 'X-Requested-With': 'XMLHttpRequest',
61- Authorization: `Bearer ${window.localStorage.getItem('user-token')}`,
62- },
63- baseUrl: 'http://test.loc/file-manager/', // overwrite base url Axios
64- windowsConfig: 2, // overwrite config
65- lang: 'de', // set language
66- translation: { // add new translation
67- name: de,
68- content: {
69- about: 'Über',
70- back: 'Zurück',
71- ... see lang file structure
68+ computed: {
69+ settings() {
70+ return {
71+ // axios headers
72+ headers: {
73+ 'X-Requested-With': 'XMLHttpRequest',
74+ Authorization: `Bearer ${window.localStorage.getItem('user-token')}`,
75+ },
76+ baseUrl: 'http://test.loc/file-manager/', // overwrite base url Axios
77+ windowsConfig: 2, // overwrite config
78+ lang: 'de', // set language
79+ translation: { // add new translation
80+ name: de,
81+ content: {
82+ about: 'Über',
83+ back: 'Zurück',
84+ ... see lang file structure
85+ },
86+ },
87+ };
7288 },
73- },
74- },
89+ }
7590...
7691
77- // Old versions
78- Vue.use(FileManager, {
79- store, // required
80-
81- // not required params
82-
83- headers: {
84- 'X-Requested-With': 'XMLHttpRequest',
85- 'Authorization': 'Bearer ...'
86- },
87- // default headers example
88- headers: {
89- 'X-Requested-With': 'XMLHttpRequest',
90- 'X-CSRF-TOKEN': 'set laravel csrf token here...'
91- },
92-
93- baseUrl: 'http://my_url:80/file-manager/', // overwrite base url Axios
94- windowsConfig: 2,
95- lang: 'de', // set language
96- translation: { // add new translation
97- name: de,
98- content: {
99- about: 'Über',
100- back: 'Zurück',
101- ... see lang file structure
102- },
103- },
104- }
105- ```
10692
107- Now vue component is registered and you can use it in your app
108- ```
109- <file-manager></file-manager>
11093```
11194
11295## Available Props
@@ -121,25 +104,22 @@ Now vue component is registered and you can use it in your app
121104| lang | String | 'de' | No | Set language |
122105| translation | Object | { ... see lang file structure }, | No | Add new translation |
123106
124- ## CSRF, Bootstrap, FontAwesome
107+ ## CSRF, Bootstrap, Bootstrap icons
125108
126- Don't forget add a csrf token to head block in your Laravel view and add bootstrap 4 and fontawesome 5 styles
109+ Don't forget to add a csrf token to head block in your Laravel view and add bootstrap 5 and bootstrap icons 5 styles
127110```
128111<!-- CSRF Token -->
129112<meta name="csrf-token" content="{{ csrf_token() }}">
130113<!-- Example -->
131- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/ css/all .css">
132- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css /bootstrap.min .css">
114+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/ css/bootstrap.min .css">
115+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font /bootstrap-icons .css">
133116```
134117
135- You can use [ environment variables] ( https://laravel.com/docs/mix#environment-variables )
136-
118+ [ Laravel mix environment variables] ( https://laravel.com/docs/mix#environment-variables )
137119```
138120// set baseUrl
139121MIX_LFM_BASE_URL=http://my-url.loc/file-manager/
140122
141123// if you don't want to use csrf-token - you can off it
142124MIX_LFM_CSRF_TOKEN=OFF
143125```
144-
145- Warning! Package use axios (Promise) - use babel-polyfill for ie11
0 commit comments