Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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 = {}));