zentaomax.ui.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * 点击模板卡片。
  3. * Click template card.
  4. *
  5. * @param object event
  6. * @access public
  7. * @return void
  8. */
  9. window.clickCard = function(event)
  10. {
  11. const templateCard = event.target.closest('.templateCard');
  12. if(!templateCard) return;
  13. $(templateCard).addClass('border-primary checkedTemplate');
  14. $('.nextButton button').removeClass('disabled');
  15. if($(templateCard).find('.cornerMark').length === 0)
  16. {
  17. $(templateCard).append('<div class="cornerMark"><i class="icon icon-check checkIcon"></i></div>');
  18. }
  19. const selectTemplateID = $(templateCard).data('templateID');
  20. const templateCards = $('.templateCardPanel').find('div.templateCard');
  21. $(templateCards).each(function()
  22. {
  23. let templateID = $(this).data('templateID');
  24. if(templateID !== selectTemplateID)
  25. {
  26. $(this).removeClass('border-primary');
  27. $(this).removeClass('checkedTemplate');
  28. $(this).find('.cornerMark').remove();
  29. }
  30. });
  31. }
  32. /**
  33. * 处理搜索框事件。
  34. * Handle search box change.
  35. *
  36. * @param string value
  37. * @access public
  38. * @return void
  39. */
  40. window.handleSearchBoxChange = function(value)
  41. {
  42. /* 过滤value,仅保留字母、数字和汉字。*/
  43. /* Filter value, only keep letters, numbers and Chinese characters.*/
  44. value = value.replace(/[^\w\u4e00-\u9fa5]/g, '');
  45. const scopeID = $('#featureBar').find('.nav-item a.active').data('id');
  46. const url = $.createLink('doc', 'selectTemplate', `scopeID=${scopeID}&searchName=${value}`);
  47. loadModal(url);
  48. }
  49. /**
  50. * 点击下一步按钮事件。
  51. * Click next button event.
  52. *
  53. * @access public
  54. * @return void
  55. */
  56. window.clickNextButton = function()
  57. {
  58. const selectTemplateID = $('.checkedTemplate').data('templateID');
  59. if(!selectTemplateID) return;
  60. const formData = new FormData();
  61. formData.append('templateID', selectTemplateID);
  62. $.ajaxSubmit({url: $.createLink('doc', 'selectTemplate'), data: formData});
  63. }