jsharmony-workflow 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.eslintrc.js +47 -0
  2. package/.eslintrc_models.js +64 -0
  3. package/LICENSE +165 -0
  4. package/README.md +29 -0
  5. package/index.js +20 -0
  6. package/jsHarmonyWorkflow.js +55 -0
  7. package/jsHarmonyWorkflowConfig.js +43 -0
  8. package/jsHarmonyWorkflowProcessor.js +517 -0
  9. package/jsHarmonyWorkflowTransform.Classic.js +83 -0
  10. package/jsHarmonyWorkflowTransform.js +80 -0
  11. package/lint.cmd +2 -0
  12. package/models/Admin/TaskDef.json +26 -0
  13. package/models/Admin/TaskDef_Func.json +21 -0
  14. package/models/Admin/TaskDef_Listing.json +28 -0
  15. package/models/Admin/TaskDef_Tabs.json +19 -0
  16. package/models/Admin/WkflowDef.json +25 -0
  17. package/models/Admin/WkflowDef_Listing.json +26 -0
  18. package/models/Admin/WkflowDef_State.json +26 -0
  19. package/models/Admin/WkflowDef_State_Action.json +25 -0
  20. package/models/Admin/WkflowDef_State_Action_Listing.json +25 -0
  21. package/models/Admin/WkflowDef_State_Listing.json +45 -0
  22. package/models/Admin/WkflowDef_State_Tabs.json +20 -0
  23. package/models/Admin/WkflowDef_State_Tran.json +28 -0
  24. package/models/Admin/WkflowDef_State_Tran_Listing.json +27 -0
  25. package/models/Admin/WkflowDef_Tabs.json +20 -0
  26. package/models/Admin/WkflowDef_Tran_Start.json +28 -0
  27. package/models/Admin/WkflowDef_Tran_Start_Listing.json +34 -0
  28. package/models/Wkflow/Task.json +27 -0
  29. package/models/Wkflow/Task_Listing.json +45 -0
  30. package/models/Wkflow/Task_Tabs.json +18 -0
  31. package/models/Wkflow/Wkflow.json +31 -0
  32. package/models/Wkflow/Wkflow_Listing.json +38 -0
  33. package/models/Wkflow/Wkflow_Tabs.json +18 -0
  34. package/models/_config.json +48 -0
  35. package/models/sql/objects/task.json +152 -0
  36. package/models/sql/objects/wkflow.json +383 -0
  37. package/package.json +21 -0
