Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

conditions.js 21KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Automation;
  6. (function (Automation) {
  7. let Components;
  8. (function (Components) {
  9. class Conditions {
  10. getConditions() {
  11. let html = `<form id="frmUnibase_Condition" data-validate="parsley" data-isdynamic="false">
  12. <div class="row">
  13. <label class="col-sm-4">Attribute Name</label>
  14. <label class="col-sm-4">Condition</label>
  15. <label class="col-sm-4">Value</label>
  16. </div>
  17. <div class="row">
  18. <div class="col-sm-4 mt-5">
  19. <select id="ddl_Action_PropertyName" class="form-control value-control" data-isdynamic="true">
  20. <option value="">Select</option>
  21. </select>
  22. <input type="hidden" id="hf_Action_PropertyName">
  23. </div>
  24. <div class="col-sm-4 mt-5">
  25. <select id="ddl_Action_Operator" class="form-control value-control" data-isdynamic="true">
  26. <option value="0">Select</option>
  27. <option value="1">Equals</option>
  28. <option value="2">NotEquals</option>
  29. <option value="3">EqualsColumn</option>
  30. <option value="4">NotEqualsColumn</option>
  31. <option value="5">GreaterThan</option>
  32. <option value="6">GreaterThanOrEquals</option>
  33. <option value="7">LessThan</option>
  34. <option value="8">LessThanOrEquals</option>
  35. <option value="9">GreaterThanColumn</option>
  36. <option value="10">GreaterThanOrEqualsColumn</option>
  37. <option value="11">LessThanColumn</option>
  38. <option value="12">LessThanOrEqualsColumn</option>
  39. <option value="13">Empty</option>
  40. <option value="14">NotEmpty</option>
  41. <option value="15">Contains</option>
  42. <option value="16">DoesNotContains</option>
  43. <option value="17">StartsWith</option>
  44. <option value="18">EndsWith</option>
  45. <option value="19">In</option>
  46. <option value="20">NotIn</option>
  47. <option value="21">Between</option>
  48. <option value="22">NotBetween</option>
  49. <option value="23">Date</option>
  50. </select>
  51. <input type="hidden" id="hf_Action_Operator">
  52. </div>
  53. <div class="col-sm-3 mt-5">
  54. <input type="text" id="txt_Action_Value" class="form-control value-control floating-label-control" placeholder="Enter Value"/>
  55. <input type="hidden" id="hf_Action_Value" />
  56. </div>
  57. <div class="col-sm-1 pull-right mt-5">
  58. <span class="pull-right">
  59. <a id="" title="Create" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().AddActionCondition();">
  60. <i class="fa fa-plus"></i>
  61. </a>
  62. </span>
  63. </div>
  64. </div>
  65. <div class="row mt-10" id="AddActionCondition">
  66. </div>
  67. </form>`;
  68. return html;
  69. }
  70. AddActionCondition() {
  71. Unibase.Platform.Automation.Components.Conditions.conflag = 0;
  72. var html = "";
  73. if (!Unibase.Platform.Automation.Components.Conditions.concount) {
  74. Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.conlen + 1;
  75. }
  76. else {
  77. Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.concount;
  78. }
  79. var attributeId = $('#ddl_Action_PropertyName :selected').val();
  80. var attributeName = $('#ddl_Action_PropertyName :selected').text();
  81. var conditionId = $('#ddl_Action_Operator :selected').val();
  82. var conditionName = $('#ddl_Action_Operator :selected').text();
  83. var value = $("#txt_Action_Value").val();
  84. var RuleConditionId = 0;
  85. html += '<div class="ActionConditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '">' +
  86. '<label id="PropertyName_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + $("#ddl_Action_PropertyName :selected").text() + '</label>' +
  87. '<label id="Operator_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + $("#ddl_Action_Operator :selected").text() + '</label>' +
  88. '<label id="OperatorValue_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + $("#ddl_Action_Operator :selected").val() + '</label>' +
  89. '<label id="Value_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-3">' + $("#txt_Action_Value").val() + '</label>' +
  90. '<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + RuleConditionId + '</label>' +
  91. '<span class="pull-right">' +
  92. '<a id="btnEdit_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().EditRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
  93. ' <i class="fa fa-pencil mr-5"></i>' +
  94. '</a>' +
  95. '<a id="btn_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
  96. ' <i class="fa fa-trash text-danger"></i>' +
  97. '</a>' +
  98. '</span>' +
  99. '<div>';
  100. if ($("#ddl_Action_PropertyName").val() != "0" && $("#ddl_Action_Operator").val() != "0" && $("#txt_Action_Value").val()) {
  101. if (Unibase.Platform.Automation.Components.Conditions.conlen != 1) {
  102. for (var i = 0; i < Unibase.Platform.Automation.Components.Conditions.conditionArray.length; i++) {
  103. if ($("#ddl_Action_PropertyName :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[i].AttributeName && $("#ddl_Action_Operator :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[i].ConditionName && $("#txt_Action_Value").val() == Unibase.Platform.Automation.Components.Conditions.conditionArray[i].Value) {
  104. Unibase.Platform.Automation.Components.Conditions.conflag = 1;
  105. Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.conlen - 1;
  106. MessageHelper.Instance().showError("Already Exists", "Unibase_Actions_ValidationSummary");
  107. return false;
  108. }
  109. }
  110. }
  111. if (Unibase.Platform.Automation.Components.Conditions.conflag == 0) {
  112. $("#AddActionCondition").append(html);
  113. Unibase.Platform.Automation.Components.Conditions.concount = 0;
  114. $("#ddl_Action_PropertyName").val("0");
  115. $("#ddl_Action_Operator").val("0");
  116. $("#txt_Action_Value").val("");
  117. Unibase.Platform.Automation.Components.Conditions.conflag = 0;
  118. Unibase.Platform.Automation.Components.Conditions.conditionArray.push({ AttributeName: attributeName, ConditionName: conditionName, Value: value });
  119. }
  120. }
  121. else {
  122. Unibase.Platform.Automation.Components.Conditions.conlen = Unibase.Platform.Automation.Components.Conditions.conlen - 1;
  123. MessageHelper.Instance().showError("Required fields are not provided", "Unibase_Actions_ValidationSummary");
  124. }
  125. }
  126. EditRow(conlen) {
  127. $("#ddl_Action_PropertyName").val($("#PropertyName_" + conlen + "").text());
  128. $("#ddl_Action_Operator").val($("#OperatorValue_" + conlen + "").text());
  129. $("#txt_Action_Value").val($("#Value_" + conlen + "").text());
  130. $("#hfActionConditionId").val($("#hf_RuleConditionId_" + conlen + "").text());
  131. $('#row_' + conlen + '').remove();
  132. Unibase.Platform.Automation.Components.Conditions.concount = conlen;
  133. for (var key in Unibase.Platform.Automation.Components.Conditions.conditionArray) {
  134. if ($("#ddl_Action_PropertyName :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[key].AttributeName && $("#ddl_Action_Operator :selected").text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[key].ConditionName && $("#txt_Action_Value").val() == Unibase.Platform.Automation.Components.Conditions.conditionArray[key].Value) {
  135. Unibase.Platform.Automation.Components.Conditions.conditionArray.splice(Number(key), 1);
  136. break;
  137. }
  138. }
  139. }
  140. DeleteRow(conlen, RuleConditionId) {
  141. for (var row in Unibase.Platform.Automation.Components.Conditions.conditionArray) {
  142. if ($("#PropertyName_" + Unibase.Platform.Automation.Components.Conditions.conlen).text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[row].AttributeName && $("#Operator_" + Unibase.Platform.Automation.Components.Conditions.conlen).text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[row].ConditionName && $("#Value_" + Unibase.Platform.Automation.Components.Conditions.conlen).text() == Unibase.Platform.Automation.Components.Conditions.conditionArray[row].Value) {
  143. break;
  144. }
  145. }
  146. $('#row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '').remove();
  147. }
  148. AddConditionArray() {
  149. let myarray = [];
  150. $(".ActionConditionrow").each(function () {
  151. let conditionobj = {};
  152. let id = $(this).find(".EventKeys");
  153. let len = (id.prevObject[0].id).split('_');
  154. len = len[1];
  155. conditionobj.RuleConditionId = Number($(this).find("#hf_RuleConditionId_" + len + "").text());
  156. conditionobj.RuleId = 0;
  157. conditionobj.PropertyName = $(this).find("#PropertyName_" + len + "").text();
  158. conditionobj.OperatorType = $(this).find("#Operator_" + len + "").text();
  159. conditionobj.FromValue = $(this).find("#Value_" + len + "").text();
  160. conditionobj.ToValue = $(this).find("#Value_" + len + "").text();
  161. conditionobj.RuleActionId = 0;
  162. myarray.push(conditionobj);
  163. });
  164. return myarray;
  165. }
  166. LoadConditions(ruleid, ruleactionid) {
  167. Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
  168. Unibase.Platform.Automation.Components.Conditions.conlen = 0;
  169. Unibase.Platform.Automation.Managers.RuleManager.Instance().getRuleActionConditions(ruleid, ruleactionid).then(function (response) {
  170. for (var i = 0; i < response.length; i++) {
  171. var html = "";
  172. let operatortype = Unibase.Platform.Automation.Enums.ExpOp[response[i].OperatorId];
  173. Unibase.Platform.Automation.Components.Conditions.conlen = i + 1;
  174. html += '<div class="ActionConditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '">' +
  175. '<label id="PropertyName_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + response[i].PropertyName + '</label>' +
  176. '<label id="Operator_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + operatortype + '</label>' +
  177. '<label id="OperatorValue_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + response[i].OperatorId + '</label>' +
  178. '<label id="Value_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-3">' + response[i].FromValue + '</label>' +
  179. '<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + response[i].RuleConditionId + '</label>' +
  180. '<span class="pull-right">' +
  181. '<a id="btnEdit_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().EditRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
  182. ' <i class="fa fa-pencil mr-5"></i>' +
  183. '</a>' +
  184. '<a id="btn_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ',' + response[i].RuleConditionId + ');">' +
  185. ' <i class="fa fa-trash text-danger"></i>' +
  186. '</a>' +
  187. '</span>' +
  188. '<div>';
  189. Unibase.Platform.Automation.Components.Conditions.conditionArray.push({ AttributeName: response[i].PropertyName, ConditionName: response[i].Operatortype, Value: response[i].FromValue });
  190. $("#AddActionCondition").append(html);
  191. Unibase.Platform.Automation.Components.Conditions.isCreate = 1;
  192. }
  193. });
  194. }
  195. LoadConditionProperties(ruleproviderid) {
  196. Unibase.Platform.Automation.Managers.RuleManager.Instance().getTokens(ruleproviderid).then(function (response) {
  197. let cmbConditionProperties = document.getElementById('ddl_Action_PropertyName');
  198. $('#ddl_Action_PropertyName').empty();
  199. var defaultOpt1 = document.createElement("option");
  200. defaultOpt1.text = "Select";
  201. defaultOpt1.value = "0";
  202. cmbConditionProperties.appendChild(defaultOpt1);
  203. for (let i = 0; i <= response.length - 1; i++) {
  204. var opt = document.createElement("option");
  205. opt.text = response[i];
  206. opt.value = response[i];
  207. cmbConditionProperties.appendChild(opt);
  208. }
  209. });
  210. }
  211. LoadConditionsData(ConditionsData) {
  212. if (ConditionsData.length != 0) {
  213. Unibase.Platform.Automation.Components.Conditions.conditionArray = [];
  214. Unibase.Platform.Automation.Components.Conditions.conlen = 0;
  215. for (var i = 0; i < ConditionsData.length; i++) {
  216. var html = "";
  217. let operatortype = Unibase.Platform.Automation.Enums.ExpOp[ConditionsData[i].OperatorType];
  218. Unibase.Platform.Automation.Components.Conditions.conlen = i + 1;
  219. html += '<div class="ActionConditionrow col-sm-12" id="row_' + Unibase.Platform.Automation.Components.Conditions.conlen + '">' +
  220. '<label id="PropertyName_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + ConditionsData[i].PropertyName + '</label>' +
  221. '<label id="Operator_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-4">' + operatortype + '</label>' +
  222. '<label id="OperatorValue_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + ConditionsData[i].OperatorType + '</label>' +
  223. '<label id="Value_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="col-sm-3">' + ConditionsData[i].FromValue + '</label>' +
  224. '<label id="hf_RuleConditionId_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" class="hidden">' + ConditionsData[i].RuleConditionId + '</label>' +
  225. '<span class="pull-right">' +
  226. '<a id="btnEdit_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().EditRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ');">' +
  227. ' <i class="fa fa-pencil mr-5"></i>' +
  228. '</a>' +
  229. '<a id="btn_' + Unibase.Platform.Automation.Components.Conditions.conlen + '" onclick="Unibase.Platform.Automation.Components.Conditions.Instance().DeleteRow(' + Unibase.Platform.Automation.Components.Conditions.conlen + ',' + ConditionsData[i].RuleConditionId + ');">' +
  230. ' <i class="fa fa-trash text-danger"></i>' +
  231. '</a>' +
  232. '</span>' +
  233. '<div>';
  234. Unibase.Platform.Automation.Components.Conditions.conditionArray.push({ AttributeName: ConditionsData[i].PropertyName, ConditionName: ConditionsData[i].Operatortype, Value: ConditionsData[i].FromValue });
  235. $("#AddActionCondition").append(html);
  236. Unibase.Platform.Automation.Components.Conditions.isCreate = 1;
  237. }
  238. }
  239. }
  240. static Instance() {
  241. if (this.instance === undefined) {
  242. this.instance = new Conditions();
  243. }
  244. return this.instance;
  245. }
  246. }
  247. Conditions.conlen = 0;
  248. Conditions.conditionArray = [];
  249. Conditions.isCreate = 0;
  250. Conditions.conflag = 0;
  251. Components.Conditions = Conditions;
  252. })(Components = Automation.Components || (Automation.Components = {}));
  253. })(Automation = Platform.Automation || (Platform.Automation = {}));
  254. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  255. })(Unibase || (Unibase = {}));