Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 5cba9e9

Browse files
committed
v3.8.0
1 parent 2608eeb commit 5cba9e9

File tree

9 files changed

+80
-70
lines changed

9 files changed

+80
-70
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<h1 align="center">
22
Laravel Media Manager
33
<br>
4-
<a href="https://packagist.org/packages/laravel/laravel"><img src="https://img.shields.io/badge/Laravel-v6+-red" alt="Browser Status"/></a>
4+
<a href="https://packagist.org/packages/laravel/laravel"><img src="https://img.shields.io/badge/Laravel-v7+-red" alt="Browser Status"/></a>
55
<a href="https://packagist.org/packages/ctf0/media-manager"><img src="https://img.shields.io/packagist/v/ctf0/media-manager.svg" alt="Latest Stable Version"/></a>
66
<a href="https://packagist.org/packages/ctf0/media-manager"><img src="https://img.shields.io/packagist/dt/ctf0/media-manager.svg" alt="Total Downloads"/></a>
77
<br>
@@ -43,7 +43,7 @@
4343

4444
```bash
4545
yarn add vue vue-ls vue-infinite-loading vue-image-compare2 vue-tippy@v2 vue2-filters vue-input-autowidth vue-notif vue-clipboard2 vue-awesome@v2 vue-touch@next vue-focuspoint-component axios dropzone cropperjs keycode lottie-web plyr fuse.js music-metadata-browser idb-keyval annyang
46-
yarn add worker-loader --dev
46+
yarn add buffer process --dev
4747
```
4848

4949
- add this one liner to your main js file and run `npm run watch` to compile your `js/css` files.
@@ -64,7 +64,7 @@
6464

6565
## Config
6666