@@ -0,0 +1,26 @@
1
+ {
2
+ "TaskDef": {
3
+ "layout":"form",
4
+ "table":"task_def",
5
+ "title":"Task Definition",
6
+ "actions":"BIUD",
7
+ "caption": ["","Task Definition","Task Definitions"],
8
+ "onecolumn":true,
9
+ "popup":[1300,700],
10
+ "oninsert": "XExt.navTo(jsh._BASEURL+xmodel.namespace+'TaskDef_Tabs?action=update&task_def_id='+urlkeys.task_def_id); jsh.XPage.RefreshParent(); return false;",
11
+ "fields": [
12
+ {"name":"task_def_id", "caption":"ID"},
13
+ {"name":"task_def_name", "caption":"Task Name"},
14
+ {"name":"task_def_code", "caption":"Code"},
15
+ {"name":"task_def_sts", "caption":"Status", "lov": { "{{code_sys}}": "task_def_sts" }, "default": "ACTIVE"},
16
+ {"name":"task_def_dur", "caption":"Duration", "control": "textbox_S"},
17
+ {"name":"task_def_dur_type", "caption":"Type", "lov": { "{{code_sys}}": "task_def_dur_type" }, "nl": false},
18
+ {"name":"task_def_desc", "caption":"Description", "control": "textbox_VL"},
19
+ {"name":"task_def_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
20
+ {"name":"task_def_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(task_def_euser)"},
21
+ {"name":"task_def_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"task_def_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(task_def_muser)"},
23
+ {"name":"task_def_snotes", "caption":"System Notes", "control": "textbox_VL"},
24
+ ]
25
+ }
26
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "TaskDef_Func":{
3
+ "layout": "multisel",
4
+ "title": "Functions",
5
+ "table": "task_def_sys_func",
6
+ "caption": ["","Function","Functions"],
7
+ "actions": "BU",
8
+ "sort": ["^task_def_id"],
9
+ "fields": [
10
+ {"name":"task_def_id", "control":"hidden","foreignkey":true},
11
+ {"name":"task_def_sys_func_id", "control":"hidden","key":true},
12
+ {"name":"sys_func_name","type":"varchar","length":"32","cellstyle":"width:300px;",
13
+ "caption":"Function","actions":"B",
14
+ "lov": { "sql": ["select sys_func_name as %%%jsh.map.{{code_val}}%%%, ",
15
+ " sys_func_desc as %%%jsh.map.{{code_txt}}%%%,",
16
+ " sys_func_seq as %%%jsh.map.{{code_seq}}%%% ",
17
+ " from jsharmony.sys_func"] }
18
+ }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "TaskDef_Listing":{
3
+ "layout": "grid",
4
+ "title": "Task Definitions",
5
+ "table": "task_def",
6
+ "menu": "Admin/TaskDef_Listing",
7
+ "caption": ["","Task Definition","Task Definitions"],
8
+ "actions": "B",
9
+ "sort": ["^task_def_id"],
10
+ "buttons":[
11
+ { "name":"addTaskDef", "link":"insert:TaskDef","icon":"add","text":"Add Task Definition" },
12
+ ],
13
+ "fields": [
14
+ {"name":"task_def_id", "caption":"ID"},
15
+ {"name":"task_def_name", "caption":"Task Name", "link": "update:TaskDef_Tabs"},
16
+ {"name":"task_def_code", "caption":"Code", "link": "update:TaskDef_Tabs"},
17
+ {"name":"task_def_sts", "caption":"Status", "lov": { "{{code_sys}}": "task_def_sts" }},
18
+ {"name":"task_def_desc", "caption":"Description"},
19
+ {"name":"task_def_dur", "caption":"Duration"},
20
+ {"name":"task_def_dur_type", "caption":"Duration Type", "lov": { "{{code_sys}}": "task_def_dur_type" }},
21
+ {"name":"task_def_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"task_def_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(task_def_euser)"},
23
+ {"name":"task_def_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
24
+ {"name":"task_def_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(task_def_muser)"},
25
+ {"name":"task_def_snotes", "caption":"System Notes"},
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "TaskDef_Tabs":{
3
+ "layout": "form",
4
+ "title": "Task Definition: <#=data.task_def_name#>",
5
+ "table": "task_def",
6
+ "actions": "B",
7
+ "caption": [ 0, "Task Definition", "Task Definitions" ],
8
+ "tabpos":"bottom",
9
+ "tabs":[
10
+ {"name":"General","target":"TaskDef"},
11
+ {"name":"Functions","target":"TaskDef_Func"},
12
+ ],
13
+ "popup":[1300,700],
14
+ "fields":[
15
+ {"name":"task_def_id","type":"bigint","key":true,"control":"hidden"},
16
+ {"name":"task_def_name","control":"hidden"},
17
+ ]
18
+ },
19
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "WkflowDef": {
3
+ "layout":"form",
4
+ "table":"wkflow_def",
5
+ "title":"Workflow Definition",
6
+ "actions":"BIUD",
7
+ "caption": ["","Workflow Definition","Workflow Definitions"],
8
+ "onecolumn":true,
9
+ "popup":[1300,700],
10
+ "oninsert": "XExt.navTo(jsh._BASEURL+xmodel.namespace+'WkflowDef_Tabs?action=update&wkflow_def_id='+urlkeys.wkflow_def_id); jsh.XPage.RefreshParent(); return false;",
11
+ "fields": [
12
+ {"name":"wkflow_def_id", "caption":"ID"},
13
+ {"name":"wkflow_def_name", "caption":"Workflow Name"},
14
+ {"name":"wkflow_def_code", "caption":"Code"},
15
+ {"name":"wkflow_def_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_sts" }, "default": "ACTIVE"},
16
+ {"name":"wkflow_def_desc", "caption":"Description", "control": "textbox_VL"},
17
+ {"name":"wkflow_def_state_id_start", "caption":"Start State", "lov": { "sql": "select wkflow_def_state_id code_val, wkflow_def_state_name code_txt from {schema}.wkflow_def_state where wkflow_def_id=@wkflow_def_id and wkflow_def_state_sts='ACTIVE' order by wkflow_def_state_name" }},
18
+ {"name":"wkflow_def_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
19
+ {"name":"wkflow_def_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_euser)"},
20
+ {"name":"wkflow_def_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
21
+ {"name":"wkflow_def_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_muser)"},
22
+ {"name":"wkflow_def_snotes", "caption":"System Notes", "control": "textbox_VL"},
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "WkflowDef_Listing":{
3
+ "layout": "grid",
4
+ "title": "Workflow Definitions",
5
+ "table": "wkflow_def",
6
+ "menu": "Admin/WkflowDef_Listing",
7
+ "caption": ["","Workflow Definition","Workflow Definitions"],
8
+ "actions": "B",
9
+ "sort": ["^wkflow_def_id"],
10
+ "buttons":[
11
+ { "name":"addWkflowDef", "link":"insert:WkflowDef","icon":"add","text":"Add Workflow Definition" },
12
+ ],
13
+ "fields": [
14
+ {"name":"wkflow_def_id", "caption":"ID"},
15
+ {"name":"wkflow_def_name", "caption":"Workflow Name", "link": "update:WkflowDef_Tabs"},
16
+ {"name":"wkflow_def_code", "caption":"Code", "link": "update:WkflowDef_Tabs"},
17
+ {"name":"wkflow_def_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_sts" }},
18
+ {"name":"wkflow_def_desc", "caption":"Description"},
19
+ {"name":"wkflow_def_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
20
+ {"name":"wkflow_def_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_euser)"},
21
+ {"name":"wkflow_def_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"wkflow_def_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_muser)"},
23
+ {"name":"wkflow_def_snotes", "caption":"System Notes"},
24
+ ]
25
+ }
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "WkflowDef_State": {
3
+ "layout":"form",
4
+ "table":"wkflow_def_state",
5
+ "title":"State",
6
+ "actions":"BIUD",
7
+ "caption": ["","State","States"],
8
+ "onecolumn":true,
9
+ "popup":[1300,600],
10
+ "oninsert": "XExt.navTo(jsh._BASEURL+xmodel.namespace+'WkflowDef_State_Tabs?action=update&wkflow_def_state_id='+urlkeys.wkflow_def_state_id); jsh.XPage.RefreshParent(); return false;",
11
+ "fields": [
12
+ {"name":"wkflow_def_id", "caption":"Workflow Definition ID", "control": "hidden", "foreignkey": true},
13
+ {"name":"wkflow_def_state_id", "caption":"ID"},
14
+ {"name":"wkflow_def_state_name", "caption":"State Name"},
15
+ {"name":"wkflow_def_state_code", "caption":"Code"},
16
+ {"name":"wkflow_def_state_type", "caption":"Type", "lov": { "{{code_sys}}": "wkflow_def_state_type" }, "default": "STANDARD"},
17
+ {"name":"wkflow_def_state_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_sts" }, "default": "ACTIVE"},
18
+ {"name":"wkflow_def_state_desc", "caption":"Description", "control": "textbox_VL"},
19
+ {"name":"wkflow_def_state_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
20
+ {"name":"wkflow_def_state_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_euser)"},
21
+ {"name":"wkflow_def_state_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"wkflow_def_state_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_muser)"},
23
+ {"name":"wkflow_def_state_snotes", "caption":"System Notes", "control": "textbox_VL"},
24
+ ]
25
+ }
26
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "WkflowDef_State_Action": {
3
+ "layout":"form",
4
+ "table":"wkflow_def_state_action",
5
+ "title":"Action",
6
+ "actions":"BIUD",
7
+ "caption": ["","Action","Actions"],
8
+ "onecolumn":true,
9
+ "popup":[900,500],
10
+ "fields": [
11
+ {"name":"wkflow_def_state_id", "caption":"State ID", "control": "hidden", "foreignkey": true},
12
+ {"name":"wkflow_def_state_action_id", "caption":"ID"},
13
+ {"name":"wkflow_def_state_action_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_action_sts" }, "default": "ACTIVE"},
14
+
15
+ {"name":"wkflow_def_state_action_type", "caption":"Action", "lov": { "{{code_sys}}": "wkflow_def_state_action_type" }},
16
+ {"name":"wkflow_def_state_action_param", "caption":"Action Param", "control": "textbox_VL", "hints": { "caption": "Tasks", "separator": " " }, "lov": { "sql": "select task_def_code code_val, task_def_name code_txt from {schema}.task_def where task_def_sts='ACTIVE'" }},
17
+
18
+ {"name":"wkflow_def_state_action_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
19
+ {"name":"wkflow_def_state_action_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_action_euser)"},
20
+ {"name":"wkflow_def_state_action_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
21
+ {"name":"wkflow_def_state_action_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_action_muser)"},
22
+ {"name":"wkflow_def_state_action_snotes", "caption":"System Notes", "control": "textbox_VL"},
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "WkflowDef_State_Action_Listing":{
3
+ "layout": "grid",
4
+ "title": "Actions",
5
+ "table": "wkflow_def_state_action",
6
+ "caption": ["","Action","Actions"],
7
+ "actions": "B",
8
+ "sort": ["^wkflow_def_state_action_id"],
9
+ "buttons":[
10
+ { "name":"addWkflowDefStateAction", "link":"insert:WkflowDef_State_Action","icon":"add","text":"Add Action" },
11
+ ],
12
+ "fields": [
13
+ {"name":"wkflow_def_state_id", "caption":"State ID", "control": "hidden", "foreignkey": true},
14
+ {"name":"wkflow_def_state_action_id", "caption":"ID"},
15
+ {"name":"wkflow_def_state_action_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_action_sts" }},
16
+ {"name":"wkflow_def_state_action_type", "caption":"Action", "lov": { "{{code_sys}}": "wkflow_def_state_action_type" }, "link": "update:WkflowDef_State_Action"},
17
+ {"name":"wkflow_def_state_action_param", "caption":"Action Param"},
18
+ {"name":"wkflow_def_state_action_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
19
+ {"name":"wkflow_def_state_action_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_action_euser)"},
20
+ {"name":"wkflow_def_state_action_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
21
+ {"name":"wkflow_def_state_action_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_action_muser)"},
22
+ {"name":"wkflow_def_state_action_snotes", "caption":"System Notes"},
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "WkflowDef_State_Listing":{
3
+ "layout": "grid",
4
+ "title": "States",
5
+ "table": "wkflow_def_state",
6
+ "caption": ["","State","States"],
7
+ "actions": "B",
8
+ "buttons":[
9
+ { "name":"addWkflowDefState", "link":"insert:WkflowDef_State","icon":"add","text":"Add State" },
10
+ ],
11
+ "sqlselect": [
12
+ "with",
13
+ " xtran as (",
14
+ " select wkflow_def_state_id xstate_id, 0 xlevel",
15
+ " from {schema}.wkflow_def_state",
16
+ " where not exists(select * from {schema}.wkflow_def_state_tran where wkflow_def_state_id_dst=wkflow_def_state.wkflow_def_state_id)",
17
+ " union all",
18
+ " select wkflow_def_state_id_dst xstate_id, xlevel + 1 xlevel",
19
+ " from {schema}.wkflow_def_state_tran",
20
+ " inner join xtran on xtran.xstate_id = wkflow_def_state_id_src",
21
+ " ),",
22
+ " xtran_sort as (select xstate_id,min(xlevel) xlevel from xtran group by xstate_id)",
23
+ "select %%%SQLFIELDS%%%",
24
+ " from {schema}.wkflow_def_state",
25
+ " left outer join xtran_sort on xtran_sort.xstate_id = wkflow_def_state.wkflow_def_state_id",
26
+ "%%%SQLSUFFIX%%%",
27
+ ],
28
+ "sort": ["^wkflow_def_state_seq","^wkflow_def_state_name","^wkflow_def_state_id"],
29
+ "fields": [
30
+ {"name":"wkflow_def_id", "caption":"Workflow Definition ID", "control": "hidden", "foreignkey": true},
31
+ {"name":"wkflow_def_state_id", "caption":"ID"},
32
+ {"name":"wkflow_def_state_name", "caption":"State Name", "link": "update:WkflowDef_State_Tabs"},
33
+ {"name":"wkflow_def_state_code", "caption":"Code", "link": "update:WkflowDef_State_Tabs"},
34
+ {"name":"wkflow_def_state_type", "caption":"Type", "lov": { "{{code_sys}}": "wkflow_def_state_type" }},
35
+ {"name":"wkflow_def_state_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_sts" }},
36
+ {"name":"wkflow_def_state_desc", "caption":"Description"},
37
+ {"name":"wkflow_def_state_seq", "caption":"Seq", "sqlselect": "isnull(xlevel,0)"},
38
+ {"name":"wkflow_def_state_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
39
+ {"name":"wkflow_def_state_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_euser)"},
40
+ {"name":"wkflow_def_state_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
41
+ {"name":"wkflow_def_state_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_muser)"},
42
+ {"name":"wkflow_def_state_snotes", "caption":"System Notes"},
43
+ ]
44
+ }
45
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "WkflowDef_State_Tabs":{
3
+ "layout": "form",
4
+ "title": "State: <#=data.wkflow_def_state_name#>",
5
+ "table": "wkflow_def_state",
6
+ "actions": "B",
7
+ "caption": [ 0, "State", "States" ],
8
+ "tabpos":"bottom",
9
+ "tabs":[
10
+ {"name":"General","target":"WkflowDef_State"},
11
+ {"name":"Actions","target":"WkflowDef_State_Action_Listing"},
12
+ {"name":"Transitions","target":"WkflowDef_State_Tran_Listing", "bindings": { "wkflow_def_state_id_src": "wkflow_def_state_id" }},
13
+ ],
14
+ "popup":[1300,600],
15
+ "fields":[
16
+ {"name":"wkflow_def_state_id","type":"bigint","key":true,"control":"hidden"},
17
+ {"name":"wkflow_def_state_name","control":"hidden"},
18
+ ]
19
+ },
20
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "WkflowDef_State_Tran": {
3
+ "layout":"form",
4
+ "table":"wkflow_def_state_tran",
5
+ "title":"Transition",
6
+ "actions":"BIUD",
7
+ "caption": ["","Transition","Transitions"],
8
+ "onecolumn":true,
9
+ "popup":[900,500],
10
+ "fields": [
11
+ {"name":"wkflow_def_state_tran_id", "caption":"ID"},
12
+ {"name":"wkflow_def_state_tran_seq", "caption":"Seq #", "control": "textbox_VS"},
13
+ {"name":"wkflow_def_state_tran_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_tran_sts" }, "default": "ACTIVE"},
14
+
15
+ {"name":"wkflow_def_state_id_src", "caption":"From", "foreignkey": true, "readonly": true, "lov": { "sql": "select wkflow_def_state_id code_val, wkflow_def_state_name code_txt from {schema}.wkflow_def_state where wkflow_def_id=(select wkflow_def_id from {schema}.wkflow_def_state where wkflow_def_state_id=@wkflow_def_state_id_src) and wkflow_def_state_sts='ACTIVE' order by wkflow_def_state_name" }},
16
+ {"name":"wkflow_def_state_id_dst", "caption":"To", "lov": { "sql": "select wkflow_def_state_id code_val, wkflow_def_state_name code_txt from {schema}.wkflow_def_state where wkflow_def_id=(select wkflow_def_id from {schema}.wkflow_def_state where wkflow_def_state_id=@wkflow_def_state_id_src) and wkflow_def_state_sts='ACTIVE' order by wkflow_def_state_name" }},
17
+
18
+ {"name":"wkflow_def_state_tran_cond_type", "caption":"Condition", "lov": { "{{code_sys}}": "wkflow_def_state_tran_cond_type" }},
19
+ {"name":"wkflow_def_state_tran_cond_param", "caption":"Condition Param", "control": "textbox_VL", "hints": { "caption": "Tasks", "separator": " " }, "lov": { "sql": "select task_def_code code_val, task_def_name code_txt from {schema}.task_def where task_def_sts='ACTIVE'" }},
20
+
21
+ {"name":"wkflow_def_state_tran_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"wkflow_def_state_tran_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_euser)"},
23
+ {"name":"wkflow_def_state_tran_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
24
+ {"name":"wkflow_def_state_tran_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_muser)"},
25
+ {"name":"wkflow_def_state_tran_snotes", "caption":"System Notes", "control": "textbox_VL"},
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "WkflowDef_State_Tran_Listing":{
3
+ "layout": "grid",
4
+ "title": "Transitions",
5
+ "table": "wkflow_def_state_tran",
6
+ "caption": ["","Transition","Transitions"],
7
+ "actions": "B",
8
+ "sort": ["^wkflow_def_state_tran_seq","^wkflow_def_state_tran_id"],
9
+ "buttons":[
10
+ { "name":"addWkflowDefStateTran", "link":"insert:WkflowDef_State_Tran","icon":"add","text":"Add Transition" },
11
+ ],
12
+ "fields": [
13
+ {"name":"wkflow_def_state_id_src", "caption":"State Src ID", "control": "hidden", "foreignkey": true},
14
+ {"name":"wkflow_def_state_tran_id", "caption":"ID"},
15
+ {"name":"wkflow_def_state_tran_seq", "caption":"Seq"},
16
+ {"name":"wkflow_def_state_tran_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_tran_sts" }},
17
+ {"name":"wkflow_def_state_id_dst", "caption":"Destination", "link": "update:WkflowDef_State_Tran", "lov": { "sqlselect": "(select wkflow_def_state_name from {schema}.wkflow_def_state wds where wds.wkflow_def_state_id=wkflow_def_state_id_dst and wds.wkflow_def_state_sts='ACTIVE')" }},
18
+ {"name":"wkflow_def_state_tran_cond_type", "caption":"Condition", "lov": { "{{code_sys}}": "wkflow_def_state_tran_cond_type" }},
19
+ {"name":"wkflow_def_state_tran_cond_param", "caption":"Condition Param"},
20
+ {"name":"wkflow_def_state_tran_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
21
+ {"name":"wkflow_def_state_tran_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_euser)"},
22
+ {"name":"wkflow_def_state_tran_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
23
+ {"name":"wkflow_def_state_tran_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_muser)"},
24
+ {"name":"wkflow_def_state_tran_snotes", "caption":"System Notes"},
25
+ ]
26
+ }
27
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "WkflowDef_Tabs":{
3
+ "layout": "form",
4
+ "title": "Workflow Definition: <#=data.wkflow_def_name#>",
5
+ "table": "wkflow_def",
6
+ "actions": "B",
7
+ "caption": [ 0, "Workflow Definition", "Workflow Definitions" ],
8
+ "tabpos":"bottom",
9
+ "tabs":[
10
+ {"name":"General","target":"WkflowDef"},
11
+ {"name":"States","target":"WkflowDef_State_Listing"},
12
+ {"name":"Start Transitions","target":"WkflowDef_Tran_Start_Listing"},
13
+ ],
14
+ "popup":[1300,700],
15
+ "fields":[
16
+ {"name":"wkflow_def_id","type":"bigint","key":true,"control":"hidden"},
17
+ {"name":"wkflow_def_name","control":"hidden"},
18
+ ]
19
+ },
20
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "WkflowDef_Tran_Start": {
3
+ "layout":"form",
4
+ "table":"wkflow_def_state_tran",
5
+ "title":"Start Transition",
6
+ "actions":"BIUD",
7
+ "caption": ["","Start Transition","Start Transitions"],
8
+ "onecolumn":true,
9
+ "popup":[900,500],
10
+ "fields": [
11
+ {"name":"wkflow_def_id", "caption":"Workflow ID", "control": "hidden", "foreignkey": true, "actions": "B", "sqlselect": "(select wkflow_def_id from {schema}.wkflow_def_state wds where wds.wkflow_def_state_id = wkflow_def_state_id_dst)"},
12
+ {"name":"wkflow_def_state_tran_id", "caption":"ID"},
13
+ {"name":"wkflow_def_state_tran_seq", "caption":"Seq #", "control": "textbox_VS"},
14
+ {"name":"wkflow_def_state_tran_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_tran_sts" }, "default": "ACTIVE"},
15
+
16
+ {"name":"wkflow_def_state_id_dst", "caption":"To", "lov": { "sql": "select wkflow_def_state_id code_val, wkflow_def_state_name code_txt from {schema}.wkflow_def_state where wkflow_def_id=@wkflow_def_id and wkflow_def_state_sts='ACTIVE' order by wkflow_def_state_name" }},
17
+
18
+ {"name":"wkflow_def_state_tran_cond_type", "caption":"Condition", "lov": { "sql": "select code_val, code_txt from {schema}.code_wkflow_def_state_tran_cond_type where code_code = 'START' and (code_end_dt is null or code_end_dt > jsharmony.my_now())" }},
19
+ {"name":"wkflow_def_state_tran_cond_param", "caption":"Condition Param", "control": "textarea_M", "hints": { "caption": "Tasks", "separator": " " }, "lov": { "sql": "select task_def_code code_val, task_def_name code_txt from {schema}.task_def where task_def_sts='ACTIVE'" }},
20
+
21
+ {"name":"wkflow_def_state_tran_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"wkflow_def_state_tran_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_euser)"},
23
+ {"name":"wkflow_def_state_tran_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
24
+ {"name":"wkflow_def_state_tran_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_muser)"},
25
+ {"name":"wkflow_def_state_tran_snotes", "caption":"System Notes", "control": "textbox_VL"},
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "WkflowDef_Tran_Start_Listing":{
3
+ "layout": "grid",
4
+ "title": "Start Transitions",
5
+ "table": "wkflow_def_state_tran",
6
+ "caption": ["","Start Transition","Start Transitions"],
7
+ "actions": "B",
8
+ "sort": ["^wkflow_def_state_tran_seq","^wkflow_def_state_tran_id"],
9
+ "buttons":[
10
+ { "name":"addWkflowDefStateTran", "link":"insert:WkflowDef_Tran_Start&wkflow_def_id","icon":"add","text":"Add Start Transition" },
11
+ ],
12
+ "sqlselect": [
13
+ "select %%%SQLFIELDS%%%",
14
+ " from {schema}.wkflow_def_state_tran",
15
+ " inner join {schema}.wkflow_def_state wds on wds.wkflow_def_state_id = wkflow_def_state_tran.wkflow_def_state_id_dst",
16
+ "%%%SQLSUFFIX%%%",
17
+ ],
18
+ "sqlwhere": "wkflow_def_state_id_src is null",
19
+ "fields": [
20
+ {"name":"wkflow_def_id", "caption":"Workflow ID", "control": "hidden", "foreignkey": true},
21
+ {"name":"wkflow_def_state_tran_id", "caption":"ID"},
22
+ {"name":"wkflow_def_state_tran_seq", "caption":"Seq"},
23
+ {"name":"wkflow_def_state_tran_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_def_state_tran_sts" }},
24
+ {"name":"wkflow_def_state_id_dst", "caption":"Destination", "link": "update:WkflowDef_Tran_Start", "lov": { "sqlselect": "(select wkflow_def_state_name from {schema}.wkflow_def_state wds where wds.wkflow_def_state_id=wkflow_def_state_id_dst and wds.wkflow_def_state_sts='ACTIVE')" }},
25
+ {"name":"wkflow_def_state_tran_cond_type", "caption":"Condition", "lov": { "{{code_sys}}": "wkflow_def_state_tran_cond_type" }},
26
+ {"name":"wkflow_def_state_tran_cond_param", "caption":"Condition Param"},
27
+ {"name":"wkflow_def_state_tran_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
28
+ {"name":"wkflow_def_state_tran_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_euser)"},
29
+ {"name":"wkflow_def_state_tran_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
30
+ {"name":"wkflow_def_state_tran_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_tran_muser)"},
31
+ {"name":"wkflow_def_state_tran_snotes", "caption":"System Notes"},
32
+ ]
33
+ }
34
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "Task": {
3
+ "layout":"form",
4
+ "table":"task",
5
+ "title":"Task",
6
+ "actions":"BIUD",
7
+ "caption": ["","Task","Tasks"],
8
+ "onecolumn":true,
9
+ "popup":[1300,700],
10
+ "oninsert": "XExt.navTo(jsh._BASEURL+xmodel.namespace+'Task_Tabs?action=update&task_id='+urlkeys.task_id); jsh.XPage.RefreshParent(); return false;",
11
+ "fields": [
12
+ {"name":"task_id", "caption":"ID"},
13
+ {"name":"task_sts", "caption":"Status", "lov": { "{{code_sys}}": "task_sts" }, "default": "ACTIVE"},
14
+ {"name":"task_sts_tstmp", "caption":"Updated", "actions": "B","format":["date","MM/DD/YYYY h:mm A"],"nl":false},
15
+ {"name":"task_sts_user", "caption":"By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(task_sts_user)","nl":false},
16
+ {"name":"wkflow_id", "caption":"Workflow", "actions": "BU", "lov": { "sqlselect": "select wkflow_def_name from {schema}.wkflow_def inner join {schema}.wkflow on wkflow.wkflow_def_id=wkflow_def.wkflow_def_id and wkflow.wkflow_id = task.wkflow_id where wkflow_def_sts='ACTIVE'" }},
17
+ {"name":"task_def_id", "caption":"Task", "lov": { "sql": "select task_def_id code_val, task_def_name code_txt from {schema}.task_def where task_def_sts='ACTIVE'" }},
18
+ {"name":"task_due", "caption":"Due", "control":"date"},
19
+ {"name":"task_unotes", "caption":"Notes"},
20
+ {"name":"task_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
21
+ {"name":"task_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(task_euser)"},
22
+ {"name":"task_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
23
+ {"name":"task_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(task_muser)"},
24
+ {"name":"task_snotes", "caption":"System Notes", "control": "textbox_VL"},
25
+ ]
26
+ }
27
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "Task_Listing":{
3
+ "layout": "grid",
4
+ "title": "Tasks",
5
+ "table": "task",
6
+ "menu": "Wkflow/Task_Listing",
7
+ "caption": ["","Task","Tasks"],
8
+ "actions": "B",
9
+ "sort": ["vtask_id"],
10
+ "buttons":[
11
+ { "name":"addTask", "link":"insert:Task","icon":"add","text":"Add Task" },
12
+ ],
13
+ "fields": [
14
+ {"name":"task_id", "caption":"ID", "link": "update:Task_Tabs"},
15
+ {"name":"task_def_name", "caption":"Task Name", "link": "update:Task_Tabs", "sqlselect": "(select task_def_name from {schema}.task_def where task_def.task_def_id = task.task_def_id)"},
16
+ {"name":"task_sts", "caption":"Status", "lov": { "{{code_sys}}": "task_sts" }},
17
+ {"name":"task_due", "caption":"Due","format":["date","MM/DD/YYYY"]},
18
+ {"name":"wkflow_id", "caption":"Workflow ID", "link": "update:Wkflow_Tabs"},
19
+ {"name":"wkflow_def_name", "caption":"Workflow", "link": "update:Wkflow_Tabs", "sqlselect": "(select wkflow_def_name from {schema}.wkflow_def inner join {schema}.wkflow on wkflow.wkflow_def_id = wkflow_def.wkflow_def_id where wkflow.wkflow_id = task.wkflow_id)"},
20
+ {"name":"task_unotes", "caption":"User Notes"},
21
+ {"name":"task_etstmp", "caption":"Entered","format":["date","MM/DD/YYYY h:mm A"]},
22
+ {"name":"task_euser", "caption":"Entered By", "sqlselect": "jsharmony.my_db_user_fmt(task_euser)"},
23
+ {"name":"task_mtstmp", "caption":"Modified","format":["date","MM/DD/YYYY h:mm A"]},
24
+ {"name":"task_muser", "caption":"Modified By", "sqlselect": "jsharmony.my_db_user_fmt(task_muser)"},
25
+ {"name":"task_snotes", "caption":"System Notes"},
26
+ ]
27
+ },
28
+ "Task_Listing_MyCurrent": {
29
+ "inherits": "Task_Listing",
30
+ "title": "My Current Tasks",
31
+ "menu": "Wkflow/Task_Listing_MyCurrent",
32
+ "sqlwhere": "task_sts = 'ACTIVE' and task_def_id in (select task_def_id from jsharmony.sys_user_func suf inner join {schema}.task_def_sys_func tdsf on tdsf.sys_func_name = suf.sys_func_name where sys_user_id=jsharmony.my_sys_user_id())",
33
+ },
34
+ "Task_Listing_MyHistory": {
35
+ "inherits": "Task_Listing",
36
+ "title": "Task History",
37
+ "menu": "Wkflow/Task_Listing_MyHistory",
38
+ "sqlwhere": "task_sts <> 'ACTIVE' and task_def_id in (select task_def_id from jsharmony.sys_user_func suf inner join {schema}.task_def_sys_func tdsf on tdsf.sys_func_name = suf.sys_func_name where sys_user_id=jsharmony.my_sys_user_id())",
39
+ },
40
+ "Task_Listing_AllUsers": {
41
+ "inherits": "Task_Listing",
42
+ "title": "All User Tasks",
43
+ "menu": "Wkflow/Task_Listing_AllUsers",
44
+ },
45
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "Task_Tabs":{
3
+ "layout": "form",
4
+ "title": "Task: <#=data.task_def_name#>",
5
+ "table": "task",
6
+ "actions": "B",
7
+ "caption": [ 0, "Task", "Tasks" ],
8
+ "tabpos":"bottom",
9
+ "tabs":[
10
+ {"name":"General","target":"Task"},
11
+ ],
12
+ "popup":[1300,700],
13
+ "fields":[
14
+ {"name":"task_id","type":"bigint","key":true,"control":"hidden"},
15
+ {"name":"task_def_name","control":"hidden","sqlselect":"(select task_def_name from {schema}.task_def where task_def.task_def_id = task.task_def_id)"},
16
+ ]
17
+ },
18
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "Wkflow": {
3
+ "layout":"form",
4
+ "table":"wkflow",
5
+ "title":"Workflow",
6
+ "actions":"BIUD",
7
+ "caption": ["","Workflow","Workflows"],
8
+ "onecolumn":true,
9
+ "popup":[1300,700],
10
+ "oninsert": "XExt.navTo(jsh._BASEURL+xmodel.namespace+'Wkflow_Tabs?action=update&wkflow_id='+urlkeys.wkflow_id); jsh.XPage.RefreshParent(); return false;",
11
+ "fields": [
12
+ {"name":"wkflow_id", "caption":"ID"},
13
+ {"name":"wkflow_sts", "caption":"Status", "lov": { "{{code_sys}}": "wkflow_sts" }, "default": "ACTIVE"},
14
+ {"name":"wkflow_sts_tstmp", "caption":"Updated", "actions": "B","format":["date","MM/DD/YYYY h:mm A"],"nl":false},
15
+ {"name":"wkflow_sts_user", "caption":"By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_sts_user)","nl":false},
16
+
17
+ {"name":"wkflow_def_id", "caption":"Workflow", "actions": "BI", "lov": { "sql": "select wkflow_def_id code_val, wkflow_def_name code_txt from {schema}.wkflow_def where wkflow_def_sts='ACTIVE'" }},
18
+
19
+ {"name":"wkflow_def_state_id", "caption": "State", "lov": { "sql": "select wkflow_def_state_id code_val, wkflow_def_state_name code_txt from {schema}.wkflow_def_state where wkflow_def_state_sts='ACTIVE'" }},
20
+ {"name":"wkflow_def_state_id_tstmp", "caption":"Updated", "actions": "B","format":["date","MM/DD/YYYY h:mm A"],"nl":false},
21
+ {"name":"wkflow_def_state_id_user", "caption":"By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_def_state_id_user)","nl":false},
22
+
23
+ {"name":"wkflow_etstmp", "caption":"Entered", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
24
+ {"name":"wkflow_euser", "caption":"Entered By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_euser)"},
25
+ {"name":"wkflow_mtstmp", "caption":"Modified", "actions": "B","format":["date","MM/DD/YYYY h:mm A"]},
26
+ {"name":"wkflow_muser", "caption":"Modified By", "actions": "B", "sqlselect": "jsharmony.my_db_user_fmt(wkflow_muser)"},
27
+ {"name":"wkflow_snotes", "caption":"System Notes", "control": "textbox_VL"},
28
+
29
+ ]
30
+ }
31
+ }