navigation_items.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /**
  2. * Copyright (c) UNA, Inc - https://una.io
  3. * MIT License - https://opensource.org/licenses/MIT
  4. *
  5. * @defgroup UnaStudio UNA Studio
  6. * @{
  7. */
  8. function BxDolStudioNavigationItems(oOptions) {
  9. this.sActionsUrl = oOptions.sActionUrl;
  10. this.sPageUrl = oOptions.sPageUrl;
  11. this.sObjNameGrid = oOptions.sObjNameGrid;
  12. this.sObjName = oOptions.sObjName == undefined ? 'oBxDolStudioNavigationItems' : oOptions.sObjName;
  13. this.sAnimationEffect = oOptions.sAnimationEffect == undefined ? 'fade' : oOptions.sAnimationEffect;
  14. this.iAnimationSpeed = oOptions.iAnimationSpeed == undefined ? 'slow' : oOptions.iAnimationSpeed;
  15. this.sParamsDivider = oOptions.sParamsDivider == undefined ? '#-#' : oOptions.sParamsDivider;
  16. this.sTextSearchInput = oOptions.sTextSearchInput == undefined ? '' : oOptions.sTextSearchInput;
  17. }
  18. BxDolStudioNavigationItems.prototype.onChangeSubmenu = function(oElement) {
  19. var oForm = $(oElement).parents(".bx-form-advanced:first");
  20. var oSubmenu = oForm.find(".bx-form-input-select[name='submenu_object']");
  21. var oSubmenuPopup = oForm.find(".bx-form-input-checkbox[name='submenu_popup']");
  22. var sSubmenu = oSubmenu.val();
  23. var bSubmenu = sSubmenu != '';
  24. var bSubmenuPopup = oSubmenuPopup.is(':checked');
  25. oSubmenuPopup.parents('.bx-form-element-wrapper:first').bx_anim(bSubmenu ? 'show' : 'hide', this.sAnimationEffect, this.iAnimationSpeed);
  26. var oLink = oForm.find(".bx-form-input-text[name='link']");
  27. var sLink = oLink.val();
  28. var oOnclick = oForm.find(".bx-form-input-text[name='onclick']");
  29. var sOnclick = oOnclick.val();
  30. if(bSubmenu && bSubmenuPopup) {
  31. if(sLink == '')
  32. oLink.val("javascript:void(0);");
  33. if(sOnclick == '' || sOnclick.substr(0, 13) == 'bx_menu_popup')
  34. oOnclick.val("bx_menu_popup('" + sSubmenu + "', this);");
  35. }
  36. else {
  37. if(sLink == 'javascript:void(0);')
  38. oLink.val("");
  39. if(sOnclick.substr(0, 13) == 'bx_menu_popup')
  40. oOnclick.val("");
  41. }
  42. };
  43. BxDolStudioNavigationItems.prototype.onChangeModule = function() {
  44. var $this = this;
  45. var oDate = new Date();
  46. var sModule = $('#bx-grid-module-' + this.sObjNameGrid).val();
  47. this.reloadGrid();
  48. bx_loading($('body'), true);
  49. $.post(
  50. this.sPageUrl,
  51. {
  52. nav_action: 'get_sets',
  53. nav_module: sModule,
  54. _t: oDate.getTime()
  55. },
  56. function(oData) {
  57. bx_loading($('body'), false);
  58. if(oData.code != 0) {
  59. bx_alert(oData.message);
  60. return;
  61. }
  62. $('#' + $(oData.content).attr('id')).replaceWith(oData.content);
  63. },
  64. 'json'
  65. );
  66. };
  67. BxDolStudioNavigationItems.prototype.onChangeSet = function() {
  68. this.reloadGrid($('#bx-grid-module-' + this.sObjNameGrid).val(), $('#bx-grid-set-' + this.sObjNameGrid).val());
  69. };
  70. BxDolStudioNavigationItems.prototype.reloadGrid = function(sModule, sSet) {
  71. var bReload = false;
  72. if(!sModule)
  73. sSet = '';
  74. var oSearch = $('#bx-form-element-keyword');
  75. var oActions = $("[bx_grid_action_independent]");
  76. if(!sSet) {
  77. oSearch.hide();
  78. oActions.addClass('bx-btn-disabled');
  79. }
  80. else {
  81. oSearch.show();
  82. oActions.removeClass('bx-btn-disabled');
  83. }
  84. if(glGrids[this.sObjNameGrid]._oQueryAppend['module'] != sModule) {
  85. glGrids[this.sObjNameGrid]._oQueryAppend['module'] = sModule;
  86. bReload = true;
  87. }
  88. if(glGrids[this.sObjNameGrid]._oQueryAppend['set'] != sSet) {
  89. glGrids[this.sObjNameGrid]._oQueryAppend['set'] = sSet;
  90. bReload = true;
  91. }
  92. if(bReload)
  93. glGrids[this.sObjNameGrid].reload(0);
  94. };
  95. BxDolStudioNavigationItems.prototype.onChangeVisibleFor = function(oSelect) {
  96. $('#bx-form-element-visible_for_levels').bx_anim($(oSelect).val() == 'all' ? 'hide' : 'show', this.sAnimationEffect, this.iAnimationSpeed);
  97. };
  98. BxDolStudioNavigationItems.prototype.onDeleteIcon = function(oData) {
  99. if (oData && oData.preview != undefined) {
  100. var sPreviewId = $(oData.preview).attr('id');
  101. $('#' + sPreviewId).replaceWith(oData.preview);
  102. }
  103. };
  104. /** @} */