67-
- [**config/mediaManager.php**](https://github.com/ctf0/Laravel-Media-Manager/blob/master/src/config/mediaManager.php)
67+
- [**config/mediaManager.php**](./src/config/mediaManager.php)
6868

6969
<br>
7070

@@ -138,7 +138,7 @@
138138
<br>
139139

140140
| navigation | button | keyboard | click / tap | touch |
141-
|----------------------|-----------------------------------------------------|------------------|------------------------------|---------------------------------|
141+
| -------------------- | --------------------------------------------------- | ---------------- | ---------------------------- | ------------------------------- |
142142
| | toggle upload panel *(toolbar)* | u | | |
143143
| | refresh *(toolbar)* | r | hold *"clear cache"* | pinch in *(items container)* |
144144
| | [move/show movable list][movable] *(toolbar)* | m / p | | |
@@ -182,7 +182,7 @@
182182
## Events
183183

184184
| type | event-name | description |
185-
|-----------------|----------------------------------------------------|----------------------------------------------------------------------------|
185+
| --------------- | -------------------------------------------------- | -------------------------------------------------------------------------- |
186186
| [JS][js] | | |
187187
| | modal-show | when modal is shown |
188188
| | modal-hide | when modal is hidden |

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
}
1919
],
2020
"require": {
21-
"illuminate/support": ">=6.0 <9.0",
21+
"illuminate/support": ">=7.0 <9.0",
2222
"maennchen/zipstream-php": ">=1.0",
2323
"ctf0/package-changelog": "*",
2424
"jhofm/flysystem-iterator": "^2.2"

logs/v3.7.0.txt

Lines changed: 0 additions & 9 deletions
This file was deleted.

logs/v3.8.0.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
- use laravel mix v6
2+
- change minimum version for laravel to v7
3+
- remove `worker-loader` & use wp native worker support instead
4+
- add `buffer & process` to dev deps
5+
- update demo repo with the new changes
6+
- add new wiki for v6 upgrade https://github.com/ctf0/Laravel-Media-Manager/wiki/Laravel-Mix-V6

src/resources/assets/js/manager.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* Libs */
2-
import Vue2Filters from 'vue2-filters'
32
import VueClipboard from 'vue-clipboard2'
3+
import Vue2Filters from 'vue2-filters'
44

55
Vue.use(Vue2Filters)
66
Vue.use(VueClipboard)
@@ -27,8 +27,8 @@ Vue.use(VueTouch)
2727
// axios
2828
window.axios = require('axios')
2929
axios.defaults.headers.common = {
30-
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
31-
'X-Requested-With': 'XMLHttpRequest'
30+
'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
31+
'X-Requested-With' : 'XMLHttpRequest'
3232
}
3333
axios.interceptors.response.use(
3434
(response) => response,
@@ -44,8 +44,8 @@ axios.interceptors.response.use(
4444

4545
// vue-awesome
4646
require('./modules/icons')
47-
Vue.component('icon', require('vue-awesome/components/Icon').default)
48-
Vue.component('iconTypes', require('./components/utils/icon-types.vue').default)
47+
Vue.component('Icon', require('vue-awesome/components/Icon').default)
48+
Vue.component('IconTypes', require('./components/utils/icon-types.vue').default)
4949

5050
/* Components */
5151
Vue.component('MediaManager', require('./components/manager.vue').default)

src/resources/assets/js/modules/cache.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import DbWorker from 'worker-loader!../webworkers/db'
1+
const DbWorker = new Worker(
2+
new URL('../webworkers/db.js', import.meta.url),
3+
{
4+
name: 'db'
5+
/* webpackEntryOptions: { filename: "workers/[name].js" } */
6+
}
7+
)
28

39
export default {
410
methods: {
@@ -31,12 +37,11 @@ export default {
3137
/* idb */
3238
db(type, key = null, val = null) {
3339
return new Promise((resolve) => {
34-
const db = new DbWorker()
35-
db.addEventListener('message', (e) => resolve(e.data))
36-
db.postMessage({
37-
type: type, // get,set,del,clr,keys
38-
key: key ? encodeURI(key) : null,
39-
val: val
40+
DbWorker.onmessage = (e) => resolve(e.data)
41+
DbWorker.postMessage({
42+
type : type, // get,set,del,clr,keys
43+
key : key ? encodeURI(key) : null,
44+
val : val
4045
})
4146
}).then((data) => data)
4247
}

src/resources/assets/js/modules/media_player.js

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
1-
import Plyr from 'plyr'
2-
import AudioWorker from 'worker-loader!../webworkers/audio'
31
import omit from 'lodash/omit'
2+
import Plyr from 'plyr'
3+
4+
const AudioWorker = new Worker(
5+
new URL('../webworkers/audio.js', import.meta.url),
6+
{
7+
name: 'audio'
8+
/* webpackEntryOptions: { filename: "workers/[name].js" } */
9+
}
10+
)
411

512
export default {
613
methods: {
714
initPlyr() {
815
let options = {
9-
debug: false,
10-
controls: ['play-large', 'play', 'progress', 'current-time', 'mute', 'volume', 'fullscreen'],
11-
tooltips: {controls: true, seek: true},
12-
keyboard: {focused: false, global: false}
16+
debug : false,
17+
controls : ['play-large', 'play', 'progress', 'current-time', 'mute', 'volume', 'fullscreen'],
18+
tooltips : {controls: true, seek: true},
19+
keyboard : {focused: false, global: false}
1320
}
1421

1522
if (!this.isASmallScreen || (this.isASmallScreen && this.activeModal)) {
@@ -44,9 +51,9 @@ export default {
4451
destroyPlyr() {
4552
if (this.player.item) this.player.item.destroy()
4653
this.player = {
47-
item: null,
48-
fs: false,
49-
playing: false
54+
item : null,
55+
fs : false,
56+
playing : false
5057
}
5158
},
5259
playMedia() {
@@ -68,15 +75,14 @@ export default {
6875
// cover could be corrupted when loaded from cache
6976
// so we have to refetch it
7077
// also to save space we cache all except 'cover'
71-
const audio = new AudioWorker()
72-
audio.addEventListener('message', ({data}) => {
78+
AudioWorker.onmessage = ({data}) => {
7379
if (!cache) {
7480
this.db('set', url, omit(data, ['cover']))
7581
}
7682

7783
this.audioFileMeta = data
78-
})
79-
audio.postMessage(url)
84+
}
85+
AudioWorker.postMessage(url)
8086
})
8187
},
8288
checkAudioData() {
Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
const musicMetadata = require('music-metadata-browser')
22

3-
self.addEventListener('message', (e) => {
3+
onmessage = async (e) => {
44
let url = e.data
55

6-
musicMetadata.fetchFromUrl(url)
7-
.then((val) => {
8-
let res = val.common
9-
let picture = res.picture
6+
let val = await musicMetadata.fetchFromUrl(url)
7+
let res = val.common
8+
let picture = res.picture
109

11-
self.postMessage({
12-
artist: res.artist,
13-
title: res.title,
14-
album: res.album,
15-
track: res.track.no,
16-
track_total: res.track.of,
17-
year: res.year,
18-
genre: res.genre ? res.genre[0] : null,
19-
cover: picture
20-
? URL.createObjectURL(new Blob([picture[0].data.buffer]))
21-
: null
22-
})
23-
})
24-
})
10+
postMessage({
11+
artist : res.artist,
12+
title : res.title,
13+
album : res.album,
14+
track : res.track.no,
15+
track_total : res.track.of,
16+
year : res.year,
17+
genre : res.genre ? res.genre[0] : null,
18+
cover : picture
19+
? URL.createObjectURL(new Blob([picture[0].data.buffer]))
20+
: null
21+
})
22+
}
Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,37 @@
11
const db = require('idb-keyval')
22
const store = new db.Store('ctf0-Media_Manager', 'media_manager')
33

4-
self.addEventListener('message', async (e) => {
4+
onmessage = (e) => {
55
let {type, key, val} = e.data
66

77
switch (type) {
88
case 'get':
99
db.get(key, store)
10-
.then((res) => self.postMessage(res))
10+
.then((res) => postMessage(res))
1111
break
12+
1213
case 'set':
1314
db.set(key, val, store)
14-
.then(() => self.postMessage(true))
15-
.catch(() => self.postMessage(false))
15+
.then(() => postMessage(true))
16+
.catch(() => postMessage(false))
1617
break
18+
1719
case 'del':
1820
db.del(key, store)
19-
.then(() => self.postMessage(true))
20-
.catch(() => self.postMessage(false))
21+
.then(() => postMessage(true))
22+
.catch(() => postMessage(false))
2123
break
24+
2225
case 'clr':
2326
db.clear(store)
24-
.then(() => self.postMessage(true))
25-
.catch(() => self.postMessage(false))
27+
.then(() => postMessage(true))
28+
.catch(() => postMessage(false))
2629
break
30+
2731
case 'keys':
2832
db.keys(store)
29-
.then((res) => self.postMessage(res))
30-
.catch(() => self.postMessage(false))
33+
.then((res) => postMessage(res))
34+
.catch(() => postMessage(false))
3135
break
3236
}
33-
})
37+
}

0 commit comments

Comments
 (0)