Skip to content

Commit d7319a5

Browse files
committed
manager (add) add preview to image TVs
1 parent 52588ef commit d7319a5

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

manager/actions/mutate_content.dynamic.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@
153153
$lockElementType = 7;
154154
require_once(MODX_MANAGER_PATH . 'includes/active_user_locks.inc.php');
155155
?>
156+
<style>
157+
.image_for_field[data-image] { display: block; content: ""; width: 120px; height: 120px; margin: .1rem .1rem 0 0; border: 1px #ccc solid; background: #fff 50% 50% no-repeat; background-size: contain; cursor: pointer }
158+
.image_for_field[data-image=""] { display: none }
159+
160+
</style>
156161
<script type="text/javascript">
157162
/* <![CDATA[ */
158163

@@ -542,6 +547,17 @@ function SetUrl(url, width, height, alt) {
542547
<?php $ResourceManagerLoaded = true; } ?>
543548
/* ]]> */
544549
</script>
550+
<script>
551+
function evoRenderTvImageCheck(a) {
552+
var b = document.getElementById('image_for_' + a.target.id),
553+
c = new Image;
554+
a.target.value ? (c.src = "<?php echo EvolutionCMS()->getConfig('site_url')?>" + a.target.value, c.onerror = function () {
555+
b.style.backgroundImage = '', b.setAttribute('data-image', '');
556+
}, c.onload = function () {
557+
b.style.backgroundImage = 'url(\'' + this.src + '\')', b.setAttribute('data-image', this.src);
558+
}) : (b.style.backgroundImage = '', b.setAttribute('data-image', ''));
559+
}
560+
</script>
545561

546562
<form name="mutate" method="post" action="index.php" enctype="multipart/form-data" id="mutate" class="content" onsubmit="documentDirty=false;">
547563
<?php

manager/includes/tmplvars.inc.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,11 @@ function SetUrl(url, width, height, alt) {
226226
</script>";
227227
$ResourceManagerLoaded = true;
228228
}
229-
$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseServer(\'tv' . $field_id . '\')" />';
229+
$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseServer(\'tv' . $field_id . '\')" />
230+
<div class="col-12" style="padding-left: 0px;">
231+
<div id="image_for_tv' . $field_id . '" class="image_for_field" data-image="' . $field_value . '" onclick="BrowseServer(\'tv' . $field_id . '\')" style="background-image: url(\'' . EvolutionCMS()->getConfig('site_url') . $field_value . '\');"></div>
232+
<script>document.getElementById(\'tv' . $field_id . '\').addEventListener(\'change\', evoRenderTvImageCheck, false);</script>
233+
</div>';
230234
break;
231235
case "file": // handles the input of file uploads
232236
/* Modified by Timon for use with resource browser */

0 commit comments

Comments
 (0)