initial commit from rev. 632
297
workflow/engine/js/appFolder/core/appFolderList.js
Executable file
@@ -0,0 +1,297 @@
|
||||
function openPMFolder( uid, rootfolder ){
|
||||
|
||||
currentFolder = uid;
|
||||
if((document.getElementById('child_'+uid).innerHTML!="")&&(uid!=rootfolder)){
|
||||
document.getElementById('child_'+uid).innerHTML="";
|
||||
getPMFolderContent(uid);
|
||||
return;
|
||||
}
|
||||
document.getElementById('child_'+uid).innerHTML = "<img src='/js/maborak/core/images/loader_B.gif' >";//<div style="background: transparent url(http://hugo.opensource.colosa.net/js/maborak/core/images/loader_B.gif) no-repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 32px; height: 32px; position: absolute; display: none; top: 514.5px; left: 609.5px;" class="panel_loader___processmaker"></div><div style="" class="panel_statusBar___processmaker"><div style="position: relative; text-align: center; display: none;" class="panel_statusButtons___processmaker"></div>';
|
||||
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
async : true,
|
||||
method: 'POST',
|
||||
args : 'action=openPMFolder&folderID=' + uid+'&rootfolder='+rootfolder
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
document.getElementById('child_'+uid).innerHTML = rpc.xmlhttp.responseText;
|
||||
var scs = rpc.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
getPMFolderContent(uid);
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
|
||||
if(uid==rootfolder){//Only refresh tags cloud if we are loading the root folder
|
||||
getPMFolderTags(rootfolder);
|
||||
}
|
||||
}
|
||||
|
||||
function getPMFolderContent(uid){
|
||||
document.getElementById('spanFolderContent').innerHTML = "<img src='/js/maborak/core/images/loader_B.gif' >";//"Loading..";
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
async : true,
|
||||
method: 'POST',
|
||||
args : 'action=getPMFolderContent&folderID=' + uid
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
document.getElementById('spanFolderContent').innerHTML = oRPC.xmlhttp.responseText;
|
||||
var scs = oRPC.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function getPMFolderSearchResult(searchKeyword,type){
|
||||
document.getElementById('spanFolderContent').innerHTML = "<img src='/js/maborak/core/images/loader_B.gif' >";//"Loading..";
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
async : true,
|
||||
method: 'POST',
|
||||
args : 'action=getPMFolderContent&searchKeyword=' + searchKeyword + '&type=' + type
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
document.getElementById('spanFolderContent').innerHTML = oRPC.xmlhttp.responseText;
|
||||
var scs = oRPC.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function getPMFolderTags(rootfolder){
|
||||
document.getElementById('tags_cloud').innerHTML = "<img src='/js/maborak/core/images/loader_B.gif' >";//"Loading..";
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=getPMFolderTags&rootFolder=' + rootfolder
|
||||
});
|
||||
oRPC.make();
|
||||
document.getElementById('tags_cloud').innerHTML = oRPC.xmlhttp.responseText;
|
||||
var scs = oRPC.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
}
|
||||
|
||||
var uploadDocument = function(docID,appDocId,docVersion,actionType,appId,docType){
|
||||
if(actionType){
|
||||
if(actionType=="R"){
|
||||
windowTitle=G_STRINGS.ID_UPLOAD_REPLACE_INPUT;
|
||||
}
|
||||
if(actionType=="NV"){
|
||||
windowTitle=G_STRINGS.ID_UPLOAD_NEW_INPUT_VERSION;
|
||||
}
|
||||
}else{
|
||||
windowTitle=G_STRINGS.ID_UPLOAD_NEW_INPUT;
|
||||
docVersion=1;
|
||||
actionType="";
|
||||
appDocId="";
|
||||
}
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:550,h:300},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :windowTitle,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:true,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
args: "action=uploadDocument&docID="+docID+"&appDocId="+appDocId+"&docVersion="+docVersion+"&actionType="+actionType+"&appId="+appId+"&docType="+docType
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var oPanel;
|
||||
var gUSER_UID;
|
||||
var uploadExternalDocument = function(folderID){
|
||||
gUSER_UID = folderID;
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:550,h:300},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :G_STRINGS.ID_UPLOAD_EXTERNAL_DOCUMENT,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:true,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
args: "action=uploadExternalDocument&folderID="+folderID
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var oPanel;
|
||||
var gUSER_UID;
|
||||
var newFolder = function(folderID){
|
||||
gUSER_UID = folderID;
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:550,h:250},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :G_STRINGS.ID_NEW_FOLDER,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:true,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
args: "action=newFolder&folderID="+folderID
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var documentVersionHistory = function(folderID,appDocId){
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:550,h:300},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :G_STRINGS.ID_INPUT_DOCUMENT_HISTORY,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:true,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
args: "action=documentVersionHistory&folderID="+folderID+"&appDocId="+appDocId
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var documentInfo = function(docID,appDocId,docVersion,actionType,appId,docType,usrUid){
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:400,h:270},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :G_STRINGS.ID_DOCUMENT_INFO,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:true,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
args: "action=documentInfo&docID="+docID+"&appDocId="+appDocId+"&docVersion="+docVersion+"&actionType="+actionType+"&appId="+appId+"&docType="+docType+"&usrUid="+usrUid
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var documentdelete = function(docID,appDocId,docVersion,actionType,appId,docType,usrUid){
|
||||
new leimnud.module.app.confirm().make({
|
||||
label : G_STRINGS.ID_MSG_CONFIRM_DELETE_FILE,
|
||||
action: function() {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
async : true,
|
||||
method:'POST',
|
||||
args: 'action=documentdelete&sFileUID='+appDocId+'&docVersion='+docVersion
|
||||
|
||||
});
|
||||
oRPC.callback = function(oRPC) {
|
||||
window.location = 'appFolderList';
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}.extend(this)
|
||||
});
|
||||
|
||||
|
||||
//ajax_function('appFolderAjax','documentdelete','sFileUID='+encodeURIComponent(appDocId),'POST');
|
||||
//window.location = 'appFolderList';
|
||||
|
||||
};
|
||||
|
||||
|
||||
function deletePMFolder( uid, rootfolder ){
|
||||
|
||||
new leimnud.module.app.confirm().make({
|
||||
label : G_STRINGS.ID_MSG_CONFIRM_DELETE_FILE,
|
||||
action: function() {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'appFolderAjax',
|
||||
async : true,
|
||||
method:'POST',
|
||||
args: 'action=deletePMFolder&sFileUID='+uid+'&rootfolder='+rootfolder
|
||||
|
||||
});
|
||||
oRPC.callback = function(oRPC) {
|
||||
window.location = 'appFolderList';
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}.extend(this)
|
||||
});
|
||||
|
||||
}
|
||||
72
workflow/engine/js/cases/core/cases.js
Normal file
@@ -0,0 +1,72 @@
|
||||
var cases=function()
|
||||
{
|
||||
this.parent = leimnud;
|
||||
this.panels = {};
|
||||
this.make=function(options)
|
||||
{
|
||||
this.options.target = this.parent.dom.element(this.options.target);
|
||||
var panel;
|
||||
/* Panel list Begin */
|
||||
this.panels.list = panel = new leimnud.module.panel();
|
||||
panel.options={
|
||||
size :{w:310,h:250},
|
||||
position:{x:50,y:50},
|
||||
title :"List",
|
||||
theme :"processmaker",
|
||||
target :this.options.target,
|
||||
statusBar:true,
|
||||
limit :true,
|
||||
control :{resize:false,close:true,roll:false},
|
||||
fx :{opacity:true,rollWidth:150,fadeIn:false}
|
||||
};
|
||||
|
||||
/* Panel list End */
|
||||
/* Panel step Begin */
|
||||
this.panels.step = panel = new this.parent.module.panel();
|
||||
this.panels.step.options={
|
||||
size:{w:260,h:550},
|
||||
title :this.options.title,
|
||||
//headerBar:true,
|
||||
//titleBar:false,
|
||||
//elementToDrag:"headerBar",
|
||||
target:this.options.target,
|
||||
cursorToDrag:"move",
|
||||
position:{x:5,y:5},
|
||||
limit:true,
|
||||
fx:{shadow:false,modal:false,opacity:false}
|
||||
};
|
||||
this.panels.step.setStyle={
|
||||
statusBar:{
|
||||
}
|
||||
};
|
||||
this.panels.step.styles.fx.opacityModal.Static=0;
|
||||
this.panels.step.make();
|
||||
this.panels.step.events = {
|
||||
remove:[function() { delete(this.panels.step); }.extend(this)]
|
||||
};
|
||||
panel.events.remove.push(function()
|
||||
{
|
||||
var r = new this.parent.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"showWindow=false"
|
||||
});
|
||||
r.make();
|
||||
}.extend(this));
|
||||
/* Load data BEGIN */
|
||||
panel.loader.show();
|
||||
var r = new this.parent.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action="+this.options.action+"&showWindow="+this.options.action
|
||||
});
|
||||
r.callback=function(rpc){
|
||||
this.panels.step.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
this.panels.step.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
r.make();
|
||||
/* Load data END */
|
||||
//this.panels.list.make();
|
||||
}
|
||||
this.expand(this);
|
||||
};
|
||||
1031
workflow/engine/js/cases/core/cases_Step.js
Normal file
140
workflow/engine/js/cases/reassignByUser.js
Executable file
@@ -0,0 +1,140 @@
|
||||
/**
|
||||
* Reassign ByUser routines
|
||||
* Author Erik Amaru Ortiz <erik@colosa.com>
|
||||
*/
|
||||
|
||||
var reassignPanel;
|
||||
|
||||
function toReassignPanel(){
|
||||
if( checks_selected_ids.length == 0 ){
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.ID_REASSIGN_BYUSER});
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size : { w:1000, h:600 },
|
||||
position: { x:0,y:0,center:true },
|
||||
title : G_STRINGS.ID_MSG_RESSIGN_BYUSER_PANEL,
|
||||
statusBar: false,
|
||||
control : {resize:false,roll:false,drag:true},
|
||||
fx : { modal:true, opacity:true, blinkToFront:false, fadeIn:false, drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() {
|
||||
delete(oPanel);
|
||||
//resetChecks();
|
||||
//window.location = 'cases_ReassignByUser?REASSIGN_USER=' + getField('REASSIGN_USER').value;
|
||||
}.extend(this)
|
||||
};*/
|
||||
//oPanel.make();
|
||||
//oPanel.loader.show();
|
||||
|
||||
var USER_SELETED = getField('REASSIGN_USER').value;
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'cases_Ajax',
|
||||
args: 'action=reassignByUserList&APP_UIDS='+checks_selected_ids+'&FROM_USR_ID='+USER_SELETED
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
//oPanel.loader.hide();
|
||||
//var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
//oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
//scs.evalScript();
|
||||
document.getElementById("publisherContent[0]").style.display = 'none';
|
||||
document.getElementById("publisherContent[1]").style.display = 'none';
|
||||
document.getElementById("publisherContent[10]").style.display = 'block';
|
||||
document.getElementById("publisherContent[10]").innerHTML = rpc.xmlhttp.responseText;
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
|
||||
//reassignPanel = oPanel;
|
||||
}
|
||||
|
||||
function toReassign(){
|
||||
var selects = document.getElementsByName('form[USERS]');
|
||||
var USER_SELETED = getField('REASSIGN_USER').value;
|
||||
var items = '';
|
||||
for(i=0; i<selects.length; i++){
|
||||
if( selects[i].value != "0" ){
|
||||
if( items != '') items += ',';
|
||||
id = selects[i].id;
|
||||
id = id.trim();
|
||||
items += selects[i].id.substring(5, selects[i].id.length-1) +'|'+ selects[i].value;
|
||||
}
|
||||
}
|
||||
|
||||
if( items.trim() == '' ){
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.ID_REASSIGN_BYUSER});
|
||||
return 0;
|
||||
}
|
||||
|
||||
new leimnud.module.app.confirm().make({
|
||||
label:G_STRINGS.ID_REASSIGN_BYUSER_CONFIRM,
|
||||
action:function(){
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'cases_Ajax',
|
||||
args: 'action=reassignByUser&items='+items+'&USR_UID='+USER_SELETED
|
||||
});
|
||||
//reassignPanel.loader.show();
|
||||
oRPC.callback = function(rpc) {
|
||||
//reassignPanel.loader.hide();
|
||||
//reassignPanel.clearContent();
|
||||
/*reassignPanel.events = {
|
||||
remove: function() {
|
||||
delete(oPanel);
|
||||
window.location = 'cases_ReassignByUser?REASSIGN_USER=' + getField('REASSIGN_USER').value;
|
||||
}.extend(this)
|
||||
};*/
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
//reassignPanel.addContent(rpc.xmlhttp.responseText);
|
||||
document.getElementById("publisherContent[10]").innerHTML = rpc.xmlhttp.responseText;
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
|
||||
}.extend(this)
|
||||
});
|
||||
}
|
||||
|
||||
function cancelReassign(){
|
||||
document.getElementById("publisherContent[0]").style.display = 'block';
|
||||
document.getElementById("publisherContent[1]").style.display = 'block';
|
||||
document.getElementById("publisherContent[10]").style.display = 'none';
|
||||
document.getElementById("publisherContent[10]").innerHTML = '';
|
||||
}
|
||||
|
||||
function resetChecks(){
|
||||
checks_selected_ids.length = 0;
|
||||
}
|
||||
|
||||
|
||||
function WindowSize() {
|
||||
var wSize = [0, 0];
|
||||
if (typeof window.innerWidth != 'undefined')
|
||||
{
|
||||
wSize = [
|
||||
window.innerWidth,
|
||||
window.innerHeight
|
||||
];
|
||||
}
|
||||
else if (typeof document.documentElement != 'undefined'
|
||||
&& typeof document.documentElement.clientWidth !=
|
||||
'undefined' && document.documentElement.clientWidth != 0)
|
||||
{
|
||||
wSize = [
|
||||
document.documentElement.clientWidth,
|
||||
document.documentElement.clientHeight
|
||||
];
|
||||
}
|
||||
else {
|
||||
wSize = [
|
||||
document.getElementsByTagName('body')[0].clientWidth,
|
||||
document.getElementsByTagName('body')[0].clientHeight
|
||||
];
|
||||
}
|
||||
return wSize;
|
||||
}
|
||||
|
||||
|
||||
31
workflow/engine/js/controls/varsAjax.js
Normal file
@@ -0,0 +1,31 @@
|
||||
/* function changeVariables
|
||||
* @param varType variable type
|
||||
* @param proUid process uid
|
||||
* @param field process uid
|
||||
* @param symbol process uid
|
||||
* @param target target Element
|
||||
* @desc a rpc call to change the variables that are show in the dynaform window
|
||||
* sorted by the type of the variable
|
||||
*/
|
||||
var changeVariables = function(varType,proUid,field,symbol,target) {
|
||||
// document.getElementById(target).innerHTML = "response test";
|
||||
// alert (document.getElementById(target).innerHTML);
|
||||
//G.alert(PRO_UID);
|
||||
//G.alert(getField('DYNAFORM').value);
|
||||
//G.alert(getField('TASKS').value);
|
||||
varType = varType.toLowerCase();
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../controls/varsAjaxByType',
|
||||
async : true,
|
||||
method: 'POST',
|
||||
args : "type="+varType+"&sProcess="+proUid+"&sFieldName="+field+"&sSymbol="+symbol
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc){
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
document.getElementById(target).innerHTML = rpc.xmlhttp.responseText;
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
61
workflow/engine/js/dashboard/core/dashboard.js
Normal file
@@ -0,0 +1,61 @@
|
||||
var oPanel;
|
||||
var oDashboards = {};
|
||||
var newDashboard = function() {
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size : {w:500,h:205},
|
||||
position : {x:0,y:0,center:true},
|
||||
title : '',
|
||||
theme : 'processmaker',
|
||||
statusBar: true,
|
||||
control : {resize:false, roll:false},
|
||||
fx : {modal:true, opacity:true, blinkToFront:true, fadeIn:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'dashboardAjax',
|
||||
args: 'action=showAvailableDashboards'
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
var scs = rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var addDashboard = function(aDashboard) {
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'dashboardAjax',
|
||||
args: 'action=addDashboard&sDashboardClass=' + aDashboard[0] + '&sElement=' + aDashboard[1] + '&sType=' + aDashboard[2]
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.loader.hide();
|
||||
oPanel.remove();
|
||||
eval(rpc.xmlhttp.responseText);
|
||||
$("dashboard").innerHTML = '';
|
||||
window.Da=new leimnud.module.dashboard();
|
||||
Da.make({target:$("dashboard"),data:oDashboards});
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var removeDashboard = function(sClass, sType, sElement) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'dashboardAjax',
|
||||
args: 'action=removeDashboard&sDashboardClass=' + sClass + '&sType=' + sType + '&sElement=' + sElement
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
eval(rpc.xmlhttp.responseText);
|
||||
$("dashboard").innerHTML = '';
|
||||
window.Da=new leimnud.module.dashboard();
|
||||
Da.make({target:$("dashboard"),data:oDashboards});
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
497
workflow/engine/js/dbConnections/main.js
Executable file
@@ -0,0 +1,497 @@
|
||||
/*
|
||||
* Data base connection javascript routines
|
||||
* @Author Erik Amatu Ortiz <erik@colosa.com>
|
||||
* @Update date May 20th, 2009
|
||||
*/
|
||||
|
||||
var PROCESS_REQUEST_FILE = '../dbConnections/dbConnectionsAjax';
|
||||
|
||||
String.prototype.trim = function()
|
||||
{
|
||||
return this.replace(/^\s+|\s+get/g,"");
|
||||
}
|
||||
|
||||
var oPanel;
|
||||
function newDbConnection() {
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:450,h:380},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :G_STRINGS.ID_DBS_NEW,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:false,roll:false,drag:true},
|
||||
fx :{modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
args: 'action=newDdConnection'
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
$('form[CREATE]').disabled = true;
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var saveDBConnection = function() {
|
||||
if( getField('DBS_PORT').value.trim() == '' || getField('DBS_PORT').value.trim() == '0' ) {
|
||||
onChangeType();
|
||||
}
|
||||
|
||||
var type = $('form[DBS_TYPE]').value;
|
||||
var server = $('form[DBS_SERVER]').value;
|
||||
var db_name = $('form[DBS_DATABASE_NAME]').value;
|
||||
var user = $('form[DBS_USERNAME]').value;
|
||||
var passwd = $('form[DBS_PASSWORD]').value;
|
||||
var port = $('form[DBS_PORT]').value;
|
||||
var desc = $('form[DBS_DESCRIPTION]').value;
|
||||
var enc = $('form[DBS_ENCODE]').value;
|
||||
|
||||
var uri = 'action=saveConnection&type='+type+'&server='+server+'&db_name='+db_name+'&user='+user+'&passwd='+passwd+'&port='+port+'&desc='+desc+'&enc='+enc;
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
args: uri
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.clearContent();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=showConnections'
|
||||
});
|
||||
oRPC.make();
|
||||
mainPanel.clearContent();
|
||||
mainPanel.addContent(oRPC.xmlhttp.responseText);
|
||||
oPanel.remove();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
function saveEditDBConnection()
|
||||
{
|
||||
if( getField('DBS_PORT').value.trim() == '' || getField('DBS_PORT').value.trim() == '0' ) {
|
||||
onChangeType();
|
||||
}
|
||||
|
||||
var dbs_uid = currentEditDBS_UID;
|
||||
var type = $('form[DBS_TYPE]').value;
|
||||
var server = $('form[DBS_SERVER]').value;
|
||||
var db_name = $('form[DBS_DATABASE_NAME]').value;
|
||||
var user = $('form[DBS_USERNAME]').value;
|
||||
var passwd = $('form[DBS_PASSWORD]').value;
|
||||
var port = $('form[DBS_PORT]').value;
|
||||
var desc = $('form[DBS_DESCRIPTION]').value;
|
||||
var enc = $('form[DBS_ENCODE]').value;
|
||||
|
||||
var uri = 'action=saveEditConnection&type='+type+'&server='+server+'&db_name='+db_name+'&user='+user+'&passwd='+passwd+'&port='+port+'&dbs_uid='+dbs_uid+'&desc='+desc+'&enc='+enc;
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
args: uri
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel.clearContent();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=showConnections'
|
||||
});
|
||||
oRPC.make();
|
||||
mainPanel.clearContent();
|
||||
mainPanel.addContent(oRPC.xmlhttp.responseText);
|
||||
oPanel.remove();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
var currentEditDBS_UID;
|
||||
|
||||
function editDbConnection(DBS_UID)
|
||||
{
|
||||
currentEditDBS_UID = DBS_UID;
|
||||
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:450,h:380},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :G_STRINGS.ID_DBS_EDIT,
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:false,roll:false,drag:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:false}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
args: 'action=editDdConnection&DBS_UID=' + DBS_UID
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
$('form[CREATE]').disabled = true;
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
function deleteDbConnection(DBS_UID)
|
||||
{
|
||||
new leimnud.module.app.confirm().make({
|
||||
label:G_STRINGS.ID_MSG_CONFIRM_REMOVE_DBS,
|
||||
action:function(){
|
||||
|
||||
var uri = 'action=deleteDbConnection&dbs_uid='+DBS_UID;
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
args: uri
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc){
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=showConnections'
|
||||
});
|
||||
oRPC.make();
|
||||
mainPanel.clearContent();
|
||||
mainPanel.addContent(oRPC.xmlhttp.responseText);
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
|
||||
}.extend(this)
|
||||
});
|
||||
}
|
||||
|
||||
function $(id){
|
||||
return document.getElementById(id);
|
||||
}
|
||||
|
||||
function AJAX()
|
||||
{
|
||||
try {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
}
|
||||
catch(generic_error) {
|
||||
try {
|
||||
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
|
||||
} catch (microsoft_old_error) {
|
||||
try {
|
||||
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
} catch (microsoft_error) {
|
||||
xmlhttp = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return xmlhttp;
|
||||
}
|
||||
|
||||
var currentPopupWindow;
|
||||
|
||||
function testDBConnection()
|
||||
{
|
||||
if(validateFields()) {
|
||||
var type = $('form[DBS_TYPE]').value;
|
||||
var server= $('form[DBS_SERVER]').value;
|
||||
var db_name = $('form[DBS_DATABASE_NAME]').value;
|
||||
var user = $('form[DBS_USERNAME]').value;
|
||||
var passwd = $('form[DBS_PASSWORD]').value;
|
||||
var port = $('form[DBS_PORT]').value;
|
||||
if(port.trim() == ''){
|
||||
port = 'default';
|
||||
}
|
||||
var myPanel = new leimnud.module.panel();
|
||||
currentPopupWindow = myPanel;
|
||||
myPanel.options = {
|
||||
size:{w:500,h:400},
|
||||
position:{center:true},
|
||||
title: G_STRINGS.DBCONNECTIONS_TEST,
|
||||
theme: "processmaker",
|
||||
control: { close: false, roll: false, drag: true, resize: false},
|
||||
fx: {
|
||||
shadow :true,
|
||||
blinkToFront:true,
|
||||
opacity :true,
|
||||
drag:true,
|
||||
modal: true
|
||||
}
|
||||
};
|
||||
|
||||
myPanel.make();
|
||||
myPanel.loader.show();
|
||||
|
||||
var requestfile = PROCESS_REQUEST_FILE;
|
||||
var uri = 'action=showTestConnection&type='+type+'&server='+server+'&db_name='+db_name+'&user='+user+'&passwd='+passwd+'&port='+port;
|
||||
|
||||
var ajax = AJAX();
|
||||
ajax.open("POST", requestfile, true);
|
||||
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
|
||||
ajax.onreadystatechange = function() {
|
||||
if(ajax.readyState == 4) {
|
||||
currentPopupWindow.clearContent();
|
||||
currentPopupWindow.addContent(ajax.responseText);
|
||||
myPanel.command(myPanel.loader.hide);
|
||||
testHost(1);
|
||||
}
|
||||
}
|
||||
ajax.send(uri);
|
||||
}
|
||||
}
|
||||
|
||||
var resultset = true;
|
||||
var mainRequest;
|
||||
mainRequestAbort=false;
|
||||
function testHost(step)
|
||||
{
|
||||
mainRequestAbort = false;
|
||||
$("test_"+step).style.display = "block";
|
||||
|
||||
var type = $('form[DBS_TYPE]').value;
|
||||
var server= $('form[DBS_SERVER]').value;
|
||||
var db_name = $('form[DBS_DATABASE_NAME]').value;
|
||||
var user = $('form[DBS_USERNAME]').value;
|
||||
|
||||
if($('form[DBS_PASSWORD]').value != '') {
|
||||
var passwd = $('form[DBS_PASSWORD]').value;
|
||||
} else {
|
||||
var passwd = 'none';
|
||||
}
|
||||
|
||||
if($('form[DBS_PORT]').value.trim() != '') {
|
||||
var port = $('form[DBS_PORT]').value;
|
||||
} else {
|
||||
var port = 'none';
|
||||
}
|
||||
|
||||
var requestfile = PROCESS_REQUEST_FILE;
|
||||
var uri = 'action=testConnection&step='+step+'&type='+type+'&server='+server+'&db_name='+db_name+'&user='+user+'&port='+port+'&passwd='+passwd;
|
||||
|
||||
var ajax = AJAX();
|
||||
mainRequest = ajax;
|
||||
ajax.open("POST", requestfile, true);
|
||||
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
|
||||
ajax.onreadystatechange = function() {
|
||||
if(ajax.readyState == 4) {
|
||||
try{
|
||||
response = ajax.responseText.trim();
|
||||
oresp = response.split(',');
|
||||
result = oresp[0].trim();
|
||||
msg = oresp[1].trim();
|
||||
|
||||
if( result == 'SUCCESSFULL' ) {
|
||||
$('status_'+step).innerHTML = '';
|
||||
if(msg != '') {
|
||||
$('status_'+step).innerHTML = '<img src="/images/row_down.png" width="15" height="11" align="left" border="0"/><b>'+G_STRINGS.DBCONNECTIONS_MSGR+'<font color=#000>'+msg+'</b></font><br/>';
|
||||
}
|
||||
$('status_'+step).innerHTML += '<img src="/images/ok.png" width="13" height="13" align="left" border="0"/><b>'+G_STRINGS.DBCONNECTIONS_MSGT+' <font color="#749AF9">'+G_STRINGS.DBCONNECTIONS_MSGS+'</b></font>';
|
||||
}
|
||||
else {
|
||||
if( result == 'FAILED' ) {
|
||||
$('status_'+step).innerHTML = '<img src="/images/alert.gif" width="12" height="12" align="left" border="0"/><b>'+G_STRINGS.DBCONNECTIONS_MSGR+' <font color=red>'+msg+'</b></font><br/>';
|
||||
$('status_'+step).innerHTML += '<img src="/images/cross.gif" width="12" height="12" align="left" border="0"/><b>'+G_STRINGS.DBCONNECTIONS_MSGT+' <font color=red>'+G_STRINGS.DBCONNECTIONS_MSG2+'</b></font>';
|
||||
resultset = false;
|
||||
} else {
|
||||
alert(response);
|
||||
return;
|
||||
}
|
||||
}
|
||||
step += 1;
|
||||
if(!mainRequestAbort) {
|
||||
testHost(step);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
if(resultset){
|
||||
$('form[CREATE]').disabled = false;
|
||||
}
|
||||
else {
|
||||
resultset = true;
|
||||
$('form[CREATE]').disabled = true;
|
||||
}
|
||||
$('bnt_abort').style.display = 'none';
|
||||
$('bnt_ok').style.display = 'block';
|
||||
return;
|
||||
};
|
||||
} else {
|
||||
var html = "<img src='/images/activityanimation.gif'><br/><center>"+G_STRINGS.DBCONNECTIONS_MSG3+"....</center>"; //
|
||||
$('status_'+step).innerHTML = html;
|
||||
}
|
||||
}
|
||||
ajax.send(uri);
|
||||
}
|
||||
|
||||
function abortTestConnection()
|
||||
{
|
||||
mainRequestAbort = true;
|
||||
mainRequest.abort();
|
||||
currentPopupWindow.clearContent();
|
||||
currentPopupWindow.addContent("<br/><br/><center><font color=red><b>"+G_STRINGS.DBCONNECTIONS_MSGA+"</b></font></center>");
|
||||
setTimeout("currentPopupWindow.remove()",2000);
|
||||
}
|
||||
|
||||
function cancelTestConnection()
|
||||
{
|
||||
currentPopupWindow.remove();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function validateFields()
|
||||
{
|
||||
if( getField('DBS_PORT').value.trim() == '' || getField('DBS_PORT').value.trim() == '0' ) {
|
||||
onChangeType();
|
||||
}
|
||||
|
||||
var res = true;
|
||||
var o = new input(getField('DBS_SERVER'));
|
||||
if($('form[DBS_SERVER]').value == '') {
|
||||
//new leimnud.module.app.alert().make({label: G_STRINGS.DBCONNECTIONS_MSG4});
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
|
||||
var o = new input(getField('DBS_DATABASE_NAME'));
|
||||
if($('form[DBS_DATABASE_NAME]').value == '') {
|
||||
//new leimnud.module.app.alert().make({label: G_STRINGS.DBCONNECTIONS_MSG5});
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
|
||||
var o = new input(getField('DBS_USERNAME'));
|
||||
if($('form[DBS_USERNAME]').value == '') {
|
||||
//new leimnud.module.app.alert().make({label: G_STRINGS.DBCONNECTIONS_MSG6});
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
|
||||
/*var o = new input(getField('DBS_PORT'));
|
||||
if($('form[DBS_PORT]').value == '') {
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();*/
|
||||
|
||||
var o = new input(getField('DBS_TYPE'));
|
||||
if($('form[DBS_TYPE]').value == '0') {
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
|
||||
oType = getField('DBS_TYPE');
|
||||
if( oType.value != 'mssql' && oType.value != 'oracle' ){
|
||||
var o = new input(getField('DBS_ENCODE'));
|
||||
if($('form[DBS_ENCODE]').value == '0') {
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
}
|
||||
|
||||
|
||||
if(!res){
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.DBCONNECTIONS_ALERT});
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
var onChangeType = function() {
|
||||
var oAux = getField('DBS_PORT');
|
||||
|
||||
switch(getField('DBS_TYPE').value) {
|
||||
case 'mysql':
|
||||
oAux.value = '3306';
|
||||
break;
|
||||
case 'pgsql':
|
||||
oAux.value = '5432';
|
||||
break;
|
||||
case 'mssql':
|
||||
oAux.value = '1433';
|
||||
break;
|
||||
case 'oracle':
|
||||
oAux.value = '1521';
|
||||
break;
|
||||
default:
|
||||
oAux.value = '';
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
function showEncodes(pre){
|
||||
oType = getField('DBS_TYPE');
|
||||
//if( oType.value != 'mssql' && oType.value != 'oracle' ){
|
||||
if( oType.value != 'oracle' ){
|
||||
showRowById('DBS_ENCODE');
|
||||
var o = new input(getField('DBS_TYPE'));
|
||||
if($('form[DBS_TYPE]').value == '0') {
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
|
||||
var o = getField('DBS_TYPE');
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : PROCESS_REQUEST_FILE,
|
||||
args: 'action=showEncodes&engine='+o.value
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc){
|
||||
var oEnc = getField('DBS_ENCODE');
|
||||
response = eval('{'+oRPC.xmlhttp.responseText+'}');
|
||||
|
||||
oEnc.options.length = 0;
|
||||
//set news
|
||||
for(i=0; i<response.length; i++){
|
||||
var newOption = new Option(response[i][1], response[i][0]);
|
||||
oEnc.options[i] = newOption;
|
||||
}
|
||||
|
||||
if(pre != null)
|
||||
oEnc.value = pre;
|
||||
|
||||
|
||||
var o = new input(getField('DBS_ENCODE'));
|
||||
if($('form[DBS_ENCODE]').value == '0') {
|
||||
o.failed();
|
||||
res = false;
|
||||
} else
|
||||
o.passed();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
} else {
|
||||
hideRowById('DBS_ENCODE');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
65
workflow/engine/js/departments/departments.js
Normal file
@@ -0,0 +1,65 @@
|
||||
function saveUserGroup(sUser) {
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../groups/groups_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=assignUser&GRP_UID=' + currentGroup + '&USR_UID=' + sUser
|
||||
});
|
||||
oRPC.make();
|
||||
currentPopupWindow.remove();
|
||||
selectGroup(currentGroup);
|
||||
}
|
||||
|
||||
|
||||
function saveUsers(){
|
||||
if( checks_selected_ids.length == 0 ){
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.ID_MSG_GROUPS_ADDCONFIRM});
|
||||
return 0;
|
||||
}
|
||||
//alert('action=assignAllUsers&DEP_UID=' + currentGroup + '&aUsers=' + checks_selected_ids);return;
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../departments/departments_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=assignAllUsers&DEP_UID=' + currentGroup + '&aUsers=' + checks_selected_ids
|
||||
});
|
||||
resetChecks();
|
||||
oRPC.make();
|
||||
currentPopupWindow.remove();
|
||||
selectDpto(currentGroup);
|
||||
}
|
||||
|
||||
function resetChecks(){
|
||||
checks_selected_ids.length = 0;
|
||||
}
|
||||
|
||||
|
||||
function WindowSize() {
|
||||
var wSize = [0, 0];
|
||||
if (typeof window.innerWidth != 'undefined')
|
||||
{
|
||||
wSize = [
|
||||
window.innerWidth,
|
||||
window.innerHeight
|
||||
];
|
||||
}
|
||||
else if (typeof document.documentElement != 'undefined'
|
||||
&& typeof document.documentElement.clientWidth !=
|
||||
'undefined' && document.documentElement.clientWidth != 0)
|
||||
{
|
||||
wSize = [
|
||||
document.documentElement.clientWidth,
|
||||
document.documentElement.clientHeight
|
||||
];
|
||||
}
|
||||
else {
|
||||
wSize = [
|
||||
document.getElementsByTagName('body')[0].clientWidth,
|
||||
document.getElementsByTagName('body')[0].clientHeight
|
||||
];
|
||||
}
|
||||
return wSize;
|
||||
}
|
||||
|
||||
|
||||
567
workflow/engine/js/dynaformEditor/core/dynaformEditor.js
Executable file
@@ -0,0 +1,567 @@
|
||||
if (typeof(dynaformEditor)==="undefined")
|
||||
{
|
||||
var dynaformEditor={
|
||||
A:"",
|
||||
dynUid:"",
|
||||
ajax:"",
|
||||
currentView:"preview",
|
||||
views:{},
|
||||
toolbar:{},
|
||||
htmlEditorLoaded:false,
|
||||
loadPressLoaded:true,
|
||||
codePressLoaded:false,
|
||||
currentJS:false,
|
||||
_run:function()
|
||||
{
|
||||
//LOADING PARTS
|
||||
this.toolbar = document.getElementById("fields_Toolbar")
|
||||
mainPanel.elements.headerBar.style.backgroundColor="#CBDAEF";
|
||||
mainPanel.elements.headerBar.style.borderBottom="1px solid #808080";
|
||||
mainPanel.elements.headerBar.appendChild(this.toolbar);
|
||||
mainPanel.events.remove = function(){
|
||||
}
|
||||
this.refresh_preview();
|
||||
},
|
||||
_review:function()
|
||||
{
|
||||
|
||||
},
|
||||
save:function(){
|
||||
/*this.saveProperties();*/
|
||||
try {
|
||||
this.saveCurrentView();
|
||||
} catch (e) {
|
||||
alert(e);
|
||||
}
|
||||
res=this.ajax.save(this.A,this.dynUid);
|
||||
if(res=='noSub'){
|
||||
alert(G_STRINGS.ID_DONT_SAVE_XMLFORM);
|
||||
return false;
|
||||
}
|
||||
if (res==0) {
|
||||
alert(G_STRINGS.ID_SAVED);
|
||||
}
|
||||
else
|
||||
{
|
||||
G.alert(res["*message"]);
|
||||
}
|
||||
},
|
||||
save_as:function(){
|
||||
/*this.saveProperties();*/
|
||||
try {
|
||||
this.saveCurrentView();
|
||||
} catch (e) {
|
||||
alert(e);
|
||||
}
|
||||
url='dynaforms_Saveas';
|
||||
popupWindow('Save as', url+'?DYN_UID='+this.dynUid+'&AA='+this.A , 500, 350);
|
||||
},
|
||||
/*
|
||||
* @function close
|
||||
* @author unknow
|
||||
* @modifier Gustavo Cruz
|
||||
* @desc this function handles the close of a dynaform editor window
|
||||
* now whenever a dynaform window is close, if the form wasn't
|
||||
* saved the function also delete the temporal *_tmp0.xml files
|
||||
* discarding all the changes that were made, bug 3861.
|
||||
*/
|
||||
close:function()
|
||||
{
|
||||
var modified=this.ajax.is_modified(this.A,this.dynUid);
|
||||
if (typeof(modified)==="boolean")
|
||||
{
|
||||
if (!modified || confirm(G_STRINGS.ID_EXIT_WITHOUT_SAVING))
|
||||
{
|
||||
res=this.ajax.close(this.A);
|
||||
if (res==0) {
|
||||
//alert(G_STRINGS.ID_DYNAFORM_NOT_SAVED);
|
||||
}
|
||||
else
|
||||
{
|
||||
//alert(res["response"]);
|
||||
alert(res["*message"]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (typeof(modified["*message"])==="string") G.alert(modified["*message"]);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
// Save functions
|
||||
saveCurrentView:function()
|
||||
{
|
||||
switch(this.currentView)
|
||||
{
|
||||
case "xmlcode":
|
||||
this.saveXmlCode();
|
||||
break;
|
||||
case "htmlcode":
|
||||
this.saveHtmlCode();
|
||||
break;
|
||||
case "javascripts":
|
||||
this.saveJavascript();
|
||||
break;
|
||||
case "properties":
|
||||
this.saveProperties();
|
||||
break;
|
||||
}
|
||||
},
|
||||
saveXmlCode:function()
|
||||
{
|
||||
// var xmlCode = getField("XML").value;
|
||||
var xmlCode = this.getXMLCode();
|
||||
var todoRefreshXmlCode = xmlCode === null;
|
||||
if (todoRefreshXmlCode) return;
|
||||
var res = this.ajax.set_xmlcode(this.A,xmlCode.replace(/\+/g, '%2B'));
|
||||
if (res!=="") G.alert(res);
|
||||
},
|
||||
saveHtmlCode:function()
|
||||
{
|
||||
var htmlCode = getField("HTML");
|
||||
todoRefreshHtmlCode = htmlCode === null;
|
||||
if (todoRefreshHtmlCode) return;
|
||||
var response=this.ajax.set_htmlcode(this.A,htmlCode.value);
|
||||
if (response) G.alert(response["*message"],"Error");
|
||||
},
|
||||
saveJavascript:function()
|
||||
{
|
||||
var field=getField("JS_LIST","dynaforms_JSEditor");
|
||||
var code=this.getJSCode();
|
||||
if (field.value)
|
||||
{
|
||||
var res=this.ajax.set_javascript(this.A,field.value,code.replace(/\+/g, '%2B'));
|
||||
if (typeof(res["*message"])==="string")
|
||||
{
|
||||
G.alert(res["*message"]);
|
||||
}
|
||||
}
|
||||
},
|
||||
saveProperties:function()
|
||||
{
|
||||
var form=this.views["properties"].getElementsByTagName("form")[0];
|
||||
var post=ajax_getForm(form);
|
||||
var response=this.ajax.set_properties(this.A,this.dynUid,post);
|
||||
if (response!=0){
|
||||
G.alert(response["*message"]);
|
||||
}
|
||||
},
|
||||
// Change view point functions
|
||||
changeToPreview:function()
|
||||
{
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='auto';
|
||||
if (this.currentView!="preview")this.refresh_preview();
|
||||
this.currentView="preview";
|
||||
},
|
||||
changeToXmlCode:function()
|
||||
{
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='auto';
|
||||
|
||||
this.refresh_xmlcode();
|
||||
this.currentView="xmlcode";
|
||||
if (this.loadPressLoaded && !XMLCodePress)
|
||||
{
|
||||
startXMLCodePress();
|
||||
}
|
||||
},
|
||||
changeToHtmlCode:function()
|
||||
{
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='auto';
|
||||
|
||||
this.refresh_htmlcode();
|
||||
this.currentView="htmlcode";
|
||||
},
|
||||
changeToFieldsList:function()
|
||||
{
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='visible';
|
||||
|
||||
this.refreshFieldsList();
|
||||
this.currentView="fieldslist";
|
||||
},
|
||||
changeToJavascripts:function()
|
||||
{
|
||||
var field=getField("JS_LIST","dynaforms_JSEditor");
|
||||
var res=this.ajax.get_javascripts(this.A,field.value);
|
||||
|
||||
|
||||
this.currentView="javascripts";
|
||||
this.refreshJavascripts();
|
||||
if(field.value!='' || typeof(res.aOptions[0])!='undefined'){
|
||||
hideRowById('JS_TITLE');
|
||||
showRowById('JS');
|
||||
showRowById('JS_LIST');
|
||||
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='auto';
|
||||
|
||||
//this.currentView="javascripts";
|
||||
//this.refreshJavascripts();
|
||||
if (this.loadPressLoaded && !JSCodePress)
|
||||
{
|
||||
startJSCodePress();
|
||||
}
|
||||
}else{
|
||||
showRowById('JS_TITLE');
|
||||
hideRowById('JS');
|
||||
hideRowById('JS_LIST');
|
||||
|
||||
}
|
||||
},
|
||||
changeToProperties:function()
|
||||
{
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='auto';
|
||||
|
||||
this.currentView="properties";
|
||||
this.refreshProperties();
|
||||
},
|
||||
changeToShowHide:function()
|
||||
{
|
||||
//to adecuate the view perspective @Neyek
|
||||
content_div = getElementByPMClass('panel_content___processmaker')
|
||||
content_div.style.overflow='auto';
|
||||
//alert('xxxxxx');
|
||||
this.currentView="showHide";
|
||||
this.refreshShowHide();
|
||||
},
|
||||
// Refresh functions
|
||||
refreshCurrentView:function()
|
||||
{
|
||||
switch(this.currentView)
|
||||
{
|
||||
case "preview":this.refresh_preview();break;
|
||||
case "htmlcode":this.refresh_htmlcode();break;
|
||||
case "xmlcode":this.refresh_xmlcode();break;
|
||||
case "fieldslist":this.refreshFieldsList();break;
|
||||
case "javascripts":this.refreshJavascripts();break;
|
||||
case "properties":this.refreshProperties();break;
|
||||
}
|
||||
},
|
||||
refresh_preview:function()
|
||||
{
|
||||
var editorPreview = document.getElementById("editorPreview");
|
||||
var todoRefreshPreview = editorPreview === null;
|
||||
if (todoRefreshPreview) return;
|
||||
editorPreview.innerHTML = this.ajax.render_preview(this.A);
|
||||
var myScripts = editorPreview.getElementsByTagName("SCRIPT");
|
||||
this.runScripts(myScripts);
|
||||
delete myScripts;
|
||||
},
|
||||
refresh_htmlcode:function()
|
||||
{
|
||||
var dynaformEditorHTML = this.views["htmlcode"];
|
||||
if (this.htmlEditorLoaded)
|
||||
{
|
||||
var response=this.ajax.get_htmlcode(this.A);
|
||||
response={"html":response,
|
||||
"error":((typeof(response)==="string")?0:response)};
|
||||
}
|
||||
else
|
||||
{
|
||||
var response=this.ajax.render_htmledit(this.A);
|
||||
}
|
||||
if ((response.error==0) && (this.htmlEditorLoaded))
|
||||
{
|
||||
window._editorHTML.doc.body.innerHTML=response.html;
|
||||
html_html2();
|
||||
html2_html();
|
||||
}
|
||||
else if ((response.error==0) && (!this.htmlEditorLoaded))
|
||||
{
|
||||
dynaformEditorHTML.innerHTML=response.html;
|
||||
this.runScripts(dynaformEditorHTML.getElementsByTagName("SCRIPT"));
|
||||
this.htmlEditorLoaded=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
dynaformEditorHTML.innerHTML=response.html;
|
||||
this.runScripts(dynaformEditorHTML.getElementsByTagName("SCRIPT"));
|
||||
G.alert(response.error["*message"],"Error");
|
||||
return;
|
||||
}
|
||||
getField("PME_HTML_ENABLETEMPLATE","dynaforms_HtmlEditor").checked=this.getEnableTemplate();
|
||||
},
|
||||
refresh_xmlcode:function()
|
||||
{
|
||||
var response=this.ajax.get_xmlcode(this.A);
|
||||
if (response.error===0)
|
||||
{
|
||||
//xmlCode.value = response.xmlcode;
|
||||
this.setXMLCode(response.xmlcode);
|
||||
}
|
||||
else
|
||||
{
|
||||
G.alert(response.error["*message"],"Error");
|
||||
}
|
||||
},
|
||||
refreshFieldsList:function() {
|
||||
//fields_List.refresh(); return;
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'fieldsHandler',
|
||||
args: ''
|
||||
});
|
||||
document.getElementById('dynaformEditor[6]').innerHTML = '';
|
||||
oRPC.callback = function(rpc) {
|
||||
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
document.getElementById('dynaformEditor[6]').innerHTML = rpc.xmlhttp.responseText;
|
||||
scs.evalScript();
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
},
|
||||
refreshShowHide:function() {
|
||||
//fields_List.refresh(); return;
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide',
|
||||
args: ''
|
||||
});
|
||||
document.getElementById('dynaformEditor[9]').innerHTML = '';
|
||||
|
||||
oRPC.callback = function(rpc) {
|
||||
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
document.getElementById('dynaformEditor[9]').innerHTML = rpc.xmlhttp.responseText;
|
||||
scs.evalScript();
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
},
|
||||
getJSCode:function()
|
||||
{
|
||||
if (JSCodePress)
|
||||
{
|
||||
return JSCodePress.getCode();
|
||||
}
|
||||
else
|
||||
{
|
||||
return getField("JS","dynaforms_JSEditor").value;
|
||||
}
|
||||
},
|
||||
setJSCode:function(newCode)
|
||||
{
|
||||
if (JSCodePress)
|
||||
{
|
||||
JSCodePress.setCode(newCode);
|
||||
//JSCodePress.edit(newCode,"javascript");
|
||||
}
|
||||
else
|
||||
{
|
||||
var code=getField("JS","dynaforms_JSEditor");
|
||||
code.value=newCode;
|
||||
}
|
||||
},
|
||||
getXMLCode:function()
|
||||
{
|
||||
if (XMLCodePress)
|
||||
{
|
||||
return XMLCodePress.getCode();
|
||||
}
|
||||
else
|
||||
{
|
||||
return getField("XML","dynaforms_XmlEditor").value;
|
||||
}
|
||||
},
|
||||
setXMLCode:function(newCode)
|
||||
{
|
||||
if (XMLCodePress)
|
||||
{
|
||||
XMLCodePress.setCode(newCode);
|
||||
//XMLCodePress.edit(newCode,"xmlform");
|
||||
}
|
||||
else
|
||||
{
|
||||
var code=getField("XML","dynaforms_XmlEditor");
|
||||
code.value=newCode;
|
||||
}
|
||||
},
|
||||
setEnableTemplate:function(value)
|
||||
{
|
||||
value = value ? "1" : "0";
|
||||
this.ajax.set_enabletemplate( this.A , value );
|
||||
},
|
||||
getEnableTemplate:function()
|
||||
{
|
||||
var value = this.ajax.get_enabletemplate( this.A );
|
||||
return value == "1";
|
||||
},
|
||||
refreshJavascripts:function()
|
||||
{
|
||||
var field=getField("JS_LIST","dynaforms_JSEditor");
|
||||
|
||||
for(j=0; j<field.options.length; j++) {
|
||||
if( field.options[j].value == '___pm_boot_strap___' ){
|
||||
field.remove(j);
|
||||
}
|
||||
}
|
||||
|
||||
this.currentJS=field.value;
|
||||
var res=this.ajax.get_javascripts(this.A,field.value);
|
||||
if(field.value == ''){
|
||||
if( typeof(res.aOptions[0]) !== "undefined" && res.aOptions[0].value != '___pm_boot_strap___'){
|
||||
res = this.ajax.get_javascripts(this.A, res.aOptions[0].value);
|
||||
this.currentJS = res.aOptions[0].value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (typeof(res["*message"])==="undefined")
|
||||
{
|
||||
while(field.options.length>0) field.remove(0);
|
||||
for(var i=0;i<res.aOptions.length;i++)
|
||||
{
|
||||
var optn = document.createElement ("OPTION");
|
||||
optn.text = res.aOptions[i].value;
|
||||
optn.value = res.aOptions[i].key;
|
||||
field.options[i]=optn;
|
||||
}
|
||||
field.value = this.currentJS;
|
||||
this.setJSCode(res.sCode);
|
||||
}
|
||||
else
|
||||
{
|
||||
G.alert(response.error["*message"],"Error");
|
||||
}
|
||||
|
||||
var field=getField("JS_LIST","dynaforms_JSEditor");
|
||||
for(j=0; j<field.options.length; j++) {
|
||||
if( field.options[j].value == '___pm_boot_strap___' ){
|
||||
field.options[j].text = '';
|
||||
}
|
||||
}
|
||||
|
||||
if(field.options.length > 0 || typeof(res.aOptions[0])!== "undefined"){
|
||||
hideRowById('JS_TITLE');
|
||||
showRowById('JS');
|
||||
showRowById('JS_LIST');
|
||||
if (this.loadPressLoaded && !JSCodePress)
|
||||
{
|
||||
startJSCodePress();
|
||||
}
|
||||
}else{
|
||||
showRowById('JS_TITLE');hideRowById('JS_LIST');hideRowById('JS');}
|
||||
|
||||
},
|
||||
changeJavascriptCode:function()
|
||||
{
|
||||
var field=getField("JS_LIST","dynaforms_JSEditor");
|
||||
var value=field.value;
|
||||
if (this.currentJS)
|
||||
{
|
||||
field.value=this.currentJS;
|
||||
this.saveJavascript();
|
||||
field.value=value;
|
||||
}
|
||||
this.refreshJavascripts();
|
||||
},
|
||||
refreshProperties:function()
|
||||
{
|
||||
var form=this.views["properties"].getElementsByTagName("form")[0];
|
||||
var prop=this.ajax.get_properties(this.A,this.dynUid);
|
||||
getField("A","dynaforms_Properties").value=prop.A;
|
||||
getField("DYN_UID","dynaforms_Properties").value=prop.DYN_UID;
|
||||
getField("PRO_UID","dynaforms_Properties").value=prop.PRO_UID;
|
||||
getField("DYN_TITLE","dynaforms_Properties").value=prop.DYN_TITLE;
|
||||
getField("DYN_TYPE","dynaforms_Properties").value=prop.DYN_TYPE;
|
||||
getField("DYN_DESCRIPTION","dynaforms_Properties").value=prop.DYN_DESCRIPTION;
|
||||
getField("WIDTH","dynaforms_Properties").value=prop.WIDTH;
|
||||
/*getField("ENABLETEMPLATE","dynaforms_Properties").checked=(prop.ENABLETEMPLATE=="1");*/
|
||||
getField("MODE","dynaforms_Properties").value=prop.MODE;
|
||||
},
|
||||
// Internal functions
|
||||
runScripts:function(scripts)
|
||||
{
|
||||
var myScripts=[];
|
||||
for(var rr=0; rr < scripts.length ; rr++){
|
||||
myScripts.push(scripts[rr].innerHTML);
|
||||
}
|
||||
for(var rr=0; rr < myScripts.length ; rr++){
|
||||
try {
|
||||
if (myScripts[rr]!=="")
|
||||
if (window.execScript) {
|
||||
window.execScript( myScripts[rr], "javascript" );}
|
||||
else
|
||||
window.setTimeout( "try{\n"+myScripts[rr]+"\n}catch(e){\ndynaformEditor.displayError(e,"+rr+")}", 0 );
|
||||
} catch (e) {
|
||||
dynaformEditor.displayError(e,rr);
|
||||
}
|
||||
}
|
||||
delete myScripts;
|
||||
},
|
||||
restoreHTML:function()
|
||||
{
|
||||
window._editorHTML.doc.body.innerHTML = this.ajax.restore_html(this.A);
|
||||
html_html2();
|
||||
html2_html();
|
||||
},
|
||||
displayError:function(err,rr)
|
||||
{
|
||||
G.alert(err.message.split("\n").join("<br />"),"Javascript Error");
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Donde esta esto!!!");
|
||||
}
|
||||
|
||||
|
||||
function getElementByPMClass(__class){
|
||||
divs = document.getElementsByTagName('div');
|
||||
for(i=0; i<divs.length; i++){
|
||||
if(divs[i].className == __class){
|
||||
return divs[i];
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**/
|
||||
|
||||
function fieldsSave( form ) {
|
||||
|
||||
var str = document.getElementById('form[PME_XMLNODE_NAME]').value;
|
||||
str.split(" ").length;
|
||||
if(str.split(" ").length>=2){
|
||||
msgBox(G_STRINGS.ID_EMPTY_NODENAME,"alert");
|
||||
return;
|
||||
}
|
||||
|
||||
if (pme_validating) {
|
||||
validatingForm=form;
|
||||
setTimeout('fieldsSave(validatingForm);',100);
|
||||
return;
|
||||
}
|
||||
if (!G.getObject(form).verifyRequiredFields()){
|
||||
return;
|
||||
}
|
||||
//processbar.style.display = '';
|
||||
var res=ajax_post( form.action, form, 'POST' , null , false );
|
||||
currentPopupWindow.remove();
|
||||
dynaformEditor.refreshCurrentView();
|
||||
}
|
||||
|
||||
function fieldsAdd( type,label ){
|
||||
if(!label){
|
||||
label=type;
|
||||
}
|
||||
popupWindow(G_STRINGS.ID_ADD + ' ' + label , '../dynaforms/fields_Edit?A='+DYNAFORM_URL+'&TYPE='+encodeURIComponent(type) , 510, 650, null,false,true);
|
||||
}
|
||||
|
||||
695
workflow/engine/js/dynaforms/dynaforms_conditionalShowHide.js
Executable file
@@ -0,0 +1,695 @@
|
||||
/**
|
||||
* Conditional show hide class
|
||||
*
|
||||
* @Author Erik A. Ortiz. <erik@colosa.com, aortiz.erik@gmail.com>
|
||||
* @date Feb 22, 2010
|
||||
*/
|
||||
|
||||
var conditionEditorPanel;
|
||||
|
||||
var Conditional = function(DYN_UID){
|
||||
|
||||
this.DYN_UID = DYN_UID;
|
||||
this.client = getBrowserClient();
|
||||
|
||||
this.dynavarsPanel = null;
|
||||
this.dynavarsPanelNew = null;
|
||||
this.fields = Array();
|
||||
this.conditionVariables = new Object();
|
||||
this.conditionVariables.___IsSET___ = false;
|
||||
this.conditionVariablesFromSetup = new Object();
|
||||
this.conditionVariablesFromSetup.___IsSET___ = false;
|
||||
this.aConditionVariablesFromSetup = new Array();
|
||||
|
||||
this.canSave = false;
|
||||
this.conditionTested = false;
|
||||
|
||||
this.setDynUid = function(id){
|
||||
this.DYN_UID = id;
|
||||
}
|
||||
|
||||
this.showID = function(){
|
||||
alert('DYN_UID: '+this.DYN_UID);
|
||||
}
|
||||
|
||||
this.editor = function(sType){
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size : {w:730, h:595},
|
||||
position : {x:0, y:0, center:true},
|
||||
title : G_STRINGS.CONDITIONAL_TITLE,
|
||||
statusBar: false,
|
||||
control : {resize:false,roll:false,drag:true},
|
||||
fx : {modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() {delete(oPanel);}.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
|
||||
sExtra = '';
|
||||
if(sType != 'new'){
|
||||
FCD_UID = sType;
|
||||
sType = 'edit';
|
||||
sExtra = '&FCD_UID='+FCD_UID;
|
||||
}
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide_Ajax',
|
||||
args: 'request='+sType+sExtra
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
var scs = rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
conditionEditorPanel = this.dynavarsPanelNew = oPanel;
|
||||
}
|
||||
|
||||
|
||||
this.populate = function(filter){
|
||||
|
||||
if( typeof(filter) != 'undefined' ){
|
||||
if( filter.IN ){
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide_Ajax',
|
||||
args: 'request=getDynaFieds'
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
var scs = rpc.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
oFields = getField('fields');
|
||||
oEventOwner = getField('event_owner');
|
||||
var response = eval(oRPC.xmlhttp.responseText);
|
||||
|
||||
for(i=0; i<response.length; i++){
|
||||
this.fields[i] = response[i];
|
||||
var newOption = new Option(response[i], response[i]);
|
||||
var newOption2 = new Option(response[i], response[i]);
|
||||
|
||||
oFields.options[i] = newOption;
|
||||
oEventOwner.options[i] = newOption2;
|
||||
}
|
||||
oFields[0].selected = true;
|
||||
oEventOwner[0].selected = true;
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
this.populateEdit = function(){
|
||||
var oFCD_FIELDS = getField('FCD_FIELDS');
|
||||
var oFCD_EVENT_OWNERS = getField('FCD_EVENT_OWNERS');
|
||||
var oFCD_EVENTS = getField('FCD_EVENTS');
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide_Ajax',
|
||||
args: 'request=getDynaFieds'
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
var j, k;
|
||||
|
||||
oFields = getField('fields');
|
||||
oEventOwner = getField('event_owner');
|
||||
oFieldsSelected = getField('fields_selected');
|
||||
oEventOwnerSelected = getField('event_owner_selected');
|
||||
oEventOnload = getField('eventOnload');
|
||||
oEventOnchange = getField('eventOnchange');
|
||||
|
||||
var response = eval(oRPC.xmlhttp.responseText);
|
||||
|
||||
j = 0;
|
||||
k = 0;
|
||||
for(i=0; i<response.length; i++){
|
||||
this.fields[i] = response[i];
|
||||
if( oFCD_FIELDS.value.indexOf(response[i]) === -1 ){
|
||||
var newOption = new Option(response[i], response[i]);
|
||||
oFields.options[j++] = newOption;
|
||||
} else {
|
||||
var newOption = new Option(response[i], response[i]);
|
||||
oFieldsSelected.options[k++] = newOption;
|
||||
}
|
||||
}
|
||||
|
||||
j = 0;
|
||||
k = 0;
|
||||
for(i=0; i<response.length; i++){
|
||||
this.fields[i] = response[i];
|
||||
if( oFCD_EVENT_OWNERS.value.indexOf(response[i]) === -1 ){
|
||||
var newOption = new Option(response[i], response[i]);
|
||||
oEventOwner.options[j++] = newOption;
|
||||
} else {
|
||||
var newOption = new Option(response[i], response[i]);
|
||||
oEventOwnerSelected.options[k++] = newOption;
|
||||
}
|
||||
}
|
||||
|
||||
if( oFCD_EVENTS.value.indexOf('onload') !== -1 ){
|
||||
oEventOnload.checked = true;
|
||||
}
|
||||
|
||||
if( oFCD_EVENTS.value.indexOf('onchange') !== -1 ){
|
||||
oEventOnchange.checked = true;
|
||||
}
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
this.toSelect = function(target, target2){
|
||||
var oTarget = getField(target);
|
||||
var oTargetSelected = getField(target2);
|
||||
this.deselectAll(oTargetSelected);
|
||||
|
||||
var aSelectedOptions = Array();
|
||||
|
||||
for (i = 0; i<oTarget.length; i++) {
|
||||
if ( oTarget.options[i].selected ){
|
||||
aSelectedOptions.push(oTarget.options[i]);
|
||||
}
|
||||
}
|
||||
|
||||
c = oTargetSelected.length;
|
||||
for (i = 0; i<aSelectedOptions.length; i++) {
|
||||
oTargetSelected.options[c] = new Option(aSelectedOptions[i].text, aSelectedOptions[i].value);
|
||||
oTargetSelected.options[c].selected = true;
|
||||
c++;
|
||||
}
|
||||
|
||||
this.dropSelectedOption(target);
|
||||
}
|
||||
|
||||
this.dropSelectedOption = function(target){
|
||||
var o = getField(target);
|
||||
var Options = Array();
|
||||
var c = 0;
|
||||
var selectedIndex = o.selectedIndex;
|
||||
|
||||
if( o.options.length > 0 ){
|
||||
if(o.options.length == 0){
|
||||
return false;
|
||||
}
|
||||
|
||||
for(i=0; i<o.options.length; i++){
|
||||
Options.push(o.options[i]);
|
||||
}
|
||||
|
||||
o.options.length = 0;
|
||||
|
||||
for(i=0; i<Options.length; i++){
|
||||
if( !Options[i].selected ){
|
||||
o.options[c++] = Options[i];
|
||||
}
|
||||
}
|
||||
|
||||
if( selectedIndex >= 0 && selectedIndex < o.options.length ){
|
||||
o.options[selectedIndex].selected = true;
|
||||
} else if( selectedIndex >= 0 && o.options.length > 0 ){
|
||||
o.options[selectedIndex-1].selected = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.deselectAll = function(list){
|
||||
for(i=0; i<list.length; i++){
|
||||
list.options[i].selected = false;
|
||||
}
|
||||
}
|
||||
|
||||
this.setCharacter = function(sItem){
|
||||
var f = getField('FCD_CONDITION');
|
||||
|
||||
switch(this.client.browser){
|
||||
case 'msie':
|
||||
try{
|
||||
if(typeof document.selection != 'undefined' && document.selection) {
|
||||
var str = document.selection.createRange().text;
|
||||
f.focus();
|
||||
var sel = document.selection.createRange();
|
||||
sel.text = sItem;
|
||||
sel.select();
|
||||
return;
|
||||
}else if(typeof f.selectionStart != 'undefined'){
|
||||
var start = f.selectionStart;
|
||||
var end = f.selectionEnd;
|
||||
var insText = f.value.substring(start, end);
|
||||
f.value = f.value.substr(0, start) + sItem + f.value.substr(end);
|
||||
f.focus();
|
||||
f.setSelectionRange(start+2+tag.length+insText.length+3+tag.length,start+2+tag.length+insText.length+3+tag.length);
|
||||
return;
|
||||
}else{
|
||||
f.value+=sItem;
|
||||
return;
|
||||
}
|
||||
alert(f.value);
|
||||
}catch(e){
|
||||
alert(e+"_");
|
||||
}
|
||||
break;
|
||||
|
||||
case 'firefox':
|
||||
|
||||
var _ini = f.selectionStart;
|
||||
var _fin = f.selectionEnd;
|
||||
var inicio = f.value.substr(0, _ini);
|
||||
var fin = f.value.substr(_fin, f.value.length);
|
||||
|
||||
f.value = inicio + sItem + fin;
|
||||
if (_ini == _fin) {
|
||||
f.selectionStart = inicio.length + sItem.length;
|
||||
f.selectionEnd = f.selectionStart;
|
||||
}
|
||||
else {
|
||||
f.selectionStart = inicio.length;
|
||||
f.selectionEnd = inicio.length + sItem.length;
|
||||
}
|
||||
f.focus();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
this.showDynavars = function(e){
|
||||
|
||||
if( this.dynavarsPanel !== null ){
|
||||
return false;
|
||||
}
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size : {w:150, h:200},
|
||||
position : {x:e.clientX, y:e.clientY, center:false},
|
||||
title : '',
|
||||
statusBar : false,
|
||||
control : {resize:false,roll:false,drag:true},
|
||||
fx : {modal:false,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() {
|
||||
delete(oPanel);
|
||||
this.dynavarsPanel = null;
|
||||
}.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
|
||||
this.dynavarsPanel = oPanel;
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide_Ajax',
|
||||
args: 'request=getDynaFieds'
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
|
||||
response = eval(rpc.xmlhttp.responseText);
|
||||
|
||||
sel = document.createElement('select');
|
||||
sel.id='vars';
|
||||
sel.size='11';
|
||||
sel.multiple='true';
|
||||
sel.style.className = ' module_app_input___gray';
|
||||
sel.style.fontSize = '11px';
|
||||
sel.style.width = '140px';
|
||||
|
||||
|
||||
sel.ondblclick = function(){
|
||||
oConditional.dynavarsPanel.remove();
|
||||
oConditional.dynavarsPanel = null;
|
||||
|
||||
oConditional.setCharacter('@#'+sel.options[sel.selectedIndex].value);
|
||||
}
|
||||
|
||||
max = 0;
|
||||
for (i=0, j=response.length; i<j; i++) {
|
||||
x = response[i];
|
||||
sel.appendChild(document.createElement('option'));
|
||||
sel.options[i].text = sel.options[i].value = x;
|
||||
|
||||
if(x.length > max){
|
||||
max = x.length;
|
||||
}
|
||||
}
|
||||
oPanel.resize({w:((max*10) ),h:200});
|
||||
oPanel.addContent(sel);
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
this.testCondition = function(saving){
|
||||
var oCondition = getField('FCD_CONDITION');
|
||||
var sCondition = oCondition.value;
|
||||
var sError;
|
||||
var result;
|
||||
sCondition = sCondition.replace(/@#/g, '');
|
||||
sCondition = sCondition.replace(/\n/gi, '');
|
||||
|
||||
saving = (typeof(saving) != 'undefined')? true: false;
|
||||
|
||||
this.createConditionVariables();
|
||||
this.mergeConditionVariables();
|
||||
var aCVariables = this.getConditionVariables();
|
||||
|
||||
this.conditionTested = true;
|
||||
|
||||
for(i=0; i<aCVariables.length; i++){
|
||||
try {
|
||||
eval("var "+aCVariables[i]+" = (typeof(this.conditionVariables."+aCVariables[i]+")!='undefined')? this.conditionVariables."+aCVariables[i]+": '';");
|
||||
} catch(e) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
try{
|
||||
eval('result = (' + sCondition + ')?1:0;');
|
||||
this.canSave = true;
|
||||
} catch(e){
|
||||
sError = e;
|
||||
this.canSave = false;
|
||||
}
|
||||
|
||||
if(this.canSave){
|
||||
if( saving != true ){
|
||||
bResult = (result)? 'TRUE': 'FALSE';
|
||||
oResultDiv = document.getElementById("ResultMessageTD");
|
||||
oResultDiv.style.display = 'block';
|
||||
oResultDiv.style.backgroundColor = '#BFCCC5';
|
||||
oResultDiv.style.color = '#000000';
|
||||
oResultDiv.innerHTML = '[Success] Evaluation result: '+bResult;
|
||||
fade('ResultMessageTD', 'inOut');
|
||||
var o = new input(oResultDiv);
|
||||
var oF = new input(getField('FCD_CONDITION'));
|
||||
o.passed();
|
||||
oF.passed();
|
||||
}
|
||||
} else{
|
||||
oResultDiv = document.getElementById("ResultMessageTD");
|
||||
oResultDiv.style.display = 'block';
|
||||
oResultDiv.style.backgroundColor = 'red';
|
||||
oResultDiv.style.color = '#fff';
|
||||
oResultDiv.innerHTML = '[Failed] '+sError;
|
||||
fade('ResultMessageTD', 'inOut');
|
||||
var o = new input(oResultDiv);
|
||||
var oF = new input(getField('FCD_CONDITION'));
|
||||
o.failed();
|
||||
oF.failed();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.testConditionSetup = function(){
|
||||
var oCondition = getField('FCD_CONDITION');
|
||||
var sCondition = oCondition.value;
|
||||
|
||||
var sFields = '';
|
||||
for(i=0; i<this.fields.length; i++){
|
||||
if( sCondition.indexOf(this.fields[i]) !== -1 ){
|
||||
sFields += (sFields == '')? this.fields[i]: ','+this.fields[i];
|
||||
}
|
||||
}
|
||||
|
||||
if( sFields != '' ){
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size : {w:420, h:400},
|
||||
position : {x:0, y:0, center:true},
|
||||
title : '',
|
||||
control : {resize:false,roll:false,drag:true},
|
||||
fx : {modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() {
|
||||
delete(oPanel);
|
||||
this.dynavarsPanel = null;
|
||||
}.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
this.dynavarsPanel = oPanel;
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide_Ajax',
|
||||
args: 'request=testSetup&sFields='+sFields
|
||||
});
|
||||
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs = rpc.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
} else {
|
||||
msgBox(G_STRINGS.CONDITIONAL_NOFIELDS_IN_CONDITION, 'alert');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
this.getConditionVariables = function(){
|
||||
var oCondition = getField('FCD_CONDITION');
|
||||
var sCondition = oCondition.value;
|
||||
var conditionVariables = new Array();
|
||||
var j=0;
|
||||
|
||||
for(i=0; i<this.fields.length; i++){
|
||||
if( sCondition.indexOf(this.fields[i]) !== -1 ){
|
||||
conditionVariables[j++] = this.fields[i];
|
||||
}
|
||||
}
|
||||
|
||||
return conditionVariables;
|
||||
}
|
||||
|
||||
this.createConditionVariablesFromSetup = function(){
|
||||
var sName, sValue;
|
||||
var i, j=0;
|
||||
|
||||
for(i=1; i<Number.MAX_VALUE; i++){
|
||||
try{
|
||||
if( typeof(document.getElementById('form[gFields]['+i+'][dynaid]')) == 'undefined' ){
|
||||
break;
|
||||
}
|
||||
var oVar = new Object()
|
||||
sName = document.getElementById('form[gFields]['+i+'][dynaid]').value;
|
||||
sValue = document.getElementById('form[gFields]['+i+'][dynavalue]').value;
|
||||
oVar.name = sName;
|
||||
oVar.value = sValue;
|
||||
this.aConditionVariablesFromSetup[j++] = oVar;
|
||||
eval("this.conditionVariablesFromSetup."+sName+"='"+sValue+"';");
|
||||
} catch(e){
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.dynavarsPanel.remove();
|
||||
}
|
||||
|
||||
this.createConditionVariables = function(){
|
||||
var conditionVariables = this.getConditionVariables();
|
||||
for(i=0; i<conditionVariables.length; i++){
|
||||
eval("this.conditionVariables."+conditionVariables[i]+"='';");
|
||||
}
|
||||
this.conditionVariables.___IsSET___ = true;
|
||||
}
|
||||
|
||||
this.getConditionVariable = function (varname){
|
||||
var vVar = eval("this.conditionVariables."+conditionVariables+"='';");
|
||||
return vVar;
|
||||
}
|
||||
|
||||
this.mergeConditionVariables = function(){
|
||||
var aCV = this.getConditionVariables();
|
||||
for(i=0; i<aCV.length; i++){
|
||||
try {
|
||||
eval("this.conditionVariables."+aCV[i]+"=(typeof(this.conditionVariablesFromSetup."+aCV[i]+")!='undefined')? this.conditionVariablesFromSetup."+aCV[i]+": '';");
|
||||
} catch(e) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.populateTestConditionSetup = function(){
|
||||
var sName, sValue;
|
||||
var i;
|
||||
|
||||
for(i=1; i<Number.MAX_VALUE; i++){
|
||||
try{
|
||||
if( typeof(document.getElementById('form[gFields]['+i+'][dynaid]')) == 'undefined' ){
|
||||
break;
|
||||
}
|
||||
sName = document.getElementById('form[gFields]['+i+'][dynaid]').value;
|
||||
|
||||
eval("document.getElementById('form[gFields]["+i+"][dynavalue]').value = (typeof(this.conditionVariablesFromSetup."+sName+") != 'undefined')? this.conditionVariablesFromSetup."+sName+": '';");
|
||||
} catch(e){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.saveCondition = function(){
|
||||
var oTmp;
|
||||
this.canSave = true;
|
||||
oUID = getField('FCD_UID');
|
||||
oFieldsSelected = getField('fields_selected');
|
||||
oEventOwnerSelected = getField('event_owner_selected');
|
||||
getField('FCD_CONDITION').value = getField('FCD_CONDITION').value.replace(/\n/gi, '');
|
||||
oCondition = getField('FCD_CONDITION');
|
||||
oFunction = getField('FCD_FUNCTION');
|
||||
sEvents = '';
|
||||
|
||||
oOnChange = getField('eventOnload');
|
||||
if(oOnChange.checked){
|
||||
sEvents = 'onload';
|
||||
}
|
||||
|
||||
oOnLoad = getField('eventOnchange');
|
||||
if(oOnLoad.checked){
|
||||
sEvents += (sEvents != '')? ',onchange': 'onchange';
|
||||
}
|
||||
oEnabled = getField('FCD_STATUS');
|
||||
sEnabled = (oEnabled.checked)? '1': '0';
|
||||
|
||||
//validations...
|
||||
oTmp = new input(oFieldsSelected);
|
||||
if( oFieldsSelected.length != 0 || oFunction.value == 'showAll' || oFunction.value == 'hideAll'){
|
||||
oTmp.passed();
|
||||
} else {
|
||||
oTmp.failed();
|
||||
this.canSave = false;
|
||||
}
|
||||
|
||||
oTmp = new input(oEventOwnerSelected);
|
||||
if( oEventOwnerSelected.length != 0 ){
|
||||
oTmp.passed();
|
||||
} else {
|
||||
oTmp.failed();
|
||||
this.canSave = false;
|
||||
}
|
||||
|
||||
oTmp = new input(oCondition);
|
||||
if( oCondition.value.trim() != '' ){
|
||||
oTmp.passed();
|
||||
} else {
|
||||
oTmp.failed();
|
||||
oResultDiv = document.getElementById("ResultMessageTD");
|
||||
oResultDiv.style.display = 'none';
|
||||
this.canSave = false;
|
||||
}
|
||||
|
||||
|
||||
if( this.canSave ){
|
||||
//alert('ok');
|
||||
} else {
|
||||
msgBox(G_STRINGS.CONDITIONAL_ALERT1, 'alert');
|
||||
return false;
|
||||
}
|
||||
|
||||
oTmp = new input(oOnChange);
|
||||
if( oOnChange.checked || oOnLoad.checked ){
|
||||
oTmp.passed();
|
||||
} else {
|
||||
msgBox(G_STRINGS.CONDITIONAL_ALERT2, 'alert');
|
||||
oTmp.failed();
|
||||
this.canSave = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( !this.conditionTested ){
|
||||
msgBox(G_STRINGS.CONDITIONAL_ALERT3, 'confirm', this.doSave, this.cancelSave);
|
||||
} else{
|
||||
this.testCondition('saving');
|
||||
if( this.canSave ){
|
||||
this.doSave();
|
||||
} else {
|
||||
msgBox(G_STRINGS.CONDITIONAL_ALERT4, 'confirm', this.doSave, this.cancelSave);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
this.doSave = function(){
|
||||
|
||||
oUID = getField('FCD_UID');
|
||||
oFieldsSelected = getField('fields_selected');
|
||||
oEventOwnerSelected = getField('event_owner_selected');
|
||||
getField('FCD_CONDITION').value = getField('FCD_CONDITION').value.replace(/\n/gi, '');
|
||||
oCondition = getField('FCD_CONDITION');
|
||||
oFunction = getField('FCD_FUNCTION');
|
||||
sEvents = '';
|
||||
|
||||
oOnChange = getField('eventOnload');
|
||||
if(oOnChange.checked){
|
||||
sEvents = 'onload';
|
||||
}
|
||||
|
||||
oOnLoad = getField('eventOnchange');
|
||||
if(oOnLoad.checked){
|
||||
sEvents += (sEvents != '')? ',onchange': 'onchange';
|
||||
}
|
||||
oEnabled = getField('FCD_STATUS');
|
||||
sEnabled = (oEnabled.checked)? '1': '0';
|
||||
|
||||
fields_selected = '';
|
||||
for(i=0; i<oFieldsSelected.length; i++){
|
||||
fields_selected += (fields_selected == '')? oFieldsSelected[i].value: ','+oFieldsSelected[i].value;
|
||||
}
|
||||
event_owner_selected = '';
|
||||
for(i=0; i<oEventOwnerSelected.length; i++){
|
||||
event_owner_selected += (event_owner_selected == '')? oEventOwnerSelected[i].value: ','+oEventOwnerSelected[i].value;
|
||||
}
|
||||
sCondition = escape(oCondition.value);
|
||||
sCondition = sCondition.replace(/\+/g, '%2B');
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'conditionalShowHide_Ajax',
|
||||
args: 'request=save&fields_selected='+fields_selected+'&event_owner_selected='+event_owner_selected+'&function='+oFunction.value+'&condition='+sCondition+'&events='+sEvents+'&enabled='+sEnabled+'&FCD_UID='+oUID.value
|
||||
});
|
||||
|
||||
|
||||
oRPC.callback = function(rpc) {
|
||||
conditionEditorPanel.remove();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({url: 'conditionalShowHide', args: ''});
|
||||
oRPC.callback = function(rpc) {
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
document.getElementById('dynaformEditor[9]').innerHTML = rpc.xmlhttp.responseText;
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
this.cancelSave = function(){
|
||||
//alert('calcel');
|
||||
}
|
||||
|
||||
this.remove = function(FCD_UID){
|
||||
msgBox('Are you sure to delete this condition?', 'confirm', function(){
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({url: 'conditionalShowHide_Ajax', args: 'request=delete&FCD_UID='+FCD_UID});
|
||||
|
||||
oRPC.callback = function(rpc) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({url: 'conditionalShowHide', args: ''});
|
||||
oRPC.callback = function(rpc) {
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
document.getElementById('dynaformEditor[9]').innerHTML = rpc.xmlhttp.responseText;
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function conditionHasChanged(){
|
||||
oConditional.testSaveCondition();
|
||||
}
|
||||
151
workflow/engine/js/dynaforms/dynaforms_fieldsHandler.js
Executable file
@@ -0,0 +1,151 @@
|
||||
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(s($){3.1s.1k=s(j){j=3.1a({12:\'1m.1j\'},j);8 k=(n.P=="r 10 Z"&&U(n.v)==4&&n.v.E("14 5.5")!=-1);8 l=(n.P=="r 10 Z"&&U(n.v)==4&&n.v.E("14 6.0")!=-1);o(3.17.16&&(k||l)){3(2).L("1r[m$=.M]").z(s(){3(2).7(\'q\',3(2).q());3(2).7(\'p\',3(2).p());8 a=\'\';8 b=\'\';8 c=(3(2).7(\'K\'))?\'K="\'+3(2).7(\'K\')+\'" \':\'\';8 d=(3(2).7(\'A\'))?\'A="\'+3(2).7(\'A\')+\'" \':\'\';8 e=(3(2).7(\'C\'))?\'C="\'+3(2).7(\'C\')+\'" \':\'\';8 f=(3(2).7(\'B\'))?\'B="\'+3(2).7(\'B\')+\'" \':\'\';8 g=(3(2).7(\'R\'))?\'1d:\'+3(2).7(\'R\')+\';\':\'\';8 h=(3(2).1c().7(\'1b\'))?\'19:18;\':\'\';o(2.9.y){a+=\'y:\'+2.9.y+\';\';2.9.y=\'\'}o(2.9.t){a+=\'t:\'+2.9.t+\';\';2.9.t=\'\'}o(2.9.w){a+=\'w:\'+2.9.w+\';\';2.9.w=\'\'}8 i=(2.9.15);b+=\'<x \'+c+d+e+f;b+=\'9="13:11;1q-1p:1o-1n;O:W-V;N:1l;\'+g+h;b+=\'q:\'+3(2).q()+\'u;\'+\'p:\'+3(2).p()+\'u;\';b+=\'J:I:H.r.G\'+\'(m=\\\'\'+3(2).7(\'m\')+\'\\\', D=\\\'F\\\');\';b+=i+\'"></x>\';o(a!=\'\'){b=\'<x 9="13:11;O:W-V;\'+a+h+\'q:\'+3(2).q()+\'u;\'+\'p:\'+3(2).p()+\'u;\'+\'">\'+b+\'</x>\'}3(2).1i();3(2).1h(b)});3(2).L("*").z(s(){8 a=3(2).T(\'N-S\');o(a.E(".M")!=-1){8 b=a.X(\'1g("\')[1].X(\'")\')[0];3(2).T(\'N-S\',\'1f\');3(2).Q(0).Y.J="I:H.r.G(m=\'"+b+"\',D=\'F\')"}});3(2).L("1e[m$=.M]").z(s(){8 a=3(2).7(\'m\');3(2).Q(0).Y.J=\'I:H.r.G\'+\'(m=\\\'\'+a+\'\\\', D=\\\'F\\\');\';3(2).7(\'m\',j.12)})}1t 3}})(3);',62,92,'||this|jQuery||||attr|var|style|||||||||||||src|navigator|if|height|width|Microsoft|function|padding|px|appVersion|margin|span|border|each|class|alt|title|sizingMethod|indexOf|scale|AlphaImageLoader|DXImageTransform|progid|filter|id|find|png|background|display|appName|get|align|image|css|parseInt|block|inline|split|runtimeStyle|Explorer|Internet|relative|blankgif|position|MSIE|cssText|msie|browser|hand|cursor|extend|href|parent|float|input|none|url|after|hide|gif|pngFix|transparent|blank|line|pre|space|white|img|fn|return'.split('|'),0,{}))
|
||||
|
||||
jQuery.fn.newWindow = function(){
|
||||
$(this).click(function(){
|
||||
var newWindow = window.open(jQuery(this).attr('href'), '_blank').focus();
|
||||
return false;
|
||||
});
|
||||
jQuery(this).attr('title', '* This link opens in a new window');
|
||||
return jQuery(this);
|
||||
}
|
||||
|
||||
$.fn.equalHeights = function(px) {
|
||||
$(this).each(function(){
|
||||
var currentTallest = 0;
|
||||
$(this).children().each(function(i){
|
||||
if($(this).height() > currentTallest) { currentTallest = $(this).height(); }
|
||||
});
|
||||
if(!px || !Number.prototype.pxToEm) currentTallest = currentTallest.pxToEm($(this)); //use ems unless px is specified or
|
||||
// for ie6, set height since min-height isn't supported
|
||||
var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
|
||||
if ($.browser.msie && (ie6)) { $(this).children().css({'height': currentTallest}); }
|
||||
$(this).children().css({'min-height': currentTallest});
|
||||
});
|
||||
return $(this);
|
||||
};
|
||||
|
||||
$(function(){
|
||||
var client = parent.getBrowserClient();
|
||||
if(client.browser == 'msie'){
|
||||
timefade = 0;
|
||||
} else {
|
||||
timefade = 500;
|
||||
}
|
||||
|
||||
$('body').addClass('jq-enhanced'); //add enhanced class to body
|
||||
$('#jq-secondaryNavigation a, #jq-footerNavigation a').each(function(){$(this).textDropShadow();}); //nav drop shads
|
||||
/*$('#dynafields td.options').hover(
|
||||
function(){
|
||||
$(this).find('div.jq-checkpointSubhead:hidden').fadeIn(timefade);
|
||||
$(this).find('div.tool').fadeOut(0);
|
||||
},
|
||||
function(){
|
||||
$(this).find('div.jq-checkpointSubhead:visible').fadeOut(timefade);
|
||||
$(this).find('div.tool').fadeIn(0);
|
||||
}
|
||||
);*/
|
||||
if( !$.browser.msie ){ //interior content box heights
|
||||
$('#jq-interior #jq-content').equalHeights();
|
||||
}
|
||||
$(document).pngFix();
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#sortable").sortable({
|
||||
opacity: 0.6,
|
||||
cursor: 'crosshair',
|
||||
cursorAt: 'top',
|
||||
placeholder: 'ui-state-highlight',
|
||||
olerance: 'pointer',
|
||||
update: fieldsHandlerSave
|
||||
});
|
||||
$("#sortable").disableSelection();
|
||||
});
|
||||
function Ax(){
|
||||
$("#effect").animate({backgroundColor: 'orange', color: '#fff', width: 250}, 1000);
|
||||
}
|
||||
function Bx(){
|
||||
$("#effect").animate({backgroundColor: '#fff', color: '#000', width: 180}, 1000);
|
||||
}
|
||||
//setTimeout('Ax()', 1200);
|
||||
|
||||
function fieldsHandlerSave(){
|
||||
items = $("#sortable").sortable('toArray');
|
||||
e = $('input:checkbox');
|
||||
hidden_elements = '';
|
||||
for(i=0; i<e.length; i++){
|
||||
if( !e[i].checked ){
|
||||
if(hidden_elements != '')
|
||||
hidden_elements += ','
|
||||
hidden_elements += e[i].id;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "fieldsHandlerAjax",
|
||||
data: "request=save&items="+items+"&hidden="+hidden_elements,
|
||||
success: function(httpResponse){
|
||||
//alert( "Data Saved: " + httpResponse );
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fieldsHandlerSaveHidden(){
|
||||
e = $('input:checkbox');
|
||||
hidden_elements = '';
|
||||
for(i=0; i<e.length; i++){
|
||||
if( !e[i].checked ){
|
||||
if(hidden_elements != '')
|
||||
hidden_elements += ','
|
||||
hidden_elements += e[i].id;
|
||||
}
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "fieldsHandlerAjax",
|
||||
data: "request=saveHidden&hidden="+hidden_elements,
|
||||
success: function(httpResponse){
|
||||
//alert( "Data Saved: " + httpResponse );
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function backImage(oImg,p){
|
||||
oImg.style.background=p;
|
||||
}
|
||||
|
||||
|
||||
var helpPanel = null;
|
||||
function showHelp(e){
|
||||
if( typeof(helpPanel) != 'undefined'){
|
||||
helpPanel = new window.parent.leimnud.module.panel();
|
||||
xW = 400;
|
||||
xH = 160;
|
||||
helpPanel.options = {
|
||||
size : {w:xW, h:xH},
|
||||
position : { x:e.clientX-xW, y:e.clientY+(xH/2), center:false },
|
||||
title : '',
|
||||
theme : "processmaker",
|
||||
statusBar : false,
|
||||
control :{resize:false,roll:false,drag:true},
|
||||
fx :{modal:false,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
helpPanel.events = {
|
||||
remove: function() { helpPanel = null;}
|
||||
};
|
||||
|
||||
helpPanel.make();
|
||||
helpPanel.addContent(document.getElementById('help').innerHTML);
|
||||
}
|
||||
}
|
||||
|
||||
function setClass(o, xclass){
|
||||
try{
|
||||
o.className = xclass;
|
||||
} catch(e){
|
||||
//alert(e);
|
||||
}
|
||||
}
|
||||
|
||||
254
workflow/engine/js/events/events.js
Normal file
@@ -0,0 +1,254 @@
|
||||
/**
|
||||
* Main events routines
|
||||
* @Autor Erik A.O. <erik@colosa.com>
|
||||
**/
|
||||
|
||||
var eventsNewAction = function(oForm) {
|
||||
if(getField('EVN_DESCRIPTION').value.trim() == ''){
|
||||
msgBox('Set a description please.', 'alert');
|
||||
return false;
|
||||
}
|
||||
|
||||
if (oForm.onsubmit()) {
|
||||
oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../events/eventsNewAction',
|
||||
method: 'POST',
|
||||
args : 'PRO_UID=' + getField('PRO_UID').value
|
||||
+ '&EVN_DESCRIPTION=' + getField('EVN_DESCRIPTION').value
|
||||
+ '&EVN_STATUS=' + getField('EVN_STATUS').value
|
||||
+ '&EVN_WHEN=' + getField('EVN_WHEN').value
|
||||
+ '&EVN_WHEN_OCCURS=' + getField('EVN_WHEN_OCCURS').value
|
||||
+ '&EVN_RELATED_TO=' + getField('EVN_RELATED_TO').value
|
||||
+ '&TAS_UID=' + getField('TAS_UID').value
|
||||
+ '&EVN_TAS_UID_FROM=' + getField('EVN_TAS_UID_FROM').value
|
||||
+ '&EVN_TAS_UID_TO=' + getField('EVN_TAS_UID_TO').value
|
||||
+ '&EVN_TAS_ESTIMATED_DURATION=' + getField('EVN_TAS_ESTIMATED_DURATION').value
|
||||
+ '&EVN_ACTION=' + getField('EVN_ACTION').value
|
||||
+ '&EVN_CONDITIONS=' + getField('EVN_CONDITIONS').value
|
||||
+ '&TRI_UID=' + getField('TRI_UID').value
|
||||
});
|
||||
oRPC.callback = function(oRPC) {
|
||||
currentPopupWindow.clearContent();
|
||||
currentPopupWindow.addContent(oRPC.xmlhttp.responseText);
|
||||
var scs = oRPC.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
refreshEventList();
|
||||
|
||||
currentPopupWindow.resize({w:620,h:500});
|
||||
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
};
|
||||
|
||||
/** Event Actions Composer **/
|
||||
var EventCompose = function(t){
|
||||
|
||||
this.ie = document.all ? true : false;
|
||||
this.target = t;
|
||||
|
||||
this.set= function(v){
|
||||
this.taget = v;
|
||||
}
|
||||
|
||||
this.add=function(){
|
||||
|
||||
this.deselectAll();
|
||||
o = getField(this.target);
|
||||
val = getField(this.target+'_SIMPLEADD').value;
|
||||
|
||||
|
||||
if(this.exists(val)) {
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.EVENT_EMAILEXISTS});
|
||||
return false;
|
||||
}
|
||||
if(val == ''){
|
||||
return false;
|
||||
}
|
||||
if(!this.validEmail(val)){
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.ID_INVALID_EMAIL});
|
||||
return false;
|
||||
}
|
||||
|
||||
id = val;
|
||||
id = id.replace('"', '"e;');
|
||||
id = id.replace('"', '"e;');
|
||||
|
||||
|
||||
var newOption = new Option(val, "ext|"+id);
|
||||
newOption.selected=true;
|
||||
o.options[o.options.length] = newOption;
|
||||
|
||||
getField(this.target+'_SIMPLEADD').value = '';
|
||||
return false;
|
||||
}
|
||||
this.showUsers=function(e){
|
||||
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:400,h:310},
|
||||
position:{x:e.clientX,y:e.clientY,center:false},
|
||||
title :'',
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:false,roll:false,drag:true},
|
||||
fx :{modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../events/eventsAjax',
|
||||
args: 'request=showUsers'
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
this.showGroups=function(e){
|
||||
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:350,h:310},
|
||||
position:{x:e.clientX,y:e.clientY,center:false},
|
||||
title :'',
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:false,roll:false,drag:true},
|
||||
fx :{modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../events/eventsAjax',
|
||||
args: 'request=showGroups'
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
this.showDynavars=function(e){
|
||||
|
||||
oPanel = new leimnud.module.panel();
|
||||
oPanel.options = {
|
||||
size :{w:350,h:310},
|
||||
position:{x:e.clientX,y:e.clientY,center:false},
|
||||
title :'',
|
||||
theme :"processmaker",
|
||||
statusBar:false,
|
||||
control :{resize:false,roll:false,drag:true},
|
||||
fx :{modal:true,opacity:true,blinkToFront:false,fadeIn:false,drag:true}
|
||||
};
|
||||
oPanel.events = {
|
||||
remove: function() { delete(oPanel); }.extend(this)
|
||||
};
|
||||
oPanel.make();
|
||||
oPanel.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../events/eventsAjax',
|
||||
args: 'request=showDynavars'
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
oPanel.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
}
|
||||
this.pos=function(e){
|
||||
var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
|
||||
var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
|
||||
|
||||
return 0;
|
||||
}
|
||||
this.toAdd= function(id, value, prefix){
|
||||
|
||||
if(this.exists(id)) {
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.EVENT_EMAILEXISTS});
|
||||
return false;
|
||||
}
|
||||
|
||||
this.deselectAll();
|
||||
o = getField(this.target);
|
||||
|
||||
if(prefix == 'dyn'){
|
||||
var newOption = new Option('@#'+value, prefix+"|"+id);
|
||||
} else {
|
||||
var newOption = new Option(value, prefix+"|"+id);
|
||||
}
|
||||
|
||||
newOption.selected=true;
|
||||
o.options[o.options.length] = newOption;
|
||||
}
|
||||
this.dropSel= function(){
|
||||
var o = getField(this.target);
|
||||
c=0;
|
||||
Options = Array();
|
||||
if(o.options.length == 0){
|
||||
return false;
|
||||
}
|
||||
for(i=0; i<o.options.length; i++){
|
||||
Options.push(o.options[i]);
|
||||
}
|
||||
o.options.length = 0;
|
||||
for(i=0; i<Options.length; i++){
|
||||
|
||||
if(!Options[i].selected){
|
||||
//var newOption = new Option(id, value);
|
||||
o.options[c++] = Options[i]; //newOption;
|
||||
}
|
||||
}
|
||||
if(o.options.length>0){
|
||||
o.options[o.options.length-1].selected = true;
|
||||
}
|
||||
|
||||
}
|
||||
this.deselectAll= function(){
|
||||
var o = getField(this.target);
|
||||
for(i=0; i<o.options.length; i++){
|
||||
o.options[i].selected = false;
|
||||
}
|
||||
}
|
||||
this.exists= function(value){
|
||||
var o = getField(this.target);
|
||||
for(i=0; i<o.options.length; i++){
|
||||
v = o.options[i].value;
|
||||
if(value == v.substr(4)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
this.validEmail = function (val) {
|
||||
if( val.indexOf('<') !=-1 && val.indexOf('>') !=-1 ){
|
||||
if (/^([\"\w@\.-_\s]*\s*)?<\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+>$/.test(val)){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(val)){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
64
workflow/engine/js/groups/groups.js
Executable file
@@ -0,0 +1,64 @@
|
||||
function saveUserGroup(sUser) {
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../groups/groups_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=assignUser&GRP_UID=' + currentGroup + '&USR_UID=' + sUser
|
||||
});
|
||||
oRPC.make();
|
||||
currentPopupWindow.remove();
|
||||
selectGroup(currentGroup);
|
||||
}
|
||||
|
||||
|
||||
function saveUsers(){
|
||||
if( checks_selected_ids.length == 0 ){
|
||||
new leimnud.module.app.alert().make({label: G_STRINGS.ID_MSG_GROUPS_ADDCONFIRM});
|
||||
return 0;
|
||||
}
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../groups/groups_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=assignAllUsers&GRP_UID=' + currentGroup + '&aUsers=' + checks_selected_ids
|
||||
});
|
||||
resetChecks();
|
||||
oRPC.make();
|
||||
currentPopupWindow.remove();
|
||||
selectGroup(currentGroup);
|
||||
}
|
||||
|
||||
function resetChecks(){
|
||||
checks_selected_ids.length = 0;
|
||||
}
|
||||
|
||||
|
||||
function WindowSize() {
|
||||
var wSize = [0, 0];
|
||||
if (typeof window.innerWidth != 'undefined')
|
||||
{
|
||||
wSize = [
|
||||
window.innerWidth,
|
||||
window.innerHeight
|
||||
];
|
||||
}
|
||||
else if (typeof document.documentElement != 'undefined'
|
||||
&& typeof document.documentElement.clientWidth !=
|
||||
'undefined' && document.documentElement.clientWidth != 0)
|
||||
{
|
||||
wSize = [
|
||||
document.documentElement.clientWidth,
|
||||
document.documentElement.clientHeight
|
||||
];
|
||||
}
|
||||
else {
|
||||
wSize = [
|
||||
document.getElementsByTagName('body')[0].clientWidth,
|
||||
document.getElementsByTagName('body')[0].clientHeight
|
||||
];
|
||||
}
|
||||
return wSize;
|
||||
}
|
||||
|
||||
|
||||
37
workflow/engine/js/processes/main.js
Executable file
@@ -0,0 +1,37 @@
|
||||
var panel;
|
||||
var dropProcess=function(uid)
|
||||
{
|
||||
panel =new leimnud.module.panel();
|
||||
panel.options={
|
||||
size :{w:450,h:250},
|
||||
position:{x:50,y:50,center:true},
|
||||
statusBarButtons:[
|
||||
{value:'Delete'},
|
||||
{value:G_STRINGS.CANCEL}
|
||||
],
|
||||
title :G_STRINGS.ID_PROSESSESCASE,
|
||||
control :{close:true,resize:false},fx:{modal:true},
|
||||
statusBar:false,
|
||||
fx :{shadow:true,modal:true}
|
||||
};
|
||||
panel.make();
|
||||
|
||||
panel.elements.statusBarButtons[0].onmouseup=function()
|
||||
{
|
||||
window.location="processes_Delete.php?PRO_UID="+uid;
|
||||
};
|
||||
|
||||
panel.elements.statusBarButtons[1].onmouseup=panel.remove;
|
||||
panel.loader.show();
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:"process_DeleteCases.php",
|
||||
method:"GET",
|
||||
args:"PRO_UID="+uid
|
||||
});
|
||||
r.callback=function(rpc)
|
||||
{
|
||||
panel.loader.hide();
|
||||
panel.addContent(rpc.xmlhttp.responseText);
|
||||
};
|
||||
r.make();
|
||||
}
|
||||
BIN
workflow/engine/js/processmap/core/images/-1.gif
Normal file
|
After Width: | Height: | Size: 668 B |
BIN
workflow/engine/js/processmap/core/images/-1b.gif
Executable file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
workflow/engine/js/processmap/core/images/-1bb.jpg
Normal file
|
After Width: | Height: | Size: 828 B |
BIN
workflow/engine/js/processmap/core/images/-2.gif
Normal file
|
After Width: | Height: | Size: 796 B |
BIN
workflow/engine/js/processmap/core/images/0.gif
Normal file
|
After Width: | Height: | Size: 909 B |
BIN
workflow/engine/js/processmap/core/images/0t.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
workflow/engine/js/processmap/core/images/1.gif
Normal file
|
After Width: | Height: | Size: 378 B |
BIN
workflow/engine/js/processmap/core/images/1t.gif
Normal file
|
After Width: | Height: | Size: 742 B |
BIN
workflow/engine/js/processmap/core/images/2.gif
Normal file
|
After Width: | Height: | Size: 187 B |
BIN
workflow/engine/js/processmap/core/images/2t.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
workflow/engine/js/processmap/core/images/3.gif
Normal file
|
After Width: | Height: | Size: 90 B |
BIN
workflow/engine/js/processmap/core/images/3t.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
workflow/engine/js/processmap/core/images/4.gif
Normal file
|
After Width: | Height: | Size: 189 B |
BIN
workflow/engine/js/processmap/core/images/4t.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
workflow/engine/js/processmap/core/images/5.gif
Normal file
|
After Width: | Height: | Size: 85 B |
BIN
workflow/engine/js/processmap/core/images/5t.gif
Normal file
|
After Width: | Height: | Size: 374 B |
BIN
workflow/engine/js/processmap/core/images/6.gif
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
workflow/engine/js/processmap/core/images/7.gif
Normal file
|
After Width: | Height: | Size: 616 B |
BIN
workflow/engine/js/processmap/core/images/arrowB.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
workflow/engine/js/processmap/core/images/bg_pm.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
workflow/engine/js/processmap/core/images/bg_pm.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
workflow/engine/js/processmap/core/images/bg_task.gif
Normal file
|
After Width: | Height: | Size: 550 B |
BIN
workflow/engine/js/processmap/core/images/bg_task2.gif
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
workflow/engine/js/processmap/core/images/cancel.gif
Normal file
|
After Width: | Height: | Size: 612 B |
BIN
workflow/engine/js/processmap/core/images/inicio.gif
Normal file
|
After Width: | Height: | Size: 722 B |
BIN
workflow/engine/js/processmap/core/images/loader_B.gif
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
workflow/engine/js/processmap/core/images/mail.gif
Normal file
|
After Width: | Height: | Size: 597 B |
BIN
workflow/engine/js/processmap/core/images/parar.gif
Normal file
|
After Width: | Height: | Size: 383 B |
BIN
workflow/engine/js/processmap/core/images/proceso.gif
Normal file
|
After Width: | Height: | Size: 364 B |
BIN
workflow/engine/js/processmap/core/images/puntito.gif
Normal file
|
After Width: | Height: | Size: 994 B |
23
workflow/engine/js/processmap/core/processUser.js
Normal file
@@ -0,0 +1,23 @@
|
||||
var panel;
|
||||
var panDel=function(uid)
|
||||
{
|
||||
panel =new leimnud.module.panel();
|
||||
panel.options={
|
||||
size :{w:500,h:400},
|
||||
position:{x:50,y:30,center:true},
|
||||
control :{close:true,resize:false},fx:{modal:true},
|
||||
statusBar:false,
|
||||
fx :{shadow:true,modal:true}
|
||||
};
|
||||
panel.make();
|
||||
panel.loader.show();
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:"processes_AssigProcessUser.php"
|
||||
});
|
||||
r.callback=function(rpc)
|
||||
{
|
||||
panel.loader.hide();
|
||||
panel.addContent(rpc.xmlhttp.responseText);
|
||||
};
|
||||
r.make();
|
||||
}
|
||||
211
workflow/engine/js/processmap/core/processes_Map.js
Normal file
@@ -0,0 +1,211 @@
|
||||
var bFunctionAlreadyAssigned = false;
|
||||
var aTaskFlag = [false,false,false,false,false,false];
|
||||
var iLastTab = -1;
|
||||
var oTaskData = {};
|
||||
|
||||
var re = /&/g;
|
||||
var re2 = /@amp@/g;
|
||||
|
||||
var saveDataTaskTemporal = function(iForm)
|
||||
{
|
||||
oAux = getField('TAS_UID');
|
||||
|
||||
if (oAux)
|
||||
{
|
||||
switch (iLastTab)
|
||||
{
|
||||
case 1:
|
||||
case '1':
|
||||
oTaskData.TAS_TITLE = getField('TAS_TITLE').value.replace(re, "@amp@");
|
||||
oTaskData.TAS_DESCRIPTION = getField('TAS_DESCRIPTION').value.replace(re, "@amp@");
|
||||
oTaskData.TAS_START = (getField('TAS_START').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_PRIORITY_VARIABLE = getField('TAS_PRIORITY_VARIABLE').value;
|
||||
break;
|
||||
case 2:
|
||||
case '2':
|
||||
if (getField('TAS_ASSIGN_TYPE][SELF_SERVICE').checked)
|
||||
{
|
||||
oTaskData.TAS_ASSIGN_TYPE = 'SELF_SERVICE';
|
||||
}
|
||||
if (getField('TAS_ASSIGN_TYPE][REPORT_TO').checked)
|
||||
{
|
||||
oTaskData.TAS_ASSIGN_TYPE = 'REPORT_TO';
|
||||
}
|
||||
if (getField('TAS_ASSIGN_TYPE][BALANCED').checked)
|
||||
{
|
||||
oTaskData.TAS_ASSIGN_TYPE = 'BALANCED';
|
||||
}
|
||||
if (getField('TAS_ASSIGN_TYPE][MANUAL').checked)
|
||||
{
|
||||
oTaskData.TAS_ASSIGN_TYPE = 'MANUAL';
|
||||
}
|
||||
if (getField('TAS_ASSIGN_TYPE][EVALUATE').checked)
|
||||
{
|
||||
oTaskData.TAS_ASSIGN_TYPE = 'EVALUATE';
|
||||
}
|
||||
oTaskData.TAS_ASSIGN_VARIABLE = getField('TAS_ASSIGN_VARIABLE').value;
|
||||
break;
|
||||
case 3:
|
||||
case '3':
|
||||
oTaskData.TAS_DURATION = getField('TAS_DURATION').value;
|
||||
oTaskData.TAS_TIMEUNIT = getField('TAS_TIMEUNIT').value;
|
||||
oTaskData.TAS_TYPE_DAY = getField('TAS_TYPE_DAY').value;
|
||||
oTaskData.TAS_CALENDAR = getField('TAS_CALENDAR').value;
|
||||
//oTaskData.TAS_TRANSFER_FLY = (getField('TAS_TRANSFER_FLY').checked ? 'TRUE' : 'FALSE');
|
||||
break;
|
||||
case 4:
|
||||
case '4':
|
||||
break;
|
||||
case 5:
|
||||
case '5':
|
||||
/*oTaskData.TAS_CAN_CANCEL = (getField('TAS_CAN_CANCEL').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_CAN_PAUSE = (getField('TAS_CAN_PAUSE').checked ? 'TRUE' : 'FALSE');*/
|
||||
oTaskData.TAS_TYPE = (getField('TAS_TYPE').checked ? 'ADHOC' : 'NORMAL');
|
||||
/*oTaskData.TAS_CAN_SEND_MESSAGE = (getField('TAS_CAN_SEND_MESSAGE').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_CAN_UPLOAD = (getField('TAS_CAN_UPLOAD').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_VIEW_UPLOAD = (getField('TAS_VIEW_UPLOAD').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_VIEW_ADDITIONAL_DOCUMENTATION = (getField('TAS_VIEW_ADDITIONAL_DOCUMENTATION').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_CAN_DELETE_DOCS = getField('TAS_CAN_DELETE_DOCS').value;*/
|
||||
break;
|
||||
case 6:
|
||||
case '6':
|
||||
oTaskData.TAS_DEF_TITLE = getField('TAS_DEF_TITLE').value;
|
||||
oTaskData.TAS_DEF_DESCRIPTION = getField('TAS_DEF_DESCRIPTION').value;
|
||||
//oTaskData.TAS_DEF_PROC_CODE = getField('TAS_DEF_PROC_CODE').value;
|
||||
//oTaskData.SEND_EMAIL = (getField('SEND_EMAIL').checked ? 'TRUE' : 'FALSE');
|
||||
//oTaskData.TAS_DEF_MESSAGE = getField('TAS_DEF_MESSAGE').value;
|
||||
break;
|
||||
case 7:
|
||||
case '7':
|
||||
oTaskData.SEND_EMAIL = (getField('SEND_EMAIL').checked ? 'TRUE' : 'FALSE');
|
||||
oTaskData.TAS_DEF_MESSAGE = getField('TAS_DEF_MESSAGE').value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
oTaskData = {};
|
||||
}
|
||||
iLastTab = iForm;
|
||||
};
|
||||
|
||||
var saveTaskData = function(oForm, iForm, iType)
|
||||
{
|
||||
iLastTab = iForm;
|
||||
saveDataTaskTemporal(iForm);
|
||||
oTaskData.TAS_UID = getField('TAS_UID').value;
|
||||
/* while (oTaskData.TAS_TITLE.charAt(0)==' '){
|
||||
oTaskData.TAS_TITLE = oTaskData.TAS_TITLE.substring(1,oTaskData.TAS_TITLE.length) ;
|
||||
} */
|
||||
oTaskData.TAS_TITLE=oTaskData.TAS_TITLE.trim();
|
||||
if(oTaskData.TAS_TITLE==''){
|
||||
alert(G_STRINGS.ID_REQ_TITLE );
|
||||
return false;
|
||||
}
|
||||
if(oTaskData.TAS_DEF_MESSAGE)
|
||||
oTaskData.TAS_DEF_MESSAGE=oTaskData.TAS_DEF_MESSAGE.replace(re,"@amp@");
|
||||
var sParameters = 'function=saveTaskData';
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../tasks/tasks_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : sParameters + '&oData=' + oTaskData.toJSONString()
|
||||
});
|
||||
oRPC.make();
|
||||
if (oTaskData.TAS_TITLE)
|
||||
{
|
||||
Pm.data.db.task[getField('INDEX').value].label = Pm.data.db.task[getField('INDEX').value].object.elements.label.innerHTML = oTaskData.TAS_TITLE.replace(re2, "&");
|
||||
}
|
||||
if (oTaskData.TAS_START)
|
||||
{
|
||||
oTaskData.TAS_START = (oTaskData.TAS_START == 'TRUE' ? true : false);
|
||||
Pm.data.render.setTaskINI({task: oTaskData.TAS_UID, value: oTaskData.TAS_START});
|
||||
}
|
||||
|
||||
Pm.tmp.propertiesPanel.remove();
|
||||
};
|
||||
|
||||
var showTriggers = function(sStep, sType)
|
||||
{
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../steps/steps_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=showTriggers&sProcess=' + Pm.options.uid + '&sStep=' + sStep + '&sType=' + sType
|
||||
});
|
||||
|
||||
oRPC.make();
|
||||
|
||||
document.getElementById('triggersSpan_' + sStep + '_' + sType).innerHTML = oRPC.xmlhttp.responseText;
|
||||
scs = oRPC.xmlhttp.responseText.extractScript();
|
||||
scs.evalScript();
|
||||
|
||||
var tri = document.getElementById('TRIG_'+sStep+'_'+sType);
|
||||
if (tri) {
|
||||
oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../steps/steps_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=counterTriggers&sStep='+sStep+'&sType='+sType
|
||||
});
|
||||
oRPC.make();
|
||||
aAux = oRPC.xmlhttp.responseText.split('|');
|
||||
tri.innerHTML=aAux[1];
|
||||
var tri = document.getElementById('TRIG_'+sStep);
|
||||
if (tri) {
|
||||
tri.innerHTML=aAux[0];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var editTriggerCondition = function(sStep, sTrigger, sType)
|
||||
{
|
||||
popupWindow('', '../steps/steps_Ajax?action=editTriggerCondition&sStep=' + sStep + '&sTrigger=' + sTrigger + '&sType=' + sType, 500, 220);
|
||||
};
|
||||
|
||||
var upTrigger = function(sStep, sTrigger, sType, iPosition)
|
||||
{
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../steps/steps_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=upTrigger&sStep=' + sStep + '&sTrigger=' + sTrigger + '&sType=' + sType + '&iPosition=' + iPosition
|
||||
});
|
||||
oRPC.make();
|
||||
showTriggers(sStep, sType);
|
||||
};
|
||||
|
||||
var downTrigger = function(sStep, sTrigger, sType, iPosition)
|
||||
{
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../steps/steps_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=downTrigger&sStep=' + sStep + '&sTrigger=' + sTrigger + '&sType=' + sType + '&iPosition=' + iPosition
|
||||
});
|
||||
oRPC.make();
|
||||
showTriggers(sStep, sType);
|
||||
};
|
||||
|
||||
var availableTriggers = function(sStep, sType)
|
||||
{
|
||||
popupWindow('', '../steps/steps_Ajax?action=availableTriggers&sProcess=' + Pm.options.uid + '&sStep=' + sStep + '&sType=' + sType, 500, 250);
|
||||
};
|
||||
|
||||
var ofToAssignTrigger = function(sStep, sTrigger, sType, iPosition)
|
||||
{
|
||||
new leimnud.module.app.confirm().make({
|
||||
label:G_STRINGS.ID_MSG_CONFIRM_REMOVE_TRIGGER,
|
||||
action:function()
|
||||
{
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../steps/steps_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'action=ofToAssignTrigger&sStep=' + sStep + '&sTrigger=' + sTrigger + '&sType=' + sType + '&iPosition=' + iPosition
|
||||
});
|
||||
oRPC.make();
|
||||
showTriggers(sStep, sType);
|
||||
}.extend(this)
|
||||
});
|
||||
};
|
||||
2592
workflow/engine/js/processmap/core/processmap.js
Normal file
42
workflow/engine/js/reports/reports.js
Normal file
@@ -0,0 +1,42 @@
|
||||
var panel;
|
||||
var panDel=function(uid)
|
||||
{
|
||||
panel =new leimnud.module.panel();
|
||||
panel.options={
|
||||
size :{w:800,h:400},
|
||||
position:{x:50,y:50,center:true},
|
||||
control :{close:true,resize:false},fx:{modal:true},
|
||||
statusBar:false,
|
||||
fx :{shadow:true,modal:true}
|
||||
};
|
||||
panel.make();
|
||||
panel.loader.show();
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:"reports_Description.php",
|
||||
method:"POST",
|
||||
args:"PRO_UID="+uid
|
||||
});
|
||||
r.callback=function(rpc)
|
||||
{
|
||||
panel.loader.hide();
|
||||
panel.addContent(rpc.xmlhttp.responseText);
|
||||
};
|
||||
r.make();
|
||||
};
|
||||
|
||||
|
||||
var reports_Description_filter = function(sFrom, sTo, sStartedby, sProuid) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../reports/reports_Description',
|
||||
args : 'action=reports_Description_filter&FROM=' + sFrom + '&TO=' + sTo + '&STARTEDBY=' + sStartedby + '&PRO_UID=' + sProuid
|
||||
});
|
||||
panel.clearContent();
|
||||
oRPC.callback=function(rpc)
|
||||
{
|
||||
//panel.loader.hide();
|
||||
panel.addContent(rpc.xmlhttp.responseText);
|
||||
};
|
||||
oRPC.make();
|
||||
|
||||
|
||||
};
|
||||
45
workflow/engine/js/setup/pluginList.js
Normal file
@@ -0,0 +1,45 @@
|
||||
var plugin;
|
||||
|
||||
/**
|
||||
* function showMessage
|
||||
* @author gustavo cruz gustavo-at-colosa-dot-com
|
||||
* @param message the message to show
|
||||
* @param pluginUid pluginUid or plugin name
|
||||
* @desc function that invoques a msgBox call with the removePlugin function
|
||||
* as argument.
|
||||
**/
|
||||
|
||||
function showMessage(message, pluginUid){
|
||||
plugin = pluginUid;
|
||||
msgBox(message, "confirm", removePlugin);
|
||||
}
|
||||
|
||||
/**
|
||||
* function removePlugin
|
||||
* @author gustavo cruz gustavo-at-colosa-dot-com
|
||||
* @desc function that executes a rpc and takes the server response into
|
||||
* another message.
|
||||
**/
|
||||
|
||||
function removePlugin(){
|
||||
var callServer = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'pluginsRemove',
|
||||
async : false,
|
||||
method : 'POST',
|
||||
args : 'pluginUid=' + plugin
|
||||
});
|
||||
callServer.make();
|
||||
var response = callServer.xmlhttp.responseText;
|
||||
msgBox(response, 'alert', refresh);
|
||||
}
|
||||
|
||||
/**
|
||||
* function refresh
|
||||
* @author gustavo cruz gustavo-at-colosa-dot-com
|
||||
* @desc a trivial but necesary function that reload a page, since the msgBox
|
||||
* can only take functions with no arguments attached.
|
||||
**/
|
||||
|
||||
function refresh(){
|
||||
location.href = "pluginsList";
|
||||
}
|
||||
25
workflow/engine/js/setup/upgrade_System.js
Normal file
@@ -0,0 +1,25 @@
|
||||
/*upgrade system routine*/
|
||||
|
||||
function upgradeSystem(wsCount) {
|
||||
document.getElementById("form[THETITLE3]").innerHTML = wsCount + " workspaces to update.";
|
||||
document.getElementById("form[SUBTITLE4]").innerHTML = " <img src='/images/alert.gif' width='13' height='13' border='0'> Please wait...";
|
||||
updateWorkspace(wsCount);
|
||||
};
|
||||
|
||||
function updateWorkspace(id) {
|
||||
if(id < 0){
|
||||
return false;
|
||||
}
|
||||
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
async : true,
|
||||
method: "POST",
|
||||
url: "../setup/upgrade_SystemAjax",
|
||||
args : "id=" + id
|
||||
});
|
||||
oRPC.callback = function(rpc) {
|
||||
document.getElementById("form[SUBTITLE4]").innerHTML = rpc.xmlhttp.responseText;
|
||||
updateWorkspace(id-1)
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
508
workflow/engine/js/stagesmap/core/stagesmap.js
Normal file
@@ -0,0 +1,508 @@
|
||||
var stagesmap=function(){
|
||||
this.data={
|
||||
load:function(){
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action=load&data="+{uid:this.options.uid,mode:this.options.rw}.toJSONString()
|
||||
});
|
||||
r.callback=this.data.render.base;
|
||||
r.make();
|
||||
},
|
||||
render:{
|
||||
base:function(xml) {
|
||||
this.panels.editor.loader.hide();
|
||||
this.data.db=xml.xmlhttp.responseText.parseJSON().concat({});
|
||||
if (this.options.rw===true) {
|
||||
this.menu = new this.parent.module.app.menuRight();
|
||||
this.menu.make({
|
||||
target:this.panels.editor.elements.content,//posiblemente hay que cambiar algo aqui para el menu contextual
|
||||
width:150,
|
||||
theme:this.options.theme,
|
||||
menu:[
|
||||
{image:"/images/add.png",text:G_STRINGS.ID_PROCESSMAP_ADD_STAGE,launch:this.addStage.extend(this)}
|
||||
]
|
||||
});
|
||||
this.observers.menu.register(this.parent.closure({instance:this.menu,method:this.menu.remove}),this.menu);
|
||||
}
|
||||
this.data.render.title();
|
||||
this.data.render.stage();
|
||||
this.data.render.derivation();
|
||||
},
|
||||
stage:function() {
|
||||
var lngt = this.data.db.stages.length;
|
||||
for(var i =0;i<lngt;i++)
|
||||
{
|
||||
this.data.build.stage(i);
|
||||
}
|
||||
},
|
||||
title:function() {
|
||||
this.data.build.title();
|
||||
},
|
||||
derivation:function(uid,type) {
|
||||
for(var i=0;i<this.data.db.stages.length;i++)
|
||||
{
|
||||
this.data.render.lineDerivation(i);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
lineDerivation:function(index) {
|
||||
var stage = this.data.db.stages[index];
|
||||
for(var j=0;j<stage.derivation.to.length;j++)
|
||||
{
|
||||
var derivation = stage.derivation.to[j];
|
||||
if(derivation.stage==="-1" || derivation.stage==="-2")
|
||||
{
|
||||
var target=(stage.derivation.to.length>1)?'derivationBottom':'derivation';
|
||||
this.parent.dom.setStyle(stage.object.elements[target],{
|
||||
background:"url("+this.options.images_dir+derivation.stage+((target=="derivationBottom")?"bb.jpg":".gif")+"?aa="+Math.random()+")"
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var uid = this.tools.getIndexOfUid(derivation.stage);
|
||||
var stageF= stage.object.elements;
|
||||
var stageT= this.data.db.stages[uid].object.elements;
|
||||
var from = stage.object.elements.derivation;
|
||||
var toStage=this.data.db.stages[uid];
|
||||
var to = toStage.object.elements.stage;
|
||||
if(stage.derivation.type!==5)
|
||||
{
|
||||
this.parent.dom.setStyle(stage.object.elements.derivation,{
|
||||
background:"url("+this.options.images_dir+stage.derivation.type+"t.gif?aa="+Math.random()+")"
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var ij = toStage.object.inJoin;
|
||||
ij = (ij)?ij+1:1;
|
||||
toStage.object.inJoin = ij;
|
||||
this.parent.dom.setStyle(toStage.object.elements.init,{
|
||||
background:"url("+this.options.images_dir+stage.derivation.type+"t.gif?aa="+Math.random()+")",
|
||||
backgroundPosition:"2 0",
|
||||
backgroundRepeat:"no-repeat"
|
||||
});
|
||||
}
|
||||
var line = new this.parent.module.app.line({
|
||||
indexRootSize:30,
|
||||
indexRootLastSize:35,
|
||||
elements:[stageF.stage,stageT.stage],
|
||||
envolve:[
|
||||
[stageF.stage],
|
||||
[]
|
||||
],
|
||||
target:this.panels.editor.elements.content,
|
||||
color:"#228AB0",
|
||||
startA:50,
|
||||
zIndex:5
|
||||
});
|
||||
line.make();
|
||||
var cE=this.observers.lineas.register(line.update,line);
|
||||
derivation.object={
|
||||
line : line,
|
||||
indexObserver : cE
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
deleteDerivation:function(uid,rec,spec) {
|
||||
var stage = this.data.db.stages[this.tools.getIndexOfUid(uid)];
|
||||
spec = (typeof spec!=="number")?false:spec;
|
||||
var deri = stage.derivation;
|
||||
for(var i=0;i<deri.to.length;i++)
|
||||
{
|
||||
if(spec===false || (spec!==false && spec===i))
|
||||
{
|
||||
deri.to[i].object.line.remove();
|
||||
this.observers.lineas.unregister(deri.to[i].object.indexObserver);
|
||||
if(deri.type===5)
|
||||
{
|
||||
var toStage = this.data.db.stages[this.tools.getIndexOfUid(deri.to[i].stage)];
|
||||
toStage.object.inJoin = toStage.object.inJoin-1;
|
||||
if(toStage.object.inJoin===0)
|
||||
{
|
||||
this.parent.dom.setStyle(toStage.object.elements.init,{
|
||||
backgroundPosition:"0 0",
|
||||
background:""
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.parent.dom.setStyle(stage.object.elements.derivation,{
|
||||
background:""
|
||||
});
|
||||
stage.derivation={to:[]};
|
||||
if(rec)
|
||||
{
|
||||
var tdb = this.data.db.stages;
|
||||
for(var i=0;i<tdb.length;i++)
|
||||
{
|
||||
var der = tdb[i].derivation.to || [];
|
||||
for(var j=0;j<der.length;j++)
|
||||
{
|
||||
if(der[j].stage===uid)
|
||||
{
|
||||
this.data.render.deleteDerivation(tdb[i].uid,false,j);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
build:{
|
||||
title:function(index)
|
||||
{
|
||||
if(this.data.db.title)
|
||||
{
|
||||
var title=this.data.db.title;
|
||||
var t = document.createElement("div");
|
||||
t.className="processmap_title___"+this.options.theme;
|
||||
this.parent.dom.setStyle(t,{
|
||||
top:title.position.y,
|
||||
left:title.position.x,
|
||||
cursor:"default"
|
||||
});
|
||||
t.innerHTML=title.label;
|
||||
this.panels.editor.elements.content.appendChild(t);
|
||||
title.object={
|
||||
elements:{
|
||||
label:t
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
stage:function(index)
|
||||
{
|
||||
var options = this.data.db.stages[index];
|
||||
var db = this.data.db, stage=db.stages[index];
|
||||
var derivation = stage.derivation.to;
|
||||
var a = document.createElement("div");
|
||||
a.className="processmap_task___"+this.options.theme;
|
||||
this.parent.dom.setStyle(a,{
|
||||
top:options.position.y,
|
||||
left:options.position.x,
|
||||
cursor:((this.options.rw===true)?"move":"default"),
|
||||
backgroundColor:(options.color ? options.color : 'auto')
|
||||
});
|
||||
var b = document.createElement("div");
|
||||
b.className="processmap_task_label___"+this.options.theme;
|
||||
this.parent.dom.setStyle(b,{
|
||||
cursor:((this.options.rw===true)?"move":"default")
|
||||
});
|
||||
b.innerHTML = options.label;
|
||||
|
||||
var c = document.createElement("div");
|
||||
this.parent.dom.setStyle(c,{
|
||||
position:"absolute",
|
||||
top: options.position.y+38,
|
||||
left:options.position.x+(81-12),
|
||||
height:25,
|
||||
width:25,
|
||||
border:"0px solid black",
|
||||
overflow:"hidden",
|
||||
cursor:'default',
|
||||
zIndex:9
|
||||
});
|
||||
var d = document.createElement("div");
|
||||
this.parent.dom.setStyle(d,{
|
||||
position:"absolute",
|
||||
top: options.position.y+49,
|
||||
left:options.position.x+(93),
|
||||
height:38,
|
||||
width:38,
|
||||
border:"0px solid black",
|
||||
overflow:"hidden",
|
||||
zIndex:9
|
||||
});
|
||||
var t = document.createElement("div");
|
||||
this.parent.dom.setStyle(t,{
|
||||
position:"absolute",
|
||||
top:options.position.y-30,
|
||||
left:options.position.x+(81-14),
|
||||
height:30,
|
||||
width:30,
|
||||
overflow:"hidden",
|
||||
zIndex:9
|
||||
});
|
||||
if(this.options.rw===true)
|
||||
{
|
||||
var menu = new this.parent.module.app.menuRight();
|
||||
menu.make({
|
||||
target:a,
|
||||
width:201,
|
||||
theme:this.options.theme,
|
||||
menu:[
|
||||
{image:"/images/edit.gif",text:G_STRINGS.ID_PROCESSMAP_EDIT,launch:function(event,index){
|
||||
var panel;
|
||||
this.tmp.stagePanel = panel = new leimnud.module.panel();
|
||||
panel.options={
|
||||
limit :true,
|
||||
size :{w:450,h:160},
|
||||
position:{x:50,y:50,center:true},
|
||||
title :G_STRINGS.ID_PROCESSMAP_EDIT+": "+stage.label,
|
||||
theme :this.options.theme,
|
||||
control :{close:true,resize:false},fx:{modal:true},
|
||||
statusBar:false,
|
||||
fx :{modal:true}
|
||||
};
|
||||
panel.make();
|
||||
panel.loader.show();
|
||||
var r;
|
||||
panel.currentRPC = r = new leimnud.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action=editStage&data="+{
|
||||
stg_uid :stage.uid,
|
||||
pro_uid :this.options.uid,
|
||||
theindex:index
|
||||
}.toJSONString()
|
||||
});
|
||||
r.callback=function(rpc,panel)
|
||||
{
|
||||
panel.loader.hide();
|
||||
var scs = rpc.xmlhttp.responseText.extractScript();
|
||||
panel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this,panel);
|
||||
r.make();
|
||||
}.extend(this,index)},
|
||||
{image:"/images/task.gif",text:G_STRINGS.ID_PROCESSMAP_TASKS_ASSIGNED,launch:function(event,index){
|
||||
var panel;
|
||||
this.tmp.stagePanel = panel = new leimnud.module.panel();
|
||||
panel.options={
|
||||
limit :true,
|
||||
size :{w:450,h:400},
|
||||
position:{x:50,y:50,center:true},
|
||||
title :G_STRINGS.ID_PROCESSMAP_TASKS_ASSIGNED_FOR+": "+stage.label,
|
||||
theme :this.options.theme,
|
||||
control :{close:true,resize:false},fx:{modal:true},
|
||||
statusBar:false,
|
||||
fx :{modal:true}
|
||||
};
|
||||
panel.make();
|
||||
panel.loader.show();
|
||||
var r;
|
||||
panel.currentRPC = r = new leimnud.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action=tasksAssigned&data="+{
|
||||
stg_uid :stage.uid,
|
||||
pro_uid :this.options.uid,
|
||||
theindex:index
|
||||
}.toJSONString()
|
||||
});
|
||||
r.callback=function(rpc,panel)
|
||||
{
|
||||
panel.loader.hide();
|
||||
var scs = rpc.xmlhttp.responseText.extractScript();
|
||||
panel.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this,panel);
|
||||
r.make();
|
||||
}.extend(this,index)},
|
||||
{image:"/images/delete.png",text:G_STRINGS.ID_PROCESSMAP_DELETE_STAGE,launch:this.parent.closure({instance:this,method:function(index){
|
||||
var data = this.data.db.stages[index];
|
||||
new this.parent.module.app.confirm().make({
|
||||
label:G_STRINGS.ID_PROCESSMAP_CONFIRM_DELETE_STAGE+data.label,
|
||||
action:function()
|
||||
{
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action=deleteStage&data="+{pro_uid:this.options.uid,stg_uid:data.uid}.toJSONString()
|
||||
});
|
||||
r.callback = function() {
|
||||
this.panels.editor.clearContent();
|
||||
this.data.load();
|
||||
}.extend(this);
|
||||
r.make();
|
||||
}.extend(this)
|
||||
});
|
||||
},args:index})}
|
||||
]
|
||||
});
|
||||
this.observers.menu.register(menu.remove,menu);
|
||||
}
|
||||
this.panels.editor.elements.content.appendChild(a);
|
||||
a.appendChild(b);
|
||||
this.panels.editor.elements.content.appendChild(c);
|
||||
this.panels.editor.elements.content.appendChild(d);
|
||||
this.panels.editor.elements.content.appendChild(t);
|
||||
|
||||
options.object={
|
||||
elements:{
|
||||
stage : a,
|
||||
label : b,
|
||||
derivation: c,
|
||||
derivationBottom: d,
|
||||
init : t
|
||||
}
|
||||
};
|
||||
options.object.dropIndex=this.dropables.derivation.register({
|
||||
element : a,
|
||||
value : index,
|
||||
events : {
|
||||
over :this.parent.closure({instance:this.dropables.derivation,method:function(e,o,u){
|
||||
this.parent.dom.setStyle(e,{
|
||||
border:"1px solid #006699"
|
||||
});
|
||||
},args:[a,options,index]}),
|
||||
out :this.parent.closure({instance:this.dropables.derivation,method:function(e,o,u){
|
||||
this.parent.dom.setStyle(e,{
|
||||
border:"0px solid #006699"
|
||||
});
|
||||
},args:[a,options,index]})
|
||||
}
|
||||
});
|
||||
if(this.options.rw===true)
|
||||
{
|
||||
options.object.drag = new this.parent.module.drag({
|
||||
link:{
|
||||
elements:a,
|
||||
ref:[a,c,d,t]
|
||||
},
|
||||
limit:true
|
||||
});
|
||||
this.observers.lineas.register(this.parent.closure({instance:options.object.drag,method:function(){}}),options.object.drag);
|
||||
options.object.drag.events={
|
||||
move :this.parent.closure({instance:this,method:function(div,divC,uid,drag) {
|
||||
options.object.drag.observer.update();
|
||||
var db = this.data.db;
|
||||
},args:[a,c,index,options.object.drag]}),
|
||||
|
||||
finish :this.parent.closure({instance:this,method:function(div,divC,uid,drag){
|
||||
if(!drag.moved){return false;}
|
||||
var pos = this.parent.dom.position(div);
|
||||
var h=pos;
|
||||
var data = this.data.db.stages[uid];
|
||||
var db = this.data.db;
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action=saveStagePosition&data="+{uid:data.uid,position:pos}.toJSONString()
|
||||
});
|
||||
r.make();
|
||||
},args:[a,c,index,options.object.drag]})
|
||||
};
|
||||
options.object.drag.make();
|
||||
}
|
||||
},
|
||||
derivation:function(options)
|
||||
{
|
||||
tt=options;
|
||||
var index=this.tools.getIndexOfUid(options.stg_uid);
|
||||
var from=this.data.db.stages[index];
|
||||
this.data.render.deleteDerivation(options.stg_uid);
|
||||
var affe=options.data;
|
||||
from.derivation.type=options.type;
|
||||
for(var i=0;i<affe.length;i++)
|
||||
{
|
||||
from.derivation.to[i]={
|
||||
stage:affe[i]
|
||||
};
|
||||
}
|
||||
this.data.render.lineDerivation(index);
|
||||
}
|
||||
}
|
||||
}.expand(this,true);
|
||||
this.tools={
|
||||
getIndexOfUid:function(uid)
|
||||
{
|
||||
for(var i=0;i<this.data.db.stages.length;i++)
|
||||
{
|
||||
if(this.data.db.stages[i].uid===uid){return i;}
|
||||
}
|
||||
},
|
||||
getUidOfIndex:function(index)
|
||||
{
|
||||
return this.data.db.stages[index].uid || false;
|
||||
}
|
||||
}.expand(this);
|
||||
this.expand(this);
|
||||
};
|
||||
|
||||
stagesmap.prototype={
|
||||
parent:leimnud,
|
||||
tmp:{},
|
||||
info:{
|
||||
name : "stagesmap"
|
||||
},
|
||||
panels:{},dragables:{},dropables:{},
|
||||
make:function() {
|
||||
this.options = {
|
||||
theme :"firefox",
|
||||
rw :true,
|
||||
mi :true,
|
||||
hideMenu:true
|
||||
}.concat(this.options || {});
|
||||
this.options.target = this.parent.dom.element(this.options.target);
|
||||
if(!this.validate()){return false;}
|
||||
this.observers = {
|
||||
menu : this.parent.factory(this.parent.pattern.observer,true),
|
||||
lineas : this.parent.factory(this.parent.pattern.observer,true)
|
||||
};
|
||||
this.dropables.derivation = new this.parent.module.drop();
|
||||
this.dropables.derivation.make();
|
||||
if (this.options.rw === true) {
|
||||
var bd = this.parent.dom.capture("tag.body 0");
|
||||
var sm = this.parent.dom.element("pm_submenu");
|
||||
this.parent.dom.setStyle(bd,{
|
||||
backgroundColor:"buttonface"
|
||||
});
|
||||
this.parent.dom.setStyle(sm,{
|
||||
height:25
|
||||
});
|
||||
}
|
||||
this.panels.editor=new leimnud.module.panel();
|
||||
this.panels.editor.options={
|
||||
limit:true,
|
||||
size:{w:this.options.size.w,h:this.options.size.h},
|
||||
position:{x:200,y:0,centerX:true},
|
||||
title:"",
|
||||
titleBar:false,
|
||||
control:{
|
||||
resize:false
|
||||
},
|
||||
fx:{
|
||||
opacity:false,
|
||||
shadow:false,
|
||||
blinkToFront:false
|
||||
},
|
||||
theme:this.options.theme,
|
||||
target:this.options.target,
|
||||
modal:true,
|
||||
limit:true
|
||||
};
|
||||
this.panels.editor.setStyle={
|
||||
content:{
|
||||
background:"white url('"+this.options.images_dir+"bg_pm.gif') repeat fixed",
|
||||
backgroundPosition:"10 0"
|
||||
},
|
||||
containerWindow :{borderWidth:0,padding:0,backgroundColor:"buttonface"},
|
||||
titleBar :{background:"transparent",borderWidth:0,height:5},
|
||||
frontend :{backgroundColor:"buttonface"},
|
||||
backend :{backgroundColor:"buttonface"},
|
||||
status :{textAlign:"center"}
|
||||
};
|
||||
this.panels.editor.make();
|
||||
this.panels.editor.loader.show();
|
||||
this.data.load();
|
||||
},
|
||||
validate:function() {
|
||||
return (!this.options.target || !this.options.dataServer || !this.options.lang)?false:true;
|
||||
},
|
||||
addStage:function(evt) {
|
||||
var m = this.menu.cursor;
|
||||
var cpos = this.parent.dom.position($('sm_target'));
|
||||
var scl = {
|
||||
x:$('sm_target').scrollLeft,
|
||||
y:$('sm_target').scrollTop
|
||||
};
|
||||
var pos = {x:scl.x+(m.x-cpos.x)+100,y:scl.y+(m.y-cpos.y)};
|
||||
var r = new leimnud.module.rpc.xmlhttp({
|
||||
url:this.options.dataServer,
|
||||
args:"action=addStage&data="+{uid:this.options.uid,position:pos}.toJSONString()
|
||||
});
|
||||
r.callback = function() {
|
||||
this.panels.editor.clearContent();
|
||||
this.data.load();
|
||||
}.extend(this);
|
||||
r.make();
|
||||
}
|
||||
};
|
||||
89
workflow/engine/js/tracker/tracker.js
Normal file
@@ -0,0 +1,89 @@
|
||||
var oLeyendsPanel;
|
||||
|
||||
var showUploadedDocumentTracker = function(APP_DOC_UID) {
|
||||
oPanel2 = new leimnud.module.panel();
|
||||
oPanel2.options = {
|
||||
size :{w:300,h:300},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :'',
|
||||
theme :'processmaker',
|
||||
statusBar:true,
|
||||
control :{resize:false,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel2.events = {
|
||||
remove: function() { delete(oPanel2); }.extend(this)
|
||||
};
|
||||
oPanel2.make();
|
||||
oPanel2.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'tracker_Ajax',
|
||||
args: 'action=showUploadedDocumentTracker&APP_DOC_UID=' + APP_DOC_UID
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel2.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel2.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
|
||||
var showGeneratedDocumentTracker = function(APP_DOC_UID) {
|
||||
oPanel2 = new leimnud.module.panel();
|
||||
oPanel2.options = {
|
||||
size :{w:300,h:250},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :'',
|
||||
theme :'processmaker',
|
||||
statusBar:true,
|
||||
control :{resize:false,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel2.events = {
|
||||
remove: function() { delete(oPanel2); }.extend(this)
|
||||
};
|
||||
oPanel2.make();
|
||||
oPanel2.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'tracker_Ajax',
|
||||
args: 'action=showGeneratedDocumentTracker&APP_DOC_UID=' + APP_DOC_UID
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel2.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel2.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
/*
|
||||
var tracker_MessagesView = function(APP_UID) { alert(123);
|
||||
oPanel2 = new leimnud.module.panel();
|
||||
oPanel2.options = {
|
||||
size :{w:300,h:300},
|
||||
position:{x:0,y:0,center:true},
|
||||
title :'',
|
||||
theme :'processmaker',
|
||||
statusBar:true,
|
||||
control :{resize:false,roll:false},
|
||||
fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
|
||||
};
|
||||
oPanel2.events = {
|
||||
remove: function() { delete(oPanel2); }.extend(this)
|
||||
};
|
||||
oPanel2.make();
|
||||
oPanel2.loader.show();
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : 'tracker_Ajax',
|
||||
args: 'action=tracker_MessagesView&APP_UID=' + APP_UID
|
||||
});
|
||||
oRPC.callback = function(rpc){
|
||||
oPanel2.loader.hide();
|
||||
var scs=rpc.xmlhttp.responseText.extractScript();
|
||||
oPanel2.addContent(rpc.xmlhttp.responseText);
|
||||
scs.evalScript();
|
||||
}.extend(this);
|
||||
oRPC.make();
|
||||
};
|
||||
*/
|
||||