settings-tab-editor-homepage-order.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. $GLOBALS['organizrPages'][] = 'settings_tab_editor_homepage_order';
  3. function get_page_settings_tab_editor_homepage_order($Organizr)
  4. {
  5. if (!$Organizr) {
  6. $Organizr = new Organizr();
  7. }
  8. if ((!$Organizr->hasDB())) {
  9. return false;
  10. }
  11. if (!$Organizr->qualifyRequest(1, true)) {
  12. return false;
  13. }
  14. return '
  15. <script>
  16. $("#homepage-items-sort").sortable({
  17. placeholder: "sort-placeholder col-md-3 col-xs-12 m-t-10 clearfix",
  18. forcePlaceholderSize: true,
  19. start: function( e, ui ){
  20. ui.item.data( "start-pos", ui.item.index()+1 );
  21. },
  22. change: function( e, ui ){
  23. var seq,
  24. startPos = ui.item.data( "start-pos" ),
  25. $index,
  26. correction;
  27. correction = startPos <= ui.placeholder.index() ? 0 : 1;
  28. ui.item.parent().find( "div.sort-homepage").each( function( idx, el ){
  29. var $this = $( el ),
  30. $index = $this.index();
  31. if ( ( $index+1 >= startPos && correction === 0) || ($index+1 <= startPos && correction === 1 ) ){
  32. $index = $index + correction;
  33. $this.find( ".ordinal-position").text( $index);
  34. link = $this.find( ".ordinal-position" ).attr("data-link");
  35. $("#homepage-values [name="+link+"]").val($index);
  36. $("#homepage-values [name="+link+"]").attr("data-changed", "true");
  37. }
  38. });
  39. seq = ui.item.parent().find( "div.sort-placeholder.col-md-3").index() + correction;
  40. ui.item.find( ".ordinal-position" ).text( seq );
  41. newlink = ui.item.find( ".ordinal-position" ).attr("data-link");
  42. $("#homepage-values [name="+newlink+"]").val(seq);
  43. $("#homepage-values [name="+newlink+"]").attr("data-changed", "true");
  44. $("#submitHomepageOrder-save").removeClass("hidden");
  45. }
  46. });
  47. </script>
  48. <div class="panel bg-org panel-info">
  49. <div class="panel-heading">
  50. <span lang="en">Homepage Order</span>
  51. <button id="submitHomepageOrder-save" type="button" class="btn btn-sm btn-info btn-rounded waves-effect waves-light pull-right animated loop-animation rubberBand hidden" onclick="submitHomepageOrder()" ><span class="btn-label"><i class="fa fa-save"></i></span><span lang="en">Save</span></button>
  52. </div>
  53. <div class="panel-wrapper collapse in" aria-expanded="true">
  54. <div class="panel-body bg-org" >
  55. <div class="row el-element-overlay m-b-40" id="settings-homepage-order">' . $Organizr->buildHomepageSettings() . '</div>
  56. </div>
  57. </div>
  58. </div>
  59. ';
  60. }