ElixirVault/www/system-brs-core/cms/cmsPermissions/js/cmsPermissions.js

146 lines
4.4 KiB
JavaScript

var CmsPermissions = (function() {
function CmsPermissions(){
var _this = this;
CBase.jsModule = _this;
if(!$.isDefined(CBase.dt.profile)){
_this.oTable = new CTable();
var initEdit = $.isDefined(CBase.dt.initEdit)?CBase.dt.initEdit:false;
if(!initEdit){
_this.oTable.loadTableData();
}else{
_this.oTable.isVisible = false;
_this.oTable.loadTableData(function(){
_this.oTable.isVisible = true;
_this.oTable.loadRecord();
});
}
}else{
_this.oForm = new CBlank();
_this.oForm.loadBlankView();
}
}
CmsPermissions.prototype.bQuickAdd = false;
CmsPermissions.prototype.oMyDialog = false;
CTable.prototype.tableObjectCallback = function(oTable){
var _this = this;
oTable.find("#iquickadd").click(function(){
CBase.jsModule.bQuickAdd = true;
CBase.message.hide(true, false);
_this.loadRecord();
});
oTable.find("#igensql").click(function(){
var oIds = [],
id = 0;
oTable.find("ul.dxr.single:not(.thead) li.first .chked").each(function(){
id = $(this).closest("ul").attr("id");
if(id) oIds.push(id);
});
var jqData = $("<div class='sqlDrop'><div></div></div>");
CBase.ajax({action : "generateInsertSql", ids : $.toJSON(oIds)}, false, function(d){
if(d && d.jsonok && d.sql){
$.each(d.sql, function(k, str){
jqData.find("> div").append($("<p>"+ str +"</p>"));
});
jqData.find("> div").click(function(){
var selection = window.getSelection();
var txt = jqData.find("> div");
var range = document.createRange();
range.selectNodeContents(txt[0]);
selection.removeAllRanges();
selection.addRange(range);
})
}
});
// Construct New dialog if necessary
if(!CBase.jsModule.oMyDialog)
CBase.jsModule.oMyDialog = new ConfirmDialog("sqlExport");
// Show dialog with HTML
CBase.jsModule.oMyDialog.setCustomContentAndShow({
closeBtn: true,
title : defaultVal(CBase.gM.sSqlExpTitle, "Sql Export for permissions"),
message : jqData,
buttons : {
1 : {
lbl : defaultVal(CBase.gM.done, "Done!"),
id : "buttonYes",
click : function(){
CBase.jsModule.oMyDialog.hide();
}
}
}
});
});
};
// Ajax load cfg object
CBlank.prototype.getAjaxData = function(){
var d = {
action : "selfLoad"
};
if(CBase.jsModule.bQuickAdd){
d["action"] = "quickAdd";
CBase.jsModule.bQuickAdd = false;
}
return d;
};
// Rewrite CBase form callback
CBlank.prototype.viewCallback = function(obj){
var _this = this;
obj.find("#psettings, #groups").find("h3").click(function(){
var jqParent = $(this).parent();
if(jqParent.hasClass("load"))
_this.loadBlankBlockSubContent(jqParent);
else
_this.showHideSubContentPanel(jqParent);
});
this.oBtnPan.find("#fcancel").click(function(){
CBase.message.hide();
if(_this.isModiffied){
CBase.oTable.filterTableData(true);
}else{
CBase.oTable.show();
}
});
this.oBtnPan.find("#fsave").click(function(){
_this.saveBlankView();
});
// Add simple filter
_this.bindSearch(obj);
this.bindBlankActions(obj);
};
CBlank.prototype.saveBlankViewCallback = function(d){
if(d && d.jsonok){
var jqQuick = $("#quickAdd");
if(jqQuick.length){
jqQuick.val(2);
}
}
};
return CmsPermissions;
})();