main.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /**
  2. * Copyright (c) UNA, Inc - https://una.io
  3. * MIT License - https://opensource.org/licenses/MIT
  4. *
  5. * @defgroup Classes Classes
  6. * @ingroup UnaModules
  7. *
  8. * @{
  9. */
  10. function bx_classes_mark_as_completed (iClassId)
  11. {
  12. var sActionUrl = sUrlRoot + 'modules/index.php?r=classes/mark_class_as_completed/' + iClassId;
  13. $.post(sActionUrl, function (sData) {
  14. if (sData.length)
  15. bx_alert(sData);
  16. else
  17. document.location.reload();
  18. });
  19. }
  20. function bx_classes_show_module_add_form(iContextProfileId)
  21. {
  22. var sActionUrl = sUrlRoot + 'modules/index.php?r=classes/add_module/' + iContextProfileId + '/html';
  23. $(window).dolPopupAjax({url: sActionUrl, closeOnOuterClick: false, removeOnClose: true});
  24. }
  25. function bx_classes_show_module_edit_form(iContextProfileId, iModuleId)
  26. {
  27. var sActionUrl = sUrlRoot + 'modules/index.php?r=classes/edit_module/' + iContextProfileId + '/' + iModuleId;
  28. $(window).dolPopupAjax({url: sActionUrl, closeOnOuterClick: false, removeOnClose: true});
  29. }
  30. function bx_classes_delete_module(iContextProfileId, iModuleId)
  31. {
  32. var sActionUrl = sUrlRoot + 'modules/index.php?r=classes/delete_module/' + iContextProfileId + '/' + iModuleId;
  33. bx_confirm(_t('_Are_you_sure'), function () {
  34. $.post(sActionUrl, function (sData) {
  35. if (sData.length)
  36. bx_alert(sData);
  37. else
  38. loadDynamicBlockAuto('.bx-course-controls');
  39. });
  40. });
  41. }
  42. function bx_classes_reorder_classes(iProfileId, bEnable)
  43. {
  44. var eCourse = jQuery('.bx-course-classes .bx-form-advanced-wrapper');
  45. var eSortable = jQuery('.bx-course-classes .bx-form-input-wrapper-custom');
  46. var sHandle = '<i class="handle sys-icon move bx-def-padding-right"></i>';
  47. if (!eSortable.find('.bx-classes-class').size())
  48. return;
  49. if (bEnable) {
  50. jQuery('.bx-course-classes, .bx-course-controls').addClass('bx-course-reordering-mode');
  51. if (!eCourse.find('.bx-classes-class-title .handle').size())
  52. eSortable.find('.bx-classes-class-title').prepend(sHandle);
  53. if (eSortable.hasClass('ui-sortable-disabled')) {
  54. eSortable.sortable('enable');
  55. }
  56. else if (!eSortable.hasClass('ui-sortable')) {
  57. eSortable.sortable({
  58. items:'.bx-classes-class',
  59. connectWith: ".bx-form-input-wrapper-custom",
  60. handle: '.handle',
  61. placeholder: 'bx-classes-placeholder bx-def-font-h3 sys-icon arrow-right col-green1 sys-colored',
  62. forcePlaceholderSize: true,
  63. dropOnEmpty: true,
  64. stop: function(oEvent, oUi) {
  65. var a = eCourse.find('.bx-form-section-wrapper > .bx-form-section');
  66. var s = '';
  67. var i = 0;
  68. $.each(a, function () {
  69. var aa = $(this).find('.bx-classes-class');
  70. var iModuleId = $(this).attr('id').replace('module_', '');
  71. s += '&classes_order_' +iModuleId + '=';
  72. $.each(aa, function () {
  73. s += $(this).attr('id').replace('class_', '') + ',';
  74. });
  75. s = s.replace(/,$/, '');
  76. });
  77. var sActionUrl = sUrlRoot + 'modules/index.php?r=classes/reorder_classes/' + iProfileId + s;
  78. $.post(sActionUrl);
  79. }
  80. });
  81. }
  82. glBxClassesSortableClassesInitialized = true;
  83. }
  84. else if (!bEnable && 'undefined' !== typeof(glBxClassesSortableClassesInitialized)) {
  85. eSortable.sortable('destroy');
  86. eSortable.find('.bx-classes-class .handle').remove();
  87. jQuery('.bx-course-classes, .bx-course-controls').removeClass('bx-course-reordering-mode');
  88. delete glBxClassesSortableClassesInitialized;
  89. }
  90. }
  91. function bx_classes_reorder_modules(iProfileId, bEnable)
  92. {
  93. var eCourse = jQuery('.bx-course-classes .bx-form-advanced-wrapper');
  94. var sHandle = '<i class="handle sys-icon move bx-def-padding-leftright"></i>';
  95. if (!eCourse.find('.bx-form-section-wrapper').size())
  96. return;
  97. if (bEnable) {
  98. jQuery('.bx-course-classes, .bx-course-controls').addClass('bx-course-reordering-mode');
  99. if (!eCourse.find('.bx-form-section-title .handle').size())
  100. eCourse.find('.bx-form-section-title').prepend(sHandle);
  101. if (eCourse.hasClass('ui-sortable-disabled')) {
  102. eCourse.sortable('enable');
  103. }
  104. else if (!eCourse.hasClass('ui-sortable')) {
  105. eCourse.sortable({
  106. items:'.bx-form-section-wrapper',
  107. handle: '.handle',
  108. stop: function(oEvent, oUi) {
  109. var a = eCourse.find('.bx-form-section-wrapper > .bx-form-section');
  110. var s = '';
  111. var i = 0;
  112. $.each(a, function () {
  113. s += '&modules_order[]=' + $(this).attr('id').replace('module_', '');
  114. });
  115. var sActionUrl = sUrlRoot + 'modules/index.php?r=classes/reorder_modules/' + iProfileId + s;
  116. $.post(sActionUrl);
  117. }
  118. });
  119. }
  120. glBxClassesSortableModulesInitialized = true;
  121. }
  122. else if (!bEnable && 'undefined' !== typeof(glBxClassesSortableModulesInitialized)) {
  123. eCourse.sortable('destroy');
  124. eCourse.find('.bx-form-section-title .handle').remove();
  125. jQuery('.bx-course-classes, .bx-course-controls').removeClass('bx-course-reordering-mode');
  126. delete glBxClassesSortableModulesInitialized;
  127. }
  128. }
  129. /** @} */