ui-field-photo.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <#
  2. var photo = null;
  3. if ( FLBuilderSettingsConfig.attachments[ data.value ] ) {
  4. photo = FLBuilderSettingsConfig.attachments[ data.value ];
  5. photo.isAttachment = true;
  6. } else if ( ! _.isEmpty( data.value ) ) {
  7. if ( data.settings[ data.name + '_src' ] ) {
  8. photo = {
  9. id: data.value,
  10. url: data.settings[ data.name + '_src' ],
  11. filename: data.settings[ data.name + '_src' ].split( '/' ).pop(),
  12. isAttachment: false
  13. };
  14. } else {
  15. photo = {
  16. id: 0,
  17. url: data.value,
  18. filename: data.value.split( '/' ).pop(),
  19. isAttachment: false
  20. };
  21. }
  22. }
  23. var className = data.field.className ? ' ' + data.field.className : '';
  24. if ( ! data.value || ! photo ) {
  25. className += ' fl-photo-empty';
  26. } else if ( photo ) {
  27. className += photo.isAttachment ? ' fl-photo-has-attachment' : ' fl-photo-no-attachment';
  28. }
  29. #>
  30. <div class="fl-photo-field fl-builder-custom-field{{className}}">
  31. <a class="fl-photo-select" href="javascript:void(0);" onclick="return false;"><?php _e( 'Select Photo', 'fl-builder' ); ?></a>
  32. <div class="fl-photo-preview">
  33. <div class="fl-photo-preview-img">
  34. <img src="<# if ( photo ) { var src = FLBuilder._getPhotoSrc( photo ); #>{{{src}}}<# } #>" />
  35. </div>
  36. <div class="fl-photo-preview-controls">
  37. <select name="{{data.name}}_src">
  38. <# if ( photo && data.settings[ data.name + '_src' ] ) {
  39. var sizes = FLBuilder._getPhotoSizeOptions( photo, data.settings[ data.name + '_src' ] );
  40. #>
  41. {{{sizes}}}
  42. <# } #>
  43. </select>
  44. <div class="fl-photo-preview-filename">
  45. <# if ( photo ) { #>{{{photo.filename}}}<# } #>
  46. </div>
  47. <br />
  48. <a class="fl-photo-edit" href="javascript:void(0);" onclick="return false;"><?php _e( 'Edit', 'fl-builder' ); ?></a>
  49. <# if ( data.field.show_remove ) { #>
  50. <a class="fl-photo-remove" href="javascript:void(0);" onclick="return false;"><?php _e( 'Remove', 'fl-builder' ); ?></a>
  51. <# } else { #>
  52. <a class="fl-photo-replace" href="javascript:void(0);" onclick="return false;"><?php _e( 'Replace', 'fl-builder' ); ?></a>
  53. <# } #>
  54. </div>
  55. </div>
  56. <input name="{{data.name}}" type="hidden" value='{{data.value}}' />
  57. </div>