const $ = require('jquery')
const Vue = require('vue').default
const FileManager = require('../components/file-manager/FileManager').default
const createModal = function () {
let container = $('#fm-modal')
const body = $('body')
if (!container.length) {
container = $('
')
body.append(container)
}
container.html(`
`)
$(container).modal('show')
return $(container)
}
const fileManagerBrowser = function (callback) {
const container = createModal()
const clickCallback = (e) => {
callback($(e.target).attr('data-value'), {})
$('#modal-container').modal('hide')
container.modal('hide')
$('body').off('click', '#file-manager-insert', clickCallback)
}
$('body').on('click', '#file-manager-insert', clickCallback)
return new Vue({
el: '#fm-modal-content',
template: '
',
components: {
FileManager
}
})
}
module.exports = function () {
$('body').on('click', '.form-filepicker-picker', (e) => {
e.preventDefault()
const picker = $(e.target)
const id = '#' + picker.attr('data-target')
const input = $(id)
fileManagerBrowser((value) => {
value = value.replace(/^\//, '')
picker.parent('.form-filepicker-container').find('input.form-filepicker-picker').val(value)
input.val(value)
})
})
}