| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- /**
- * Copyright (c) UNA, Inc - https://una.io
- * MIT License - https://opensource.org/licenses/MIT
- *
- * @defgroup BaseGroups Base classes for groups modules
- * @ingroup UnaModules
- *
- * @{
- */
- function BxBaseModGroupsMain(oOptions) {
- this._sModule = oOptions.sModule;
- this._sActionsUrl = oOptions.sActionUrl;
- this._sObjName = oOptions.sObjName == undefined ? 'oBxBaseModGroupsMain' : oOptions.sObjName;
- this._sObjNameGrid = oOptions.sObjNameGrid == undefined ? '' : oOptions.sObjNameGrid;
-
- this._sAnimationEffect = oOptions.sAnimationEffect == undefined ? 'fade' : oOptions.sAnimationEffect;
- this._iAnimationSpeed = oOptions.iAnimationSpeed == undefined ? 'slow' : oOptions.iAnimationSpeed;
- this._sParamsDivider = oOptions.sParamsDivider == undefined ? '#-#' : oOptions.sParamsDivider;
- this._aHtmlIds = oOptions.aHtmlIds == undefined ? {} : oOptions.aHtmlIds;
- this._oBrowsingFiltersPopupOptions = {};
- this._oBrowsingFiltersPopupOptionsDefaults = {};
- }
- BxBaseModGroupsMain.prototype.changeBrowsingFilters = function(oElement, sSelector, oRequestParams) {
- if($(sSelector).length)
- return $(sSelector).dolPopup(this._oBrowsingFiltersPopupOptions);
- var $this = this;
- var oData = jQuery.extend({mode: ''}, this._getDefaultData());
- if(oRequestParams != undefined)
- oData = jQuery.extend({}, oData, oRequestParams);
- this.loadingInButton(oElement, true);
- jQuery.get (
- this._sActionsUrl + 'get_browsing_filters',
- oData,
- function(oResponse) {
- if(oElement)
- $this.loadingInButton(oElement, false);
- if(oResponse && oResponse.popup != undefined) {
- $this._oBrowsingFiltersPopupOptions = jQuery.extend($this._oBrowsingFiltersPopupOptionsDefaults, oResponse.popup.options, {
- pointer: {
- el: $(oElement),
- align: 'right'
- }
- });
- oResponse.popup.options = $this._oBrowsingFiltersPopupOptions;
- }
- processJsonData(oResponse);
- },
- 'json'
- );
- };
- BxBaseModGroupsMain.prototype.applyBrowsingFilter = function(oElement, oRequestParams) {
- var $this = this;
- var oData = this._getDefaultData();
- if(oRequestParams != undefined)
- oData = jQuery.extend({}, oData, oRequestParams);
- this.loadingInButton(oElement, true);
- jQuery.get (
- this._sActionsUrl + 'apply_browsing_filters',
- oData,
- function(oResponse) {
- $this.loadingInButton(oElement, false);
- $(oElement).parents('.bx-popup-applied:visible:first').dolPopupHide();
- processJsonData(oResponse);
- },
- 'json'
- );
- };
- BxBaseModGroupsMain.prototype.onApplyBrowsingFilter = function(oData) {
- if(!oData.content)
- return;
- var oContainer = $('.bx-db-content').has('#' + $(oData.content).find('.bx-search-result-block:first').attr('id'));
- if(!oContainer || oContainer.length == 0)
- return;
- oContainer.html(oData.content).bxProcessHtml();
- };
- BxBaseModGroupsMain.prototype.onChangeMembersFilter = function(oFilter) {
- var $this = this;
- var oFilter1 = $('#bx-grid-frole-' + this._sObjNameGrid);
- var sValueFilter1 = oFilter1.length > 0 ? oFilter1.val() : '';
- var oSearch = $('#bx-grid-search-' + this._sObjNameGrid);
- var sValueSearch = oSearch.length > 0 ? oSearch.val() : '';
- if(sValueSearch == _t('_sys_grid_search'))
- sValueSearch = '';
- clearTimeout($this._iSearchTimeoutId);
- $this._iSearchTimeoutId = setTimeout(function () {
- glGrids[$this._sObjNameGrid].setFilter(sValueFilter1 + $this._sParamsDivider + sValueSearch, true);
- }, 500);
- };
- BxBaseModGroupsMain.prototype.connAction = function(oElement, sObject, sAction, iContentId) {
- var $this = this;
- var oParams = this._getDefaultData();
- oParams['s'] = 'main';
- oParams['o'] = sObject;
- oParams['a'] = sAction;
- oParams['cpi'] = iContentId;
- if(oElement)
- this.loadingInButton(oElement, true);
- jQuery.get (
- this._sActionsUrl + 'get_questionnaire',
- oParams,
- function(oData) {
- if(oElement)
- $this.loadingInButton(oElement, false);
- oData.element = oElement;
- processJsonData(oData);
- },
- 'json'
- );
- };
- BxBaseModGroupsMain.prototype.connActionPerformed = function(oData) {
- var sClass = this._sModule.replace('_', '-') + '-unit-' + oData.ci;
-
- bx_conn_action($('.' + sClass + ' .bx-btn'), oData.o, oData.a, oData.cpi, false, function(oData, eLink) {
- $(eLink).each(function() {
- $(this).parents('.bx-menu-item:first').remove();
- });
- });
- };
- BxBaseModGroupsMain.prototype.onClickSetRole = function(iFanProfileId, iRole) {
- $('.bx-popup-applied:visible').dolPopupHide();
- if(glGrids[this._sObjNameGrid] != undefined)
- glGrids[this._sObjNameGrid].actionWithId(iFanProfileId, 'set_role_submit', {role: iRole}, '', false, false);
- };
- BxBaseModGroupsMain.prototype.onClickSetRoleMulti = function(oElement, iFanProfileId, iRole) {
- if(!glGrids[this._sObjNameGrid])
- return;
- var oSiblings = $(oElement).parents('.bx-base-group-sr-role:first').siblings();
- if(iRole == 0)
- oSiblings.find('input:checked').removeAttr('checked');
- else
- oSiblings.find("input[value = '0']:checked").removeAttr('checked');
- var sRoles = $(oElement).parents('.bx-base-group-sr-roles:first').find('input:checked').serialize();
- glGrids[this._sObjNameGrid].actionWithId(iFanProfileId, 'set_role_submit', {}, sRoles, false, false);
- };
- BxBaseModGroupsMain.prototype.loadingInButton = function(e, bShow) {
- if($(e).length)
- bx_loading_btn($(e), bShow);
- else
- bx_loading($('body'), bShow);
- };
- BxBaseModGroupsMain.prototype._getDefaultData = function() {
- var oDate = new Date();
- return jQuery.extend({}, this._oRequestParams, {_t:oDate.getTime()});
- };
- /** @} */
|