/*
* decaffeinate suggestions:
* DS102: Remove unnecessary code created because of implicit returns
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
*/
/* eslint-env jquery */
window.cama_init_media = function(mediaPanel) {
const mediaInfo = mediaPanel.find('.media_file_info')
const mediaFilesPanel = mediaPanel.find('.media_browser_list')
const mediaInfoTabInfo = mediaPanel.find('.media_file_info_col .nav-tabs .link_media_info')
const mediaLinkTabUpload = mediaPanel.find('.media_file_info_col .nav-tabs .link_media_upload')
// ############### visualize item
// loading last opened folder on current page
mediaPanel.ready(function() {
const f = $('body').data('last-folder')
return mediaPanel.trigger('navigate_to', { folder: f })
})
// return the data of this file
const fileData = function(item) {
const data = item.data('eval-data') || eval('(' + item.find('.data_value').val() + ')')
item.data('eval-data', data)
return data
}
const showFile = function(item) {
item.addClass('selected').siblings().removeClass('selected')
const data = fileData(item)
mediaInfoTabInfo.click()
let tpl =
"
" +
"
' +
'
' + I18n('button.size') + ': ' +
window.camaHumanFileSize(parseFloat(data.file_size)) + '
' +
'
'
if (window.callback_media_uploader) {
if (
!mediaPanel.attr('data-formats') ||
(mediaPanel.attr('data-formats') &&
(
($.inArray(data.file_type, mediaPanel.attr('data-formats').split(',')) >= 0) ||
($.inArray(data.url.split('.').pop().toLowerCase(), mediaPanel.attr('data-formats').split(',')) >= 0))
)
) {
tpl += "'
}
}
mediaInfo.html(tpl)
mediaInfo.find('.p_thumb').html(item.find('.thumb').html())
if (data.file_type === 'image') {
let editImg
if (item.find('.edit_item')) { // add button to edit image
editImg = $(
'' +
I18n(
'msg.cors_error',
'Please verify the following:
- If the image exist: %{url_img}
- Check if cors configuration are defined well, only for external images: S3, cloudfront(if you are using cloudfront).
More information about CORS:
here.', { url_img: data.url, url_blog: 'https://blog.digitalis.io/how-to-add-cors-to-s3-with-cloudfront-1be59c74abaa' }
) +
'
'
)
)
}
}
if (mediaPanel.attr('data-dimension')) { // TODO: control dimensions
const dim = mediaPanel.attr('data-dimension').split('x')
if (dim[0]) {
cropperData.data.width = parseFloat(dim[0].match(/\d+/)[0])
fieldWidth.val(cropperData.data.width)
if (dim[0].search(/\?/) > -1)
fieldWidth.attr('max', cropperData.data.width)
else
fieldWidth.prop('readonly', true)
}
if (dim[1]) {
cropperData.data.height = parseFloat(dim[1].match(/\d+/)[0])
fieldHeight.val(cropperData.data.height)
if (dim[1].search(/\?/) > -1)
fieldHeight.attr('max', cropperData.data.height)
else
fieldHeight.prop('readonly', true)
}
if (dim[0] && (dim[0].search(/\?/) === -1) && dim[1] && (dim[1].search(/\?/) === -1))
cropperData.aspectRatio = cropperData.data.width / cropperData.data.height
}
cropper = modal.find('img.editable').cropper(cropperData)
return hideLoading()
}
, 300))
}
open_modal({
zindex: 999991,
id: 'media_panel_editor_image',
title: I18n('button.edit_image', 'Edit Image') + ' - ' + data.name + (mediaPanel.attr('data-dimension') ? '