146 lines
4.4 KiB
JavaScript
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;
|
|
})();
|