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.

subform.settings.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. var Unibase;
  2. (function (Unibase) {
  3. let Forms;
  4. (function (Forms) {
  5. let Controls;
  6. (function (Controls) {
  7. class SubForm_Setting {
  8. constructor() {
  9. this.SubFormName = '';
  10. this.ChildFormId = 0;
  11. this.RelationPropertyId = 0;
  12. }
  13. loadSettingHtml(Container) {
  14. let html = `<div class="card div_subform"><div class="card-header"><span>SubForm</span></div><div class="card-body subform"><div class="subform-row col-sm-2" id="subform-row"></div>
  15. <div class="row"> <div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="lbl" id="lblSubFormName" class="font-bold">SuB Form<span class="text-danger" id="spnIsRequired_Section"> *</span></label><input type="text" id="txtSuBFormName" class="form-control value-control required floating-label-control" data-isdefault="true" placeholder="SuBFormName *" data-placeholder="Enter SuB Form Name" data-label="SuBFormName *"></div> </div></div><div class="row mt-20"><div class="col-sm-6"><label id="lblFormName" class="font-bold">Form Name <span class="text-danger" id="spnIsRequired_Section"> *</span></label><select name="FormName" id="txtFormNames" class="form-control value-control required" data-isdynamic="true"><option value="0">-- Select --</option></select></div><div id="div_RelationProperty" class="col-sm-6"><label for="lbl" id="lbl_RelationProperty" style="color:grey">Relation Property</label><select id="txtAutoComplete_RelationProperty" class="txtAutoComplete_RelationProperty form-control text-control" data-isdefault="true" style="width:100%;"><option value="0">-- Select --</option></select></div></div><div class="col-sm-12 row" ><div class="col-sm-6" id="EnableSubFormSettings" style="margin-top:50px"><strong>Enable SubForm Settings</strong><label class="switch pull-right"><input id="chkEnableSubFormSettings" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div><div class="col-sm-6" id="EnableListFormSettings" style="margin-top:50px"><strong>Enable ListForm Settings</strong><label class="switch pull-right"><input id="chkEnableListFormSettings" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div></div><div class="row hidden" id="AddButtonName"> <div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value"><label for="lbl" id="lblButtonName" class="font-bold">Button Name<span class="text-danger" id="spnIsRequired_Section"> *</span></label><input type="text" id="txtButtonName" class="form-control value-control floating-label-control" data-isdefault="true" placeholder="ButtonName *" data-placeholder="Enter Button Name" data-label="Button Name *"></div> </div></div>
  16. </div></div>`;
  17. $(Container).html(html);
  18. SubForm_Setting.Instance().FormsAutocomplete();
  19. $("#chkEnableSubFormSettings").unbind("click").click(function () {
  20. var changable = $("#chkEnableSubFormSettings").prop('checked');
  21. if (changable) {
  22. $("#chksubformsettingsEnable").prop("checked", true);
  23. $("#AddButtonName").removeClass('hidden');
  24. }
  25. else {
  26. $("#chksubformsettingsEnable").prop("checked", false);
  27. $("#AddButtonName").addClass('hidden');
  28. }
  29. });
  30. $("#chkEnableListFormSettings").unbind("click").click(function () {
  31. var changable = $("#chkEnableListFormSettings").prop('checked');
  32. if (changable) {
  33. $("#chkEnableListFormSettings").prop("checked", true);
  34. $("#chkEnableListFormSettings").val("true");
  35. $(".div_CheckListform").removeClass('hidden');
  36. }
  37. else {
  38. $("#chkEnableListFormSettings").prop("checked", false);
  39. $("#chkEnableListFormSettings").val("false");
  40. $(".div_CheckListform").addClass('hidden');
  41. }
  42. });
  43. }
  44. FormsAutocomplete() {
  45. var _fileCacheHelper = Unibase.Platform.Helpers.FileCacheHelper.Instance();
  46. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  47. var term = "";
  48. if (term == undefined || term == "") {
  49. term = undefined;
  50. }
  51. _fileCacheHelper.loadJsFile('/platform/forms/managers/formmanager.js', function () {
  52. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormsAutoComplete(term, userinfo.sessionId).then(function (response) {
  53. var data = response.result;
  54. var FormsData = [];
  55. for (let i = 0; i < data.length; i++) {
  56. var roles = data[i];
  57. FormsData.push({ id: roles.Value, text: roles.SelectText });
  58. }
  59. $('#txtFormNames').select2({
  60. placeholder: 'Select Form',
  61. data: FormsData,
  62. });
  63. $("#txtFormNames").on("change", function () {
  64. if ($("#txtFormNames").val() != null) {
  65. var Formid = $("#txtFormNames option:selected").val().toString();
  66. SubForm_Setting.Instance().GetDocPropertyAutocompleteDetails(Number(Formid));
  67. }
  68. });
  69. });
  70. });
  71. }
  72. GetDocPropertyAutocompleteDetails(FormId) {
  73. $('#txtAutoComplete_RelationProperty').empty();
  74. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormProperties(FormId).then(function (response) {
  75. for (let i = 0; i < response.result.length; i++) {
  76. $('#txtAutoComplete_RelationProperty').append('<option value="' + response.result[i].DocPropertyId + '">' + response.result[i].DocPropertyName + '</option>');
  77. }
  78. });
  79. }
  80. bindControlData(controldatajson) {
  81. var data = controldatajson;
  82. $("#hdnAutocompletePropertyId").val(data.AutoCompletePropertyId);
  83. var selectDatalistname = new Option(data.DataListName, data.DataListId, true);
  84. $("#loadDatalist").append(selectDatalistname);
  85. var selectIdColumn = new Option(data.AutoCompleteIdColumn, data.AutoCompleteIdColumn, true);
  86. $("#loadDatalistIdColumns").append(selectIdColumn);
  87. var selectTextColumn = new Option(data.AutoCompleteTextColumn, data.AutoCompleteTextColumn, true);
  88. $("#txtPropertyName").val(data.FormPropertyName);
  89. $("#loadDatalistTextColumns").append(selectTextColumn);
  90. $("#hfloadDatalistId").val(data.DataListId);
  91. $("#txtSuBFormName").val(data.SubFormName);
  92. $('select#txtFormNames option:selected').text(data.ChildFormName);
  93. $('select#txtFormNames option:selected').val(data.ChildFormId);
  94. $('select#txtAutoComplete_RelationProperty option:selected').text(data.RelationPropertyName);
  95. $('select#txtAutoComplete_RelationProperty option:selected').val(data.RelationPropertyId);
  96. if (data.EnableSubFormSettings == true) {
  97. $('#chkEnableSubFormSettings').prop("checked", true);
  98. $('#chkEnableSubFormSettings').val('true');
  99. $("#AddButtonName").removeClass('hidden');
  100. $("#txtButtonName").val(data.ButtonName);
  101. }
  102. else {
  103. $('#chkEnableSubFormSettings').prop("checked", false);
  104. $('#chkEnableSubFormSettings').val('false');
  105. $("#AddButtonName").addClass('hidden');
  106. }
  107. if (data.EnableListFormSettings == true) {
  108. $("#chkEnableListFormSettings").prop("checked", true);
  109. $("#chkEnableListFormSettings").val("true");
  110. $(".div_CheckListform").removeClass('hidden');
  111. }
  112. else {
  113. $("#chkEnableListFormSettings").prop("checked", false);
  114. $("#chkEnableListFormSettings").val("false");
  115. $(".div_CheckListform").addClass('hidden');
  116. }
  117. $("#chkIsTagSelect").prop('checked', data.IsTagSelect);
  118. $("#hdnIsTagSelect").val(data.IsTagSelect);
  119. $("#hdnFormId").val(data.FormId);
  120. $("#hdnAutocompleteFilterColumn").val(data.AutocompleteFilterColumn);
  121. $("#hdnAppConfigId").val(data.AppConfigId);
  122. $("#txt_FormUniqueId").val(Unibase.Platform.Forms.Components.FormBuilder.Instance().FormUniqueId).toString();
  123. }
  124. SaveControlData(controldatajson) {
  125. var chkenblesetting;
  126. var chkenbleListsetting;
  127. var changable = $("#chkEnableSubFormSettings").prop('checked');
  128. if (changable) {
  129. $("#chkEnableSubFormSettings").prop("checked", true);
  130. $("#chkEnableSubFormSettings").val("true");
  131. $("#AddButtonName").removeClass('hidden');
  132. chkenblesetting = true;
  133. }
  134. else {
  135. $("#chkEnableSubFormSettings").prop("checked", false);
  136. $("#chkEnableSubFormSettings").val("false");
  137. chkenblesetting = false;
  138. $("#AddButtonName").addClass('hidden');
  139. }
  140. var Listchangable = $("#chkEnableListFormSettings").prop('checked');
  141. if (Listchangable) {
  142. $("#chkEnableListFormSettings").prop("checked", true);
  143. $("#chkEnableListFormSettings").val("true");
  144. chkenbleListsetting = true;
  145. $(".div_CheckListform").removeClass('hidden');
  146. }
  147. else {
  148. $("#chkEnableListFormSettings").prop("checked", false);
  149. $("#chkEnableListFormSettings").val("false");
  150. chkenbleListsetting = false;
  151. $(".div_CheckListform").addClass('hidden');
  152. }
  153. let SubFormName = $("#txtSuBFormName").val();
  154. let ChildFormId = Number($('select#txtFormNames option:selected').val());
  155. let RelationPropertyId = Number($('select#txtAutoComplete_RelationProperty option:selected').val());
  156. SubForm_Setting.instance.SubFormName = SubFormName;
  157. SubForm_Setting.instance.ChildFormId = Number(ChildFormId);
  158. SubForm_Setting.instance.RelationPropertyId = Number(RelationPropertyId);
  159. var controldatajson1 = [];
  160. if (controldatajson != null && controldatajson != "") {
  161. controldatajson1[0] = {
  162. DocPropertyId: Number(0),
  163. DataListId: Number($("#loadDatalist option:selected").val()),
  164. IsIncludeAllOption: false,
  165. IsMultiSelect: false,
  166. SubFormName: controldatajson.SubFormName,
  167. ChildFormId: Number(controldatajson.ChildFormId),
  168. ChildFormName: controldatajson.ChildFormName,
  169. RelationPropertyId: Number(controldatajson.RelationPropertyId),
  170. RelationPropertyName: controldatajson.RelationPropertyName,
  171. EnableSubFormSettings: controldatajson.EnableSubFormSettings,
  172. EnableListFormSettings: controldatajson.EnableListFormSettings,
  173. ButtonName: controldatajson.ButtonName,
  174. ParentFormId: Number(controldatajson.ParentFormId),
  175. IsTagSelect: $("#chkIsTagSelect").prop('checked'),
  176. FormId: Number(controldatajson.FormId),
  177. AppConfigId: Number($("#hdnAppConfigId").val()),
  178. Parameters: null,
  179. DataListName: $("#loadDatalist option:selected").text(),
  180. FormUniqueId: controldatajson.FormUniqueId,
  181. ParentFormUniqueId: controldatajson.ParentFormUniqueId,
  182. ChildFormUniqueId: controldatajson.ChildFormUniqueId,
  183. FormPropertyName: $("#txtPropertyName").val(),
  184. };
  185. }
  186. else {
  187. controldatajson1[0] = {
  188. DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
  189. DataListId: Number($("#loadDatalist option:selected").val()),
  190. IsIncludeAllOption: false,
  191. IsMultiSelect: false,
  192. SubFormName: $("#txtSuBFormName").val(),
  193. ChildFormId: Number($('select#txtFormNames option:selected').val()),
  194. ChildFormName: $('select#txtFormNames option:selected').text(),
  195. RelationPropertyId: Number($('select#txtAutoComplete_RelationProperty option:selected').val()),
  196. RelationPropertyName: $('select#txtAutoComplete_RelationProperty option:selected').text(),
  197. EnableSubFormSettings: chkenblesetting,
  198. EnableListFormSettings: chkenbleListsetting,
  199. ButtonName: $("#txtButtonName").val(),
  200. ParentFormId: Number(0),
  201. IsTagSelect: $("#chkIsTagSelect").prop('checked'),
  202. FormId: Number(Unibase.Platform.Forms.Components.FormBuilder.Instance().FormId),
  203. AppConfigId: Number($("#hdnAppConfigId").val()),
  204. Parameters: null,
  205. DataListName: $("#loadDatalist option:selected").text(),
  206. FormUniqueId: Unibase.Platform.Forms.Components.FormBuilder.Instance().FormUniqueId,
  207. FormPropertyName: $("#txtPropertyName").val(),
  208. };
  209. controldatajson = JSON.stringify(controldatajson1[0]);
  210. }
  211. return controldatajson;
  212. }
  213. loadControlPropertiesHtml(controlpropList, container) {
  214. return ``;
  215. }
  216. bindPropertySettings(prop) {
  217. var propertySettings = prop.PropertySettings;
  218. return "";
  219. }
  220. savePropertySettings(prop) {
  221. var propertySettings = prop.PropertySettings;
  222. return "";
  223. }
  224. static Instance() {
  225. if (this.instance === undefined) {
  226. this.instance = new SubForm_Setting();
  227. }
  228. return this.instance;
  229. }
  230. }
  231. Controls.SubForm_Setting = SubForm_Setting;
  232. })(Controls = Forms.Controls || (Forms.Controls = {}));
  233. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  234. })(Unibase || (Unibase = {}));