ui-field-form.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <div class="fl-form-field fl-builder-custom-field"<# if ( data.field.preview_text ) { #> data-preview-text="{{{data.field.preview_text}}}"<# } #>>
  2. <div class="fl-form-field-preview-text">
  3. <#
  4. if ( 'string' === typeof data.value && '' !== data.value ) {
  5. data.value = JSON.parse( data.value );
  6. }
  7. if ( data.field.preview_text && 'object' === typeof data.value ) {
  8. var form = FLBuilderSettingsConfig.forms[ data.field.form ],
  9. text = '';
  10. for ( var tab in form.tabs ) {
  11. for ( var section in form.tabs[ tab ].sections ) {
  12. var fields = form.tabs[ tab ].sections[ section ].fields;
  13. if ( fields[ data.field.preview_text ] ) {
  14. var field = fields[ data.field.preview_text ];
  15. if ( 'icon' === field.type ) {
  16. text = '<i class="' + data.value[ data.field.preview_text ] + '"></i>';
  17. } else if ( 'select' === field.type ) {
  18. text = field.options[ data.value[ data.field.preview_text ] ];
  19. } else if ( '' !== data.value[ data.field.preview_text ] ) {
  20. var tmp = document.createElement( 'div' );
  21. text = data.value[ data.field.preview_text ].replace( /&#39;/g, "'" );
  22. tmp.innerHTML = text;
  23. text = ( tmp.textContent || tmp.innerText || '' ).replace( /^(.{35}[^\s]*).*/, "$1" ) + '...';
  24. }
  25. }
  26. }
  27. }
  28. }
  29. #>
  30. {{{text}}}
  31. </div>
  32. <#
  33. if ( 'object' === typeof data.value ) {
  34. data.value = FLBuilder._getSettingsJSONForHTML( data.value );
  35. }
  36. var label = FLBuilderStrings.editFormField.replace( '%s', data.field.label );
  37. #>
  38. <a class="fl-form-field-edit" href="javascript:void(0);" onclick="return false;" data-type="{{data.field.form}}">{{{label}}}</a>
  39. <input name="{{data.name}}" type="hidden" value='{{data.value}}' />
  40. </div>