4
0

settings-tab-editor-categories.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. $GLOBALS['organizrPages'][] = 'settings_tab_editor_categories';
  3. function get_page_settings_tab_editor_categories($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. $iconSelectors = '
  15. $(".categoryIconIconList").select2({
  16. ajax: {
  17. url: \'api/v2/icon\',
  18. data: function (params) {
  19. var query = {
  20. search: params.term,
  21. page: params.page || 1
  22. }
  23. return query;
  24. },
  25. processResults: function (data, params) {
  26. params.page = params.page || 1;
  27. return {
  28. results: data.response.data.results,
  29. pagination: {
  30. more: (params.page * 20) < data.response.data.total
  31. }
  32. };
  33. },
  34. //cache: true
  35. },
  36. placeholder: \'Search for an icon\',
  37. templateResult: formatIcon,
  38. templateSelection: formatIcon
  39. });
  40. $(".categoryIconImageList").select2({
  41. ajax: {
  42. url: \'api/v2/image/select\',
  43. data: function (params) {
  44. var query = {
  45. search: params.term,
  46. page: params.page || 1
  47. }
  48. return query;
  49. },
  50. processResults: function (data, params) {
  51. params.page = params.page || 1;
  52. return {
  53. results: data.response.data.results,
  54. pagination: {
  55. more: (params.page * 20) < data.response.data.total
  56. }
  57. };
  58. },
  59. //cache: true
  60. },
  61. placeholder: \'Search for an image\',
  62. templateResult: formatImage,
  63. templateSelection: formatImage
  64. });
  65. ';
  66. return '
  67. <script>
  68. buildCategoryEditor();
  69. $( \'#categoryEditorTable\' ).sortable({
  70. stop: function () {
  71. var inputs = $(\'input.order\');
  72. var nbElems = inputs.length;
  73. inputs.each(function(idx) {
  74. $(this).val(idx + 1);
  75. });
  76. submitCategoryOrder();
  77. }
  78. });
  79. ' . $iconSelectors . '
  80. </script>
  81. <div class="panel bg-org panel-info">
  82. <div class="panel-heading">
  83. <span lang="en">Category Editor</span>
  84. <button type="button" class="btn btn-success btn-circle pull-right popup-with-form m-r-5" href="#new-category-form" data-effect="mfp-3d-unfold"><i class="fa fa-plus"></i> </button>
  85. </div>
  86. <div class="table-responsive">
  87. <form id="submit-categories-form" onsubmit="return false;">
  88. <table class="table table-hover manage-u-table">
  89. <thead>
  90. <tr>
  91. <th width="70" class="text-center">#</th>
  92. <th lang="en">NAME</th>
  93. <th lang="en" style="text-align:center">TABS</th>
  94. <th lang="en" style="text-align:center">DEFAULT</th>
  95. <th lang="en" style="text-align:center">EDIT</th>
  96. <th lang="en" style="text-align:center">DELETE</th>
  97. </tr>
  98. </thead>
  99. <tbody id="categoryEditorTable"><td class="text-center" colspan="6"><i class="fa fa-spin fa-spinner"></i></td></tbody>
  100. </table>
  101. </form>
  102. </div>
  103. </div>
  104. <form id="new-category-form" class="mfp-hide white-popup-block mfp-with-anim">
  105. <h1 lang="en">Add New Category</h1>
  106. <fieldset style="border:0;">
  107. <div class="form-group">
  108. <label class="control-label" for="new-category-form-inputNameNew" lang="en">Category Name</label>
  109. <input type="text" class="form-control" id="new-category-form-inputNameNew" name="category" required="" autofocus>
  110. </div>
  111. <div class="row">
  112. <div class="form-group col-lg-6">
  113. <label class="control-label" for="new-category-form-chooseImage" lang="en">Choose Image</label>
  114. <select class="form-control categoryIconImageList" id="new-category-form-chooseImage" name="chooseImage"><option lang="en">Select or type Image</option></select>
  115. </div>
  116. <div class="form-group col-lg-6">
  117. <label class="control-label" for="new-category-form-chooseIcon" lang="en">Choose Icon</label>
  118. <select class="form-control categoryIconIconList" id="new-category-form-chooseIcon" name="chooseIcon"><option lang="en">Select or type Icon</option></select>
  119. </div>
  120. </div>
  121. <div class="form-group">
  122. <label class="control-label" for="new-category-form-inputImageNew" lang="en">Category Image</label>
  123. <input type="text" class="form-control" id="new-category-form-inputImageNew" name="image" required="">
  124. </div>
  125. </fieldset>
  126. <button class="btn btn-sm btn-info btn-rounded waves-effect waves-light pull-right row b-none addNewCategory" type="button"><span class="btn-label"><i class="fa fa-plus"></i></span><span lang="en">Add Category</span></button>
  127. <div class="clearfix"></div>
  128. </form>
  129. <form id="edit-category-form" class="mfp-hide white-popup-block mfp-with-anim">
  130. <input type="hidden" name="id" value="">
  131. <h1 lang="en">Edit Category</h1>
  132. <fieldset style="border:0;">
  133. <div class="form-group">
  134. <label class="control-label" for="edit-category-form-inputName" lang="en">Category Name</label>
  135. <input type="text" class="form-control" id="edit-category-form-inputName" name="category" required="" autofocus>
  136. </div>
  137. <div class="row">
  138. <div class="form-group col-lg-6">
  139. <label class="control-label" for="edit-category-form-chooseImage" lang="en">Choose Image</label>
  140. <select class="form-control categoryIconImageList" id="edit-category-form-chooseImage" name="chooseImage"><option lang="en">Select or type Image</option></select>
  141. </div>
  142. <div class="form-group col-lg-6">
  143. <label class="control-label" for="edit-category-form-chooseIcon" lang="en">Choose Icon</label>
  144. <select class="form-control categoryIconIconList" id="edit-category-form-chooseIcon" name="chooseIcon"><option lang="en">Select or type Icon</option></select>
  145. </div>
  146. </div>
  147. <div class="form-group">
  148. <label class="control-label" for="edit-category-form-inputImage" lang="en">Category Image</label>
  149. <input type="text" class="form-control" id="edit-category-form-inputImage" name="image" required="">
  150. </div>
  151. </fieldset>
  152. <button class="btn btn-sm btn-info btn-rounded waves-effect waves-light pull-right row b-none editCategory" type="button"><span class="btn-label"><i class="fa fa-plus"></i></span><span lang="en">Edit Category</span></button>
  153. <div class="clearfix"></div>
  154. </form>
  155. ';
  156. }