... | ... |
@@ -22,10 +22,14 @@ |
22 | 22 |
|
23 | 23 |
.rc_feature_image { |
24 | 24 |
max-width: 100%; |
25 |
- max-height: 80%; |
|
26 | 25 |
width: 50%; |
27 |
- height: 50%; |
|
26 |
+ height: auto; |
|
28 | 27 |
} |
29 | 28 |
.rc_remove_feature_image { |
30 | 29 |
display: none; |
30 |
+} |
|
31 |
+.rc-feature-image-preview img { |
|
32 |
+ max-width: 100%; |
|
33 |
+ width: 50%; |
|
34 |
+ height: auto; |
|
31 | 35 |
} |
32 | 36 |
\ No newline at end of file |
... | ... |
@@ -56,29 +56,59 @@ jQuery(document).ready(function(){ |
56 | 56 |
return false; |
57 | 57 |
}); |
58 | 58 |
// reservation feature image uploader |
59 |
- window.original_send_to_editor = window.send_to_editor; |
|
60 |
- window.send_to_editor = function(html){ |
|
61 |
- fileurl = jQuery('img', html).attr('src'); |
|
62 |
- jQuery('#rc_feature_image').val(fileurl); |
|
63 |
- tb_remove(); |
|
64 |
- if(jQuery('#rc_feature_image_upload').hasClass('has_image')){ |
|
65 |
- jQuery('.rc_feature_image').attr('src', fileurl); |
|
66 |
- jQuery('.rc_remove_feature_image').show(); |
|
67 |
- } else { |
|
68 |
- var img = jQuery('<img>').attr('src',fileurl).addClass('rc_feature_image size-thumbnail'); |
|
69 |
- jQuery('#rc_feature_image_upload').addClass('has_image').html(img); |
|
70 |
- jQuery('.rc_remove_feature_image').show(); |
|
71 |
- } |
|
72 |
- }; |
|
73 | 59 |
if(jQuery('#rc_feature_image_upload').hasClass('has_image')){ |
74 | 60 |
jQuery('.rc_remove_feature_image').show(); |
61 |
+ } else { |
|
62 |
+ jQuery('.rc_remove_feature_image').hide(); |
|
75 | 63 |
} |
76 |
- jQuery('.rc_remove_feature_image').on('click', function(){ |
|
77 |
- jQuery('#rc_feature_image').val(''); |
|
78 |
- var replace_text = jQuery('#rc_feature_image_upload').attr('title'); |
|
79 |
- jQuery('#rc_feature_image_upload').html(replace_text); |
|
80 |
- jQuery(this).hide(); |
|
81 |
- return false; |
|
64 |
+ var rc_feature_uploader; |
|
65 |
+ jQuery('#rc_feature_image_upload').on('click', function(e){ |
|
66 |
+ e.preventDefault(); |
|
67 |
+ e.stopPropagation(); |
|
68 |
+ var parent = jQuery(this).parents('.rc_feature_image_uploader'); |
|
69 |
+ if( rc_feature_uploader ){ |
|
70 |
+ rc_feature_uploader.open(); |
|
71 |
+ return; |
|
72 |
+ } |
|
73 |
+ /** @var object wp recieved form wordpress */ |
|
74 |
+ custom_uploader = wp.media({ |
|
75 |
+ title: "Set featured image for Reservation update", |
|
76 |
+ button: { |
|
77 |
+ text: "Choose Image" |
|
78 |
+ }, |
|
79 |
+ multiple: false |
|
80 |
+ }); |
|
81 |
+ custom_uploader.on( "select", function() { |
|
82 |
+ var image = custom_uploader.state().get( "selection" ); |
|
83 |
+ var preview = jQuery( ".rc-feature-image-preview", parent ); |
|
84 |
+ image.each(function( file ) { |
|
85 |
+ jQuery( "#rc_feature_image", parent ).val( file.toJSON().url ); |
|
86 |
+ var img = jQuery( "img", preview ); |
|
87 |
+ if ( img.length === 0 ) { |
|
88 |
+ preview.append( '<img src="' + file.toJSON().url + '" />' ); |
|
89 |
+ } else { |
|
90 |
+ img.attr( "src", file.toJSON().url ); |
|
91 |
+ } |
|
92 |
+ preview.css( "display", "block" ); |
|
93 |
+ }); |
|
94 |
+ }); |
|
95 |
+ custom_uploader.open(); |
|
82 | 96 |
}); |
97 |
+ // 削除 |
|
98 |
+ jQuery( ".rc_remove_feature_image" ).on( 'click', function( e ) { |
|
99 |
+ |
|
100 |
+ e.preventDefault(); |
|
101 |
+ e.stopPropagation(); |
|
102 |
+ |
|
103 |
+ var parent = jQuery(this).parents( ".rc_feature_image_uploader" ); |
|
104 |
+ jQuery( "#rc_feature_image", parent ).val(''); |
|
105 |
+ var preview = jQuery( ".rc-feature-image-preview", parent ); |
|
106 |
+ |
|
107 |
+ if ( jQuery( "img", preview ).length > 0 ) { |
|
108 |
+ jQuery( "img", preview ).remove(); |
|
109 |
+ } |
|
110 |
+ |
|
111 |
+ }); |
|
112 |
+ |
|
83 | 113 |
}); |
84 | 114 |
|
... | ... |
@@ -228,9 +228,23 @@ function add_rucy_metabox_inside() |
228 | 228 |
<label class="rc_feature_accept"> |
229 | 229 |
<input type="checkbox" name="<?php echo $reserv_accept_feature_name; ?>" value="1" <?php echo ($reserv_accept_feature == "1") ? "checked" : ""; ?>> <?php _e('Accept reserve update feature image.', RC_TXT_DOMAIN); ?> |
230 | 230 |
</label> |
231 |
-<p><a href="media-upload.php?type=image&TB_iframe=1&width=753&height=522&post_id=<?php echo $post->ID ?>" class="thickbox<?php echo ($reserv_feature_image != '') ? ' has_image' : ''; ?>" id="rc_feature_image_upload" title="<?php _e('Set featured image Reservation', RC_TXT_DOMAIN) ?>"><?php echo ($reserv_feature_image != '') ? $reserv_feature_image : __('Set featured image for Reservation', RC_TXT_DOMAIN); ?></a></p> |
|
232 |
-<p><a href="#" class="rc_remove_feature_image"><?php _e('Remove Featured image for Reservation', RC_TXT_DOMAIN) ?></a></p> |
|
231 |
+<div class="rc_feature_image_uploader"> |
|
232 |
+<!--<p><a href="media-upload.php?type=image&TB_iframe=1&width=753&height=522&post_id=<?php echo $post->ID ?>" class="thickbox<?php echo ($reserv_feature_image != '') ? ' has_image' : ''; ?>" id="rc_feature_image_upload" title="<?php _e('Set featured image Reservation', RC_TXT_DOMAIN) ?>"><?php echo ($reserv_feature_image != '') ? $reserv_feature_image : __('Set featured image for Reservation', RC_TXT_DOMAIN); ?></a></p>--> |
|
233 |
+<p><button id="rc_feature_image_upload" class="button rc-feature-uploader-button <?php echo ($reserv_feature_image != '') ? ' has_image' : ''; ?>"><?php _e('Set featured image for Reservation', RC_TXT_DOMAIN); ?></button></p> |
|
234 |
+ |
|
235 |
+<div class="rc-feature-image-uploader__ctrl"> |
|
236 |
+ <div class="rc-feature-image-preview"> |
|
237 |
+ <?php |
|
238 |
+ if ( ! empty( $reserv_feature_image ) ) { |
|
239 |
+ echo $reserv_feature_image; |
|
240 |
+ } |
|
241 |
+ ?> |
|
242 |
+ </div> |
|
243 |
+</div> |
|
244 |
+ |
|
245 |
+<p><button class="button rc_remove_feature_image"><?php _e('Remove Featured image for Reservation', RC_TXT_DOMAIN) ?></button></p> |
|
233 | 246 |
<input type="hidden" id="rc_feature_image" name="<?php echo $reserv_feature_name ?>" value="<?php echo $reserv_feature ?>" /> |
247 |
+</div> |
|
234 | 248 |
</fieldset> |
235 | 249 |
<?php |
236 | 250 |
} |