ui-field-ordering.php 978 B

123456789101112131415161718192021222324252627282930313233
  1. <#
  2. // Make sure we have an options array.
  3. if ( '' === data.field.options ) {
  4. data.field.options = [];
  5. }
  6. // JSON parse if needed.
  7. if ( '' !== data.value && 'string' === typeof data.value ) {
  8. data.value = JSON.parse( data.value );
  9. }
  10. // Set the default value if we do not have one.
  11. if ( '' === data.value ) {
  12. data.value = Object.keys( data.field.options )[0];
  13. }
  14. // Make sure any new options are added to the value.
  15. for ( var key in data.field.options ) {
  16. if ( jQuery.inArray( key, data.value ) === -1 ) {
  17. data.value.push( key );
  18. }
  19. }
  20. var encodedValue = JSON.stringify( data.value );
  21. #>
  22. <div class="fl-ordering-field-options<# if ( data.field.className ) { #> {{data.field.className}}<# } #>">
  23. <# for ( var i in data.value ) { #>
  24. <div class="fl-ordering-field-option" data-key="{{data.value[ i ]}}">{{data.field.options[ data.value[ i ] ]}}<i class="fas fa-arrows-alt"></i></div>
  25. <# } #>
  26. </div>
  27. <input type="hidden" name="{{data.name}}" value='{{{encodedValue}}}' />