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.

checkbox.settings.js 9.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. var Unibase;
  2. (function (Unibase) {
  3. let Forms;
  4. (function (Forms) {
  5. let Controls;
  6. (function (Controls) {
  7. class CheckBox_Settings {
  8. constructor() {
  9. this.Id = 0;
  10. }
  11. loadControlPropertiesHtml(controlpropList, container) {
  12. return ``;
  13. }
  14. bindPropertySettings(prop) {
  15. var propertySettings = prop.PropertySettings;
  16. return "";
  17. }
  18. savePropertySettings(prop) {
  19. var propertySettings = prop.PropertySettings;
  20. return "";
  21. }
  22. loadSettingHtml(Container) {
  23. var html = '<section class="card"><div class="b-b bg-white card-header"><strong class="text-dark Title" id="cpheader">Check Box Setting</strong></div><div class="card-body">' +
  24. '<div class="row"><div class="row col-sm-12"><div id="divChkboxList" class="mt-20 col-sm-6"><div id="divIsmultiple" class=""><label for="frmchkIsDefault" style="margin-top:5px;color:grey"><b>Is Multiple</b></label><label id="lblIsmultiple" style="color:grey" class="switch m-t form-inline pull-right">' +
  25. '<input type="hidden" id="checkboxcolumnId"><input id = "chkIsmultiple" data - group="chkIsmultiple" type = "checkbox" onchange = "Unibase.Forms.Controls.CheckBox_Settings.Instance().IsCheck()" > <span></span></label > </div></div>' +
  26. '<div id="divChkboxswitch" class="mt-20 col-sm-6"><div id="divIsswitch" class=""><label for="frmchkIsswitch" style="margin-top:5px;color:grey"><b>Is Switch</b></label><label id="lblIsswitch" style="color:grey" class="switch m-t form-inline pull-right">' +
  27. '<input type="hidden" id="checkbox_switch"><input id = "chkIsswitch" data - group="chkIsswitch" type = "checkbox"> <span></span></label > </div></div>' +
  28. '<div class="col-sm-12 hidden" id ="divAddOption"><div class="row"><div class="col-sm-12" id="divAddOption"><ul class="list-group list-group-flush radioOptions font-14 m-t-n-md ui-sortable" id="radioOptions"></ul></div></div><div class="row checkbox_addrow"><div class="col-sm-6" id="divRadioList">' +
  29. '<div class="divRadioList"><a href="javascript:" class="btn btn-primary" onclick="Unibase.Platform.Forms.Components.ControlEditor.Instance().AddRadioOptions(0)">Add New Check Box</a>' +
  30. '</div></div></div></div></div></section>';
  31. $(Container).html(html);
  32. if ($("#loadDatatypes option:selected").text() == "String" || $("#loadDatatypes option:selected").text() == "Text") {
  33. $('#chkIsmultiple').prop('checked', true);
  34. $('#chkIsmultiple').addClass('hidden');
  35. $("#divChkboxList").addClass('hidden');
  36. $("#divAddOption").removeClass('hidden');
  37. $(".checkbox_addrow").removeClass("hidden");
  38. Unibase.Platform.Forms.Components.ControlEditor.Instance().AddRadioOptions(0, '', '', '', '', '', '', '');
  39. }
  40. else {
  41. $('#chkIsmultiple').prop('checked', false);
  42. $("#divAddOption").addClass('hidden');
  43. $("#divChkboxList").addClass('hidden');
  44. $(".checkbox_addrow").addClass("hidden");
  45. }
  46. }
  47. bindControlData(controldatajson) {
  48. $("#divAddOption").removeClass('hidden');
  49. if (this.isChecked == true) {
  50. $('#chkIsmultiple').prop('checked', true);
  51. }
  52. else {
  53. $('#chkIsmultiple').prop('checked', false);
  54. }
  55. var response = controldatajson;
  56. var isswitch = response.find(x => x.IsSwitch == true) ? true : false;
  57. if (isswitch == true) {
  58. $('#chkIsswitch').prop('checked', true);
  59. CheckBox_Settings.Instance().Id = response[0].CheckBoxColumnId;
  60. }
  61. var IsMultiple = response.find(x => x.IsMultiple == true) ? true : false;
  62. if (IsMultiple == true) {
  63. $("#radioOptions").empty();
  64. for (var i = 0; i < response.length; i++) {
  65. var data = response[i];
  66. Unibase.Platform.Forms.Components.ControlEditor.Instance().AddRadioOptions(data.CheckBoxColumnId, data.ColumnText, data.ColumnValue, data.ParentDocPropertyName, data.ParentDocPropertyId, data.IndexNumber, data.CheckBoxParentId, data.ParentCheckBoxColumnName);
  67. }
  68. }
  69. }
  70. SaveControlData(controldatajson) {
  71. var arr = [];
  72. var checked;
  73. var IsSwitch;
  74. if ($("#chkIsmultiple").is(':checked')) {
  75. checked = true;
  76. }
  77. else {
  78. checked = false;
  79. }
  80. if ($("#chkIsswitch").is(':checked')) {
  81. IsSwitch = true;
  82. }
  83. else {
  84. IsSwitch = false;
  85. }
  86. if ($("#loadDatatypes option:selected").text().toString() == "Boolean" && checked == false) {
  87. var data = {
  88. CheckBoxColumnId: CheckBox_Settings.Instance().Id,
  89. ColumnText: $(this).find(".rdbText").val(),
  90. ColumnValue: $(this).find(".rdbValue").val(),
  91. DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
  92. ControlId: Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId,
  93. IndexNumber: 0,
  94. IsMultiple: checked,
  95. IsSwitch: IsSwitch,
  96. Datatype: $("#loadDatatypes option:selected").text().toString(),
  97. };
  98. arr.push(data);
  99. }
  100. else {
  101. $(".option-group").each(function () {
  102. var data = {
  103. CheckBoxColumnId: Number($(this).find(".hdnRdbId").val()),
  104. ColumnText: $(this).find(".rdbText").val(),
  105. ColumnValue: $(this).find(".rdbValue").val(),
  106. DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
  107. ControlId: Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId,
  108. IndexNumber: Number($(this).find(".indexno").val()),
  109. IsMultiple: true,
  110. IsSwitch: IsSwitch,
  111. Datatype: $("#loadDatatypes option:selected").text().toString(),
  112. };
  113. arr.push(data);
  114. });
  115. }
  116. controldatajson = JSON.stringify(arr);
  117. return controldatajson;
  118. }
  119. IsCheck() {
  120. if ($("#chkIsmultiple").is(':checked')) {
  121. this.isChecked = true;
  122. $("#divAddOption").removeClass('hidden');
  123. $(".checkbox_addrow").removeClass("hidden");
  124. Unibase.Platform.Forms.Components.ControlEditor.Instance().AddRadioOptions(0, '', '', '', '', '', '', '');
  125. }
  126. else {
  127. this.isChecked = false;
  128. $(".checkbox_addrow").addClass("hidden");
  129. $(".option-group").remove();
  130. $("#divAddOption").addClass('hidden');
  131. }
  132. }
  133. RemoveCheckBoxOption(CheckBoxColumnId, Index) {
  134. if (CheckBoxColumnId != 0) {
  135. Unibase.Platform.Forms.Managers.FormManager.Instance().deleteOptionForControl(CheckBoxColumnId).then(function (response) {
  136. });
  137. }
  138. $("#divCheckBoxOption_" + Index).remove();
  139. $("#radioOptions").find('.option-group').each(function () {
  140. var index = $(this).index() + 1;
  141. $(this).find(".IndexnumberDetails").text(index);
  142. });
  143. }
  144. static Instance() {
  145. if (this._instance === undefined)
  146. this._instance = new CheckBox_Settings();
  147. return this._instance;
  148. }
  149. }
  150. Controls.CheckBox_Settings = CheckBox_Settings;
  151. })(Controls = Forms.Controls || (Forms.Controls = {}));
  152. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  153. })(Unibase || (Unibase = {}));