/**
* Copyright (c) UNA, Inc - https://una.io
* MIT License - https://opensource.org/licenses/MIT
*
* @defgroup UnaCore UNA Core
* @{
*/
function BxDolCreatePost(oOptions) {
this._sObjName = oOptions.sObjName == undefined ? 'oBxDolCreatePost' : oOptions.sObjName;
this._sRootUrl = oOptions.sRootUrl == undefined ? sUrlRoot : oOptions.sRootUrl;
this._sDefault = oOptions.sDefault == undefined ? '' : oOptions.sDefault;
this._iContextId = oOptions.iContextId == undefined ? 0 : oOptions.iContextId;
this._oPreloadingList = oOptions.oPreloadingList == undefined ? [] : oOptions.oPreloadingList;
this._oCustom = oOptions.oCustom == undefined ? {} : oOptions.oCustom;
this._sAnimationEffect = oOptions.sAnimationEffect == undefined ? 'fade' : oOptions.sAnimationEffect;
this._iAnimationSpeed = oOptions.iAnimationSpeed == undefined ? 'slow' : oOptions.iAnimationSpeed;
this._aHtmlIds = oOptions.aHtmlIds == undefined ? {} : oOptions.aHtmlIds;
var $this = this;
$(document).ready(function() {
$this.init();
});
}
BxDolCreatePost.prototype.init = function () {
var oDate = new Date();
for(var sKey in this._oPreloadingList) {
var sForm = '.sys-cpf-form.sys-cpf-' + sKey;
if($(sForm).length != 0)
continue;
$.get(
this._sRootUrl + 'modules/?r=' + this._oPreloadingList[sKey] + '/get_create_post_form/', {
ajax_mode: true,
dynamic_mode: true,
absolute_action_url: true,
context_id: this._iContextId,
custom: this._oCustom,
_t:oDate.getTime()
},
function(oData) {
if(!oData || !oData.content)
return;
$('.sys-cpf-close').before($('
' + oData.content + '
').hide());
},
'json'
);
}
};
BxDolCreatePost.prototype.getForm = function (sModuleName, sModuleUri, oElement) {
var $this = this;
var oTab = $(oElement);
var sTabActive = 'bx-menu-tab-active';
oTab.parents('.bx-db-menu:first').find('li.' + sTabActive).removeClass(sTabActive);
oTab.parents('li:first').addClass(sTabActive);
oTab.parents('.bx-popup-applied:visible').dolPopupHide();
$('.sys-cpf-form:visible').hide({
duration: 0,
complete: function() {
$('.sys-cpf-close:visible').hide();
if(!$('.sys-cpf-form.sys-cpf-' + sModuleName + ' form').length) {
var oDate = new Date();
$this._placeholderInBlock(oElement, true);
$.get(
$this._sRootUrl + 'modules/?r=' + sModuleUri + '/get_create_post_form/', {
ajax_mode: true,
dynamic_mode: true,
absolute_action_url: true,
context_id: $this._iContextId,
custom: $this._oCustom,
_t: oDate.getTime()
},
function(oData) {
$this._placeholderInBlock(oElement, false);
if(!oData || !oData.content)
return;
var sForm = '.sys-cpf-form.sys-cpf-' + oData.module;
if($(sForm).length == 0)
$('.sys-cpf-close').before($('').hide());
$(sForm).html(oData.content).show().bxProcessHtml().siblings('.sys-cpf-close:hidden').show();
},
'json'
);
}
else
$('.sys-cpf-form.sys-cpf-' + sModuleName).show().bxProcessHtml().siblings('.sys-cpf-close:hidden').show();
}
});
return false;
};
BxDolCreatePost.prototype.hideForm = function(oElement) {
$(oElement).parents('.sys-cpf-close:first').hide();
var sTabActive = 'bx-menu-tab-active';
var sTabDefault = 'bx-menu-item-' + this._sDefault;
var oMiActive = $(oElement).parents('.bx-db-container:first').find('ul > li.' + sTabActive);
var bMiChange = !oMiActive.hasClass(sTabDefault);
if(bMiChange)
oMiActive.removeClass(sTabActive);
$('.sys-cpf-form:visible').hide({
duration: 0,
complete: function() {
$('.sys-cpf-form.sys-cpf-default').show();
if(bMiChange)
$('.' + sTabDefault).addClass(sTabActive);
}
});
};
BxDolCreatePost.prototype._loading = function(e, bShow) {
var oParent = $(e).length ? $(e) : $('body');
bx_loading(oParent, bShow);
};
BxDolCreatePost.prototype._loadingInBlock = function(e, bShow) {
var oParent = $(e).length ? $(e).parents('.bx-db-container:first') : $('body');
bx_loading(oParent, bShow);
};
BxDolCreatePost.prototype._placeholderInBlock = function(e, bShow) {
var oPlaceholder = null;
if($(e).length)
oPlaceholder = $(e).parents('.bx-db-container:first').find('.sys-cpf-form.sys-cpf-loading');
if(!oPlaceholder)
return _loadingInBlock(e, bShow);
if(bShow)
oPlaceholder.show();
else
oPlaceholder.hide();
};
/** @} */