managecollectionfields.html 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <h3 class="uk-h3"><?php echo $I18n->t('managefields.fieldsfor'); ?> <a href="index.php?p=managecolletions&m=edit&id=<?php echo $TemplateData['editData']['id']; ?>"><?php echo $TemplateData['editData']['name']; ?></a></h3>
  2. <div class="uk-grid-small uk-grid-row-small uk-grid-row-small" uk-grid>
  3. <div class="uk-width-1-2">
  4. <h4 class="uk-h4"><?php echo $I18n->t('managefields.addorremove'); ?></h4>
  5. <p><?php echo $I18n->t('managefields.addorremove.description'); ?></p>
  6. <div id="collectionFields" uk-sortable="group: sortable-group" class="uk-padding-small uk-padding-remove-left uk-padding-remove-right uk-background-muted">
  7. <?php foreach($TemplateData['existingFields'] as $k=>$v) { ?>
  8. <div data-field-id="<?php echo $k; ?>">
  9. <span class="uk-sortable-handle uk-margin-small-right" uk-icon="icon: table"></span>
  10. <?php echo $I18n->t($v['displayname']); ?> (<?php echo $v['type'],'; ',$v['identifier']; ?>)
  11. </div>
  12. <?php } ?>
  13. </div>
  14. <form class="uk-form-horizontal uk-margin-small" method="post" onsubmit="return saveOrderAndSubmit()">
  15. <input type="hidden" name="fdata[fieldSortString]" id="fieldSort"
  16. value="<?php echo $TemplateData['editData']['fieldSortString'] ?? ''; ?>">
  17. <div class="uk-margin">
  18. <button class="uk-button uk-button-primary" type="submit" name="submitForm">
  19. <?php echo $I18n->t('global.save'); ?>
  20. </button>
  21. </div>
  22. </form>
  23. </div>
  24. <div class="uk-width-1-2">
  25. <h4 class="uk-h4"><?php echo $I18n->t('managefields.fieldsavailable'); ?></h4>
  26. <div uk-sortable="group: sortable-group">
  27. <?php foreach($TemplateData['availableFields'] as $k=>$v) { ?>
  28. <div data-field-id="<?php echo $k; ?>">
  29. <span class="uk-sortable-handle uk-margin-small-right" uk-icon="icon: table"></span>
  30. <?php echo $I18n->t($v['displayname']); ?> (<?php echo $v['type'],'; ',$v['identifier']; ?>)
  31. </div>
  32. <?php } ?>
  33. </div>
  34. </div>
  35. </div>
  36. <script type="text/javascript">
  37. function saveOrderAndSubmit() {
  38. let list = document.getElementById("collectionFields");
  39. let fieldSort = document.getElementById("fieldSort");
  40. let sortString = '';
  41. if(list && list.children.length > 0 && fieldSort) {
  42. let fields = Array.from(list.children);
  43. fields.forEach(function(item, index) {
  44. sortString += item.getAttribute("data-field-id")+",";
  45. });
  46. fieldSort.value = sortString;
  47. return true;
  48. }
  49. return false;
  50. }
  51. </script>