Skip to content

Commit 4057c84

Browse files
committed
new version - 2
1 parent 0e878f0 commit 4057c84

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+618
-490
lines changed

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
VUE_APP_AXIOS_BASE_URL=

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33

44
# Editor directories and files
55
/.idea/
6+
/.env.local

README.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@
66
77
![Laravel File Manager](https://raw.github.com/alexusmai/vue-laravel-file-manager/master/src/assets/laravel-file-manager.gif?raw=true)
88

9+
# v 2.0.0
10+
11+
* Audio player (mp3, ogg, wav, aac), Video player (webm, mp4) - ([Plyr](https://github.com/sampotts/plyr))
12+
* Code editor - ([Code Mirror](https://github.com/codemirror/codemirror))
13+
* Image cropper - ([Cropper.js](https://github.com/fengyuanchen/cropperjs))
14+
* Zip / Unzip - only for local disks
15+
16+
917
## Installation
1018

1119
### NPM
@@ -41,6 +49,30 @@ Vue.use(FileManager, {store});
4149

4250
`The application store module will be registered under the name 'fm'`
4351

52+
You can overwrite some default settings
53+
54+
```
55+
Vue.use(FileManager, {
56+
store, // required
57+
58+
// not required params
59+
headers: {'Authorization': 'Bearer ...'}, // add header
60+
// OR
61+
headers: {'X-CSRF-TOKEN': 'token'}, // overwrite default header Axios
62+
baseUrl: 'http://my_url:80/file-manager/', // overwrite base url Axios
63+
windowsConfig: 2,
64+
lang: 'de', // set language
65+
translation: { // add new translation
66+
name: de,
67+
content: {
68+
about: 'Über',
69+
back: 'Zurück',
70+
... see lang file structure
71+
},
72+
},
73+
}
74+
```
75+
4476
Now vue component is registered and you can use it in your app
4577
```
4678
<file-manager></file-manager>
@@ -55,4 +87,4 @@ Don't forget add a csrf token to head block in your Laravel view and add bootstr
5587
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
5688
```
5789

58-
Warning! Package use axios (Promise) - use babel-polyfill for ie11
90+
Warning! Package use axios (Promise) - use babel-polyfill for ie11

babel.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
module.exports = {
22
presets: [
3-
'@vue/app',
3+
[ '@vue/app', {
4+
useBuiltIns: 'entry'
5+
}]
46
],
57
};

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"@vue/test-utils": "^1.0.0-beta.20",
3636
"babel-core": "7.0.0-bridge.0",
3737
"babel-jest": "^23.0.1",
38+
"babel-polyfill": "^6.26.0",
3839
"node-sass": "^4.9.0",
3940
"sass-loader": "^7.0.1",
4041
"vue-template-compiler": "^2.5.17"

public/index.html

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@
66
<meta name="viewport" content="width=device-width,initial-scale=1.0">
77
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
88
<title>new-file-manager</title>
9-
<!--<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
10-
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">-->
11-
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
12-
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
9+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
10+
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
1311
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css"
1412
integrity="sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz" crossorigin="anonymous">
1513
</head>
1614
<body>
1715
<noscript>
18-
<strong>We're sorry but new-file-manager doesn't work properly without JavaScript enabled. Please enable it to
16+
<strong>We're sorry but file-manager doesn't work properly without JavaScript enabled. Please enable it to
1917
continue.</strong>
2018
</noscript>
2119
<div class="container">

src/FileManager.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ export default {
6666
}),
6767
},
6868
created() {
69+
// init base url
70+
this.$store.commit('fm/settings/initBaseUrl');
71+
6972
// add axios request interceptor
7073
requestInterceptor();
7174

src/assets/laravel-file-manager.gif

538 KB
Loading

src/components/blocks/mixins/contextMenu.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { apiURL } from '../../../http/helper';
2-
31
export default {
42
computed: {
53
/**
@@ -109,7 +107,7 @@ export default {
109107
* @returns {string}
110108
*/
111109
downloadLink() {
112-
return `${apiURL()}download?disk=${this.selectedDisk}&path=${encodeURIComponent(this.selectedItems[0].path)}`;
110+
return `${this.$store.getters['fm/settings/baseUrl']}download?disk=${this.selectedDisk}&path=${encodeURIComponent(this.selectedItems[0].path)}`;
113111
},
114112
},
115113
};

src/components/manager/GridView.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@
5353
<script>
5454
import translate from './../../mixins/translate';
5555
import helper from './../../mixins/helper';
56-
import managerHelper from './../../mixins/manager';
57-
import { apiURL } from '../../http/helper';
56+
import managerHelper from './mixins/manager';
5857
5958
export default {
6059
name: 'grid-view',
@@ -104,7 +103,7 @@ export default {
104103
* @returns {string}
105104
*/
106105
createImgUrl(path) {
107-
return `${apiURL()}thumbnails?disk=${this.disk}&path=${path}`;
106+
return `${this.$store.getters['fm/settings/baseUrl']}thumbnails?disk=${this.disk}&path=${path}`;
108107
},
109108
},
110109
};

src/components/manager/TableView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
<td class="fm-content-item unselectable">
7171
<i class="far"
7272
v-bind:class="extensionToIcon(file.extension)"></i>
73-
{{ file.filename }}
73+
{{ file.filename ? file.filename : file.basename }}
7474
</td>
7575
<td>{{ bytesToHuman(file.size) }}</td>
7676
<td>
@@ -88,7 +88,7 @@
8888
<script>
8989
import translate from './../../mixins/translate';
9090
import helper from './../../mixins/helper';
91-
import managerHelper from './../../mixins/manager';
91+
import managerHelper from './mixins/manager';
9292
9393
export default {
9494
name: 'table-view',

src/mixins/manager.js renamed to src/components/manager/mixins/manager.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Event bus
2-
import EventBus from './../eventBus';
2+
import EventBus from './../../../eventBus';
33

44
export default {
55
computed: {

src/components/modals/additions/Cropper.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,14 @@ export default {
280280
}
281281
}
282282
283+
.col-sm-3 {
284+
overflow: auto;
285+
286+
&::-webkit-scrollbar {
287+
display: none;
288+
}
289+
}
290+
283291
.cropper-preview {
284292
margin-bottom: 1rem;
285293
overflow: hidden;
@@ -307,7 +315,7 @@ export default {
307315
}
308316
}
309317
310-
.d-flex {
318+
& > .d-flex {
311319
padding: 1rem;
312320
border-top: 1px solid #e9ecef;
313321
}
File renamed without changes.

src/components/modals/views/About.vue

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,19 @@
2828
</a>
2929
</dd>
3030

31-
<dt class="col-3">License:</dt>
32-
<dd class="col-9">MIT License</dd>
31+
<dt class="col-3">Home:</dt>
32+
<dd class="col-9">
33+
<a href="http://webmai.ru/projects/file-manager" target="_blank">
34+
Laravel File Manager (RU)
35+
</a>
36+
</dd>
3337
</dl>
3438
</div>
3539
</div>
3640
</template>
3741

3842
<script>
39-
import modal from './../../../mixins/modal';
43+
import modal from './../mixins/modal';
4044
import translate from './../../../mixins/translate';
4145
4246
export default {

src/components/modals/views/AudioPlayer.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@
3939

4040
<script>
4141
import Plyr from 'plyr';
42-
import { apiURL } from '../../../http/helper';
43-
import modal from './../../../mixins/modal';
42+
import modal from './../mixins/modal';
4443
import translate from './../../../mixins/translate';
4544
4645
export default {
@@ -129,7 +128,7 @@ export default {
129128
type: 'audio',
130129
title: this.audioFiles[index].filename,
131130
sources: [{
132-
src: `${apiURL()}stream-file?disk=${this.selectedDisk}&path=${encodeURIComponent(this.audioFiles[index].path)}`,
131+
src: `${this.$store.getters['fm/settings/baseUrl']}stream-file?disk=${this.selectedDisk}&path=${encodeURIComponent(this.audioFiles[index].path)}`,
133132
type: `audio/${this.audioFiles[index].extension}`,
134133
}],
135134
};

src/components/modals/views/Clipboard.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
</template>
7171

7272
<script>
73-
import modal from './../../../mixins/modal';
73+
import modal from './../mixins/modal';
7474
import translate from './../../../mixins/translate';
7575
import helper from './../../../mixins/helper';
7676

src/components/modals/views/Delete.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
<script>
2626
import SelectedFileList from '../additions/SelectedFileList.vue';
27-
import modal from './../../../mixins/modal';
27+
import modal from './../mixins/modal';
2828
import translate from './../../../mixins/translate';
2929
3030
export default {

src/components/modals/views/NewFile.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</template>
3131

3232
<script>
33-
import modal from './../../../mixins/modal';
33+
import modal from './../mixins/modal';
3434
import translate from './../../../mixins/translate';
3535
3636
export default {

src/components/modals/views/NewFolder.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</template>
3131

3232
<script>
33-
import modal from './../../../mixins/modal';
33+
import modal from './../mixins/modal';
3434
import translate from './../../../mixins/translate';
3535
3636
export default {

src/components/modals/views/Preview.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,9 @@
3737

3838
<script>
3939
import CropperModule from './../additions/Cropper.vue';
40-
import modal from './../../../mixins/modal';
40+
import modal from './../mixins/modal';
4141
import translate from './../../../mixins/translate';
4242
import helper from './../../../mixins/helper';
43-
import { apiURL } from '../../../http/helper';
4443
4544
export default {
4645
name: 'Preview',
@@ -54,7 +53,7 @@ export default {
5453
},
5554
created() {
5655
// Create image URL
57-
this.imgUrl = `${apiURL()}preview?disk=${this.selectedDisk}&path=${encodeURIComponent(this.selectedItem.path)}`;
56+
this.imgUrl = `${this.$store.getters['fm/settings/baseUrl']}preview?disk=${this.selectedDisk}&path=${encodeURIComponent(this.selectedItem.path)}`;
5857
},
5958
computed: {
6059
/**
@@ -109,10 +108,11 @@ export default {
109108
padding: 0;
110109
111110
img {
111+
max-width: 100%;
112112
}
113113
}
114114
115-
.d-flex {
115+
& > .d-flex {
116116
padding: 1rem;
117117
border-top: 1px solid #e9ecef;
118118
}

src/components/modals/views/Properties.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
</template>
3333

3434
<script>
35-
import modal from './../../../mixins/modal';
35+
import modal from './../mixins/modal';
3636
import translate from './../../../mixins/translate';
3737
import helper from './../../../mixins/helper';
3838

src/components/modals/views/Rename.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
</template>
3333

3434
<script>
35-
import modal from './../../../mixins/modal';
35+
import modal from './../mixins/modal';
3636
import translate from './../../../mixins/translate';
3737
3838
export default {

src/components/modals/views/Status.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
</template>
2929

3030
<script>
31-
import modal from './../../../mixins/modal';
31+
import modal from './../mixins/modal';
3232
import translate from './../../../mixins/translate';
3333
3434
export default {

src/components/modals/views/TextEdit.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import 'codemirror/mode/ruby/ruby';
4141
import 'codemirror/mode/go/go';
4242
import 'codemirror/mode/yaml/yaml';
4343
import 'codemirror/mode/properties/properties';
44-
import modal from './../../../mixins/modal';
44+
import modal from './../mixins/modal';
4545
import translate from './../../../mixins/translate';
4646
4747
export default {

src/components/modals/views/Unzip.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
</template>
6262

6363
<script>
64-
import modal from './../../../mixins/modal';
64+
import modal from './../mixins/modal';
6565
import translate from './../../../mixins/translate';
6666
6767
export default {

src/components/modals/views/Upload.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
</template>
9595

9696
<script>
97-
import modal from './../../../mixins/modal';
97+
import modal from './../mixins/modal';
9898
import translate from './../../../mixins/translate';
9999
import helper from './../../../mixins/helper';
100100

src/components/modals/views/VideoPlayer.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616

1717
<script>
1818
import Plyr from 'plyr';
19-
import { apiURL } from '../../../http/helper';
20-
import modal from './../../../mixins/modal';
19+
import modal from './../mixins/modal';
2120
import translate from './../../../mixins/translate';
2221
2322
export default {
@@ -36,7 +35,7 @@ export default {
3635
type: 'video',
3736
title: this.videoFile.filename,
3837
sources: [{
39-
src: `${apiURL()}stream-file?disk=${this.selectedDisk}&path=${encodeURIComponent(this.videoFile.path)}`,
38+
src: `${this.$store.getters['fm/settings/baseUrl']}stream-file?disk=${this.selectedDisk}&path=${encodeURIComponent(this.videoFile.path)}`,
4039
type: `audio/${this.videoFile.extension}`,
4140
}],
4241
};

src/components/modals/views/Zip.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<script>
3838
import SelectedFileList from '../additions/SelectedFileList.vue';
39-
import modal from './../../../mixins/modal';
39+
import modal from './../mixins/modal';
4040
import translate from './../../../mixins/translate';
4141
4242
export default {

src/http/get.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ export default {
4444
* @param path
4545
* @returns {AxiosPromise<any>}
4646
*/
47-
properties(disk, path) {
47+
/* properties(disk, path) {
4848
return HTTP.get('properties', { params: { disk, path } });
49-
},
49+
}, */
5050

5151
/**
5252
* URL

0 commit comments

Comments
 (0)