orders.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. /**
  2. * Copyright (c) UNA, Inc - https://una.io
  3. * MIT License - https://opensource.org/licenses/MIT
  4. *
  5. * @defgroup Payment Payment
  6. * @ingroup UnaModules
  7. *
  8. * @{
  9. */
  10. function BxPaymentOrders(oOptions) {
  11. this.init(oOptions);
  12. }
  13. BxPaymentOrders.prototype.init = function(oOptions) {
  14. if($.isEmptyObject(oOptions))
  15. return;
  16. this._sActionsUrl = oOptions.sActionUrl;
  17. this._sObjNameGrid = oOptions.sObjNameGrid == undefined ? '' : oOptions.sObjNameGrid;
  18. this._sObjName = oOptions.sObjName == undefined ? 'oPaymentOrders' : oOptions.sObjName;
  19. this._sAnimationEffect = oOptions.sAnimationEffect == undefined ? 'fade' : oOptions.sAnimationEffect;
  20. this._iAnimationSpeed = oOptions.iAnimationSpeed == undefined ? 'slow' : oOptions.iAnimationSpeed;
  21. this._iTimeout = (oOptions.iTimeout == undefined ? 5 : oOptions.iTimeout) * 1000;
  22. this._aHtmlIds = oOptions.aHtmlIds == undefined ? {} : oOptions.aHtmlIds;
  23. this._sParamsDivider = oOptions.sParamsDivider == undefined ? '#-#' : oOptions.sParamsDivider;
  24. this._sTextSearchInput = oOptions.sTextSearchInput == undefined ? '' : oOptions.sTextSearchInput;
  25. this._iSearchTimeoutId = false;
  26. var $this = this;
  27. $(document).ready(function() {
  28. $('#bx-grid-search-' + $this._sObjNameGrid).unbind('focusout');
  29. });
  30. };
  31. /*--- Grid Filter function ---*/
  32. BxPaymentOrders.prototype.onChangeFilter = function(oElement) {
  33. if(!this._sObjNameGrid)
  34. return;
  35. var $this = this;
  36. var oClient = $('#bx-grid-client-' + this._sObjNameGrid);
  37. var bClient = oClient.length > 0;
  38. var sClient = bClient ? oClient.val() : '';
  39. var oAuthor = $('#bx-grid-author-' + this._sObjNameGrid);
  40. var bAuthor = oAuthor.length > 0;
  41. var sAuthor = bAuthor ? oAuthor.val() : '';
  42. var oModule = $('#bx-grid-module-' + this._sObjNameGrid);
  43. var bModule = oModule.length > 0;
  44. var sModule = bModule ? oModule.val() : '';
  45. var oItem = $('#bx-grid-item-' + this._sObjNameGrid);
  46. var bItem = oItem.length > 0;
  47. var sItem = bItem ? oItem.val() : '';
  48. var sSearch = $('#bx-grid-search-' + this._sObjNameGrid).val();
  49. if(sSearch == this._sTextSearchInput)
  50. sSearch = '';
  51. clearTimeout($this._iSearchTimeoutId);
  52. $this._iSearchTimeoutId = setTimeout(function () {
  53. var sValue = '';
  54. if(bClient)
  55. sValue += sClient + $this._sParamsDivider;
  56. if(bAuthor)
  57. sValue += sAuthor + $this._sParamsDivider;
  58. if(bModule)
  59. sValue += sModule + $this._sParamsDivider;
  60. if(bItem)
  61. sValue += sItem + $this._sParamsDivider;
  62. sValue += sSearch;
  63. glGrids[$this._sObjNameGrid].setFilter(sValue, true);
  64. }, 500);
  65. };
  66. BxPaymentOrders.prototype.onChangeFilterModule = function(oElement, iSeller) {
  67. var $this = this;
  68. var oDate = new Date();
  69. var iModule = parseInt($(oElement).val());
  70. if(!iModule)
  71. iModule = 0;
  72. $.get(
  73. this._sActionsUrl + 'get_filter_values_item/' + iSeller + '/' + iModule + '/',
  74. {
  75. _t:oDate.getTime()
  76. },
  77. function(oData) {
  78. var oFilterItem = $('#bx-grid-item-' + $this._sObjNameGrid);
  79. if(oData && oData.code != undefined)
  80. switch(oData.code) {
  81. case 0:
  82. oFilterItem.html(oData.content).removeAttr('disabled');
  83. break;
  84. case 1:
  85. oFilterItem.html(oData.content).attr('disabled', 'disabled');
  86. break;
  87. }
  88. $this.onChangeFilter(oElement);
  89. },
  90. 'json'
  91. );
  92. };
  93. /*--- Manual Order function ---*/
  94. BxPaymentOrders.prototype.showPopup = function(oUi) {
  95. $('#' + this._aHtmlIds['order_processed_client_id']).val(oUi.item.value);
  96. };
  97. BxPaymentOrders.prototype.selectModule = function(oSelect) {
  98. var oDate = new Date();
  99. var oPopup = $('#' + this._aHtmlIds['order_processed_add']);
  100. oPopup.bx_loading(true);
  101. $.get(
  102. this._sActionsUrl + 'get_items/single/' + parseInt($(oSelect).val()) + '/',
  103. {
  104. _t:oDate.getTime()
  105. },
  106. function(oData) {
  107. oPopup.bx_loading(false);
  108. processJsonData(oData);
  109. },
  110. 'json'
  111. );
  112. };
  113. BxPaymentOrders.prototype.filterItems = function(e, oFilter) {
  114. var $this = this;
  115. var oDate = new Date();
  116. var oPopup = $('#' + this._aHtmlIds['order_processed_add']);
  117. oPopup.bx_loading(true);
  118. if ('undefined' != typeof(glBxPaymentOrdersTimeoutHandler) && glBxPaymentOrdersTimeoutHandler)
  119. clearTimeout(glBxPaymentOrdersTimeoutHandler);
  120. glBxPaymentOrdersTimeoutHandler = setTimeout(function () {
  121. $.get(
  122. $this._sActionsUrl + 'get_items/single/' + parseInt(oPopup.find("[name = 'module_id']").val()) + '/',
  123. {
  124. filter: $(oFilter).val(),
  125. _t:oDate.getTime()
  126. },
  127. function(oData) {
  128. oPopup.bx_loading(false);
  129. processJsonData(oData);
  130. oFilter = oPopup.find("[name = 'filter']").focus().get(0);
  131. oFilter.selectionStart = oFilter.selectionEnd = oFilter.value.length;
  132. },
  133. 'json'
  134. );
  135. }, 500);
  136. return true;
  137. };
  138. BxPaymentOrders.prototype.onSelectModule = function(oData) {
  139. if(oData.data != undefined)
  140. $('#' + this._aHtmlIds['order_processed_items']).replaceWith(oData.data);
  141. };
  142. /** @} */