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.

numberbox.component.js 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. var Unibase;
  2. (function (Unibase) {
  3. let Forms;
  4. (function (Forms) {
  5. let Controls;
  6. (function (Controls) {
  7. class NumberBox {
  8. init(formpropertyid, prop, callback) {
  9. var instance = NumberBox.Instance();
  10. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  11. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  12. var formid = $("#number_" + prop.UniqueId).parents('.formValidate').attr('id');
  13. var errormsg = $("#" + formid).find('.bizgaze_FormErrorMessages').attr('id');
  14. $("#number_" + prop.UniqueId).keyup(function (e) {
  15. if (e.which == 8 || e.which == 46) {
  16. let numVal = $("#number_" + prop.UniqueId).val().toString();
  17. if (numVal.startsWith('.') == false) {
  18. return true;
  19. }
  20. }
  21. if (e.which === 9) {
  22. return true;
  23. }
  24. if (prop.DataTypeId == Number(Unibase.Platform.Analytics.Reports.Enums.DataType.decimal)) {
  25. var regex = /^[0-9]+\.?[0-9]*$/;
  26. var result = regex.test($("#number_" + prop.UniqueId).val().toString());
  27. if (result == false) {
  28. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Allow only Decimal Values");
  29. $("#number_" + prop.UniqueId).val('');
  30. return false;
  31. }
  32. }
  33. else if (prop.DataTypeId == Number(Unibase.Platform.Analytics.Reports.Enums.DataType.int64) || prop.DataTypeId == Number(Unibase.Platform.Analytics.Reports.Enums.DataType.int32)) {
  34. var regex = /^[0-9]*$/;
  35. var result = regex.test($("#number_" + prop.UniqueId).val().toString());
  36. if (result == false) {
  37. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Numbers only Allowed");
  38. $("#number_" + prop.UniqueId).val('');
  39. return false;
  40. }
  41. }
  42. });
  43. if (callback != null)
  44. callback();
  45. }
  46. loadControl(containerid, prop) {
  47. var regExpr = "";
  48. var ErrMsg = "";
  49. var validationlist = prop.Validations;
  50. if (validationlist != null) {
  51. for (var i = 0; i < validationlist.length; i++) {
  52. regExpr += validationlist[i].RegularExp + '||';
  53. ErrMsg += validationlist[i].ErrorMessage + '||';
  54. }
  55. }
  56. var Isrequired = prop.IsRequired != true ? 'hidden' : '';
  57. var required = prop.IsRequired != true ? '' : 'required';
  58. var reqMark = prop.IsRequired != true ? '' : '*';
  59. var CurrentStageId = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageId").val();
  60. if (prop.StagesForRequired != null) {
  61. var StagesForRequired = prop.StagesForRequired.split('|');
  62. Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden';
  63. required = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : '';
  64. reqMark = StagesForRequired.find(x => x == CurrentStageId) ? '*' : '';
  65. }
  66. const { helpTooltipHtml, helpTextHtml, helpClass } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop);
  67. var html = `<div id="div_${prop.DocPropertyName}" class="floating-label-form-group ${helpClass}"><label for= "lbl" id="lbl_${prop.FormPropertyId}">${helpTooltipHtml}<span class="label-name">${prop.LabelName}</span><span class="text-danger ${Isrequired}" id="spnIsRequired_${prop.FormPropertyId}"> *</span></label>
  68. <input type="text" id="number_${prop.UniqueId}" class="type-control creditnumber form-control value-control ${required} floating-label-control number_${prop.DocPropertyName}" data-isdefault="${prop.IsDefault}" data-propdoctypename="${prop.DocTypeName}" data-required="${prop.IsRequired}" data-regularexp="${regExpr}" data-validatemsg="${ErrMsg}" placeholder = "${prop.LabelName} ${reqMark}" data-placeholder="${prop.Placeholder}" data-label="${prop.LabelName} ${reqMark}" value="" />
  69. <input type="hidden" id="hfId" value=""><label for="Validation" id="lblValidation_${prop.DocPropertyName}"></label><input type="hidden" id="hfFormPropertyId" value="" />${helpTextHtml}</div>`;
  70. $("#" + containerid).html(html);
  71. eval('_floatingLabelHelper.init()');
  72. }
  73. numberBoxValue(uniqueId, isRequired) {
  74. var currentValue = $("#number_" + uniqueId).val();
  75. if (isRequired) {
  76. if (currentValue == "0") {
  77. return "";
  78. }
  79. else {
  80. return currentValue;
  81. }
  82. }
  83. else {
  84. if (currentValue == "" || currentValue == undefined) {
  85. return "0";
  86. }
  87. else {
  88. return currentValue;
  89. }
  90. }
  91. }
  92. loadControlSettings(controlsettingjson, formpropertyid) {
  93. return null;
  94. }
  95. loadPropertySettings(propertysettings, formpropertyid) {
  96. if (propertysettings != null) {
  97. for (var i = 0; i < propertysettings.length; i++) {
  98. var data = propertysettings[i];
  99. if (data.ControlPropertyName == "DefaultValue" && data.ControlPropertyValue != "") {
  100. $("#number_" + formpropertyid).val(data.ControlPropertyValue);
  101. $("#number_" + formpropertyid).addClass("floating-label-form-group-with-value");
  102. }
  103. }
  104. }
  105. }
  106. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  107. $("#number_" + formpropertyid).val(propval);
  108. }
  109. static Instance() {
  110. if (this.instance === undefined) {
  111. this.instance = new NumberBox();
  112. }
  113. return this.instance;
  114. }
  115. }
  116. Controls.NumberBox = NumberBox;
  117. })(Controls = Forms.Controls || (Forms.Controls = {}));
  118. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  119. })(Unibase || (Unibase = {}));