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.

autocomplete.settings.js 21KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. var Unibase;
  2. (function (Unibase) {
  3. let Forms;
  4. (function (Forms) {
  5. let Controls;
  6. (function (Controls) {
  7. class autocomplete_settings {
  8. constructor() {
  9. this.Id = 0;
  10. this.TextFormPropertyId = 0;
  11. }
  12. loadControlPropertiesHtml(Container) {
  13. }
  14. bindPropertySettings(prop) {
  15. var propertySettings = prop.PropertySettings;
  16. if (propertySettings != null && propertySettings != undefined) {
  17. var i = 0;
  18. $(".Controlproperties-Element").each(function () {
  19. if (propertySettings[i].ControlPropertyName == "IsCreateNew") {
  20. $(this).attr("data-controlpropertyid", propertySettings[i].ControlPropertyId);
  21. $(this).attr("data-controlpropertyname", propertySettings[i].ControlPropertyName);
  22. $(this).attr("data-propertysettingid", propertySettings[i].PropertySettingId);
  23. if (propertySettings[i].ControlPropertyValue == "true") {
  24. $("#IsCreateNew").prop("checked", true);
  25. }
  26. else {
  27. $("#IsCreateNew").prop("checked", false);
  28. }
  29. }
  30. i += 1;
  31. });
  32. }
  33. }
  34. savePropertySettings(prop) {
  35. var propertySettings = prop.PropertySettings;
  36. var propSettingReq = [];
  37. $(".Controlproperties-Element").each(function () {
  38. var data = {
  39. FormPropertyId: Number(prop.FormPropertyId),
  40. ControlPropertyId: Number($(this).attr("data-controlpropertyid")),
  41. ControlPropertyValue: $(this).children().find("input").prop("checked").toString(),
  42. ControlPropertyName: $(this).attr("data-controlpropertyname"),
  43. ControlId: Number(prop.ControlId),
  44. PropertySettingId: Number($(this).attr("data-propertysettingid")),
  45. };
  46. propSettingReq.push(data);
  47. });
  48. return propSettingReq;
  49. }
  50. loadSettingHtml(Container) {
  51. var html = `<section class=""><div class="card AutoProperties"><div class="card-header"><h6>AutoCompleteSetting Details</h6></div><div class="card-body" id="DivAutocomplete"><div class="row"><div class="col-sm-6 form-group"><label class="font-bold" style="color:grey">Report <span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control required" id="loadReport"/><input type="hidden" id="hfloadReportId"/></div><div class="col-sm-6 form-group"><label class="font-bold" style="color:grey">Text Column <span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control required" id="reporttextColumns"/><input type="hidden" id="hfreporttextColumnsId"/></div></div><div class="row align-items-end"><div class="col-sm-6 form-group"><label class="font-bold" style="color:grey">Id Column<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control required" id="reportIdColumns"/><input type="hidden" id="hfreportIdColumnsId"/></div><div class="col-sm-6 form-group"><div class="floating-label-form-group"><label for="lbl" id="lblparameterName" class="font-bold">Parameter Name <span class="text-danger">*</span></label><input type="text" id="txt_Parameter" class="form-control value-control floating-label-control" placeholder="Enter Parameter" data-placeholder="Enter Parameter" data-label="Enter Parameter"></div></div></div><div class="row align-items-end mt-5"><div class="col-sm-6 form-group"><label for="frmchkIsDefault">Allow Free Text</label><label id="lblIsTagSelect" class="switch m-t m-0 form-inline pull-right" style="color:grey"><input id="chkIsTagSelect" data-group="IsRequired" type="checkbox" data-controlpropertyname="IsTagSelect"><span/></label></div><div class="col-sm-6 form-group" id="divControlProps"><label for="frmchkIsDefault" >Enable IsCreateNew Option</label><label id="lblIsCreateNew" class="switch m-t m-0 form-inline pull-right" style="color:grey"><input id="IsCreateNew" data-group="IsRequired" type="checkbox" data-controlpropertyname="IsCreateNew"><span/></label></div></div><div class="row"><div class="form-group hidden col-sm-6" id="divApps"><label id="lbl_DocType">Apps<span class="text-danger" id="spnIsRequired_DocType"> *</span></label><select class="form-control" placeholder="form group" id="selectInstalledApps"><option selected value="">Select Apps</option></select></div><div class="form-group hidden col-sm-6" id="divAppConfiguration"><label id="lbl_DocType">AppConfigurations<span class="text-danger" id="spnIsRequired_DocType"> *</span></label><select class="form-control" placeholder="form group" id="selectAppConfigurations"><option selected value="">Select configurations</option></select></div></div><div class="row align-items-end"><div class="col-sm-6 form-group hidden"><div id="divRoleSettings"><label id="lbl_RoleSettings">Role Settings<span class="text-danger" id="spnIsRequired_RoleSettings"> *</span></label><select class="form-control" placeholder="form group" id="selectRoleSettings"><option selected value="">Select RoleSetting</option></select></div></div><div class="col-sm-6 form-group"><div id="divButton"><label for="frmchkIsDefault">Show Total ReportData</label><label id="lblEnableButton" class="switch m-t m-0 form-inline pull-right" style="color:grey"><input id="chkShowTotalReportData" data-group="IsRequired" type="checkbox" data-controlpropertyname="EnableButton"><span/></label></div></div><div class="col-sm-6 form-group"><label class="font-bold" style="color:grey">Additional Data Column</label><select class="form-control" id="reportAddlDataColumns"/></select><input type="hidden" id="hfreportAddlDataColumnsId"/></div></div><div class="row hidden" id="divTotalReportData"><div class="col-sm-6 form-group"><label class="font-blod" style="color:grey">TotalData Report<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control" id="totalDataReportId"/><input type="hidden" id="hftotalDataReportId"/></div><div class="col-sm-6 form-group"><label class="font-blod" style="color:grey">Mapping IdColumn<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control" id="mappingIdColumn"/></select><input type="hidden" id="hfMappingColumnId"/></div><div class="col-sm-6 form-group"><label class="font-bold" style="color:grey">Mapping Text Column<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control" id="mappingTextColumn"/></select><input type="hidden" id="hfMappingTextColumnId"/></div></div>` +
  52. `</div></section>`;
  53. $(Container).html(html);
  54. autocomplete_settings._instance.LoadReports();
  55. autocomplete_settings._instance.LoadTotalDataReports();
  56. $("#totalDataReportId").next('.select2-container').css('width', '100%');
  57. $('#chkShowTotalReportData').on('change', function () {
  58. if ($('#chkShowTotalReportData').prop('checked')) {
  59. $("#divTotalReportData").removeClass('hidden');
  60. $("#totalDataReportId").addClass('required');
  61. $("#mappingIdColumn").addClass('required');
  62. $("#mappingTextColumn").addClass('required');
  63. }
  64. else {
  65. $("#divTotalReportData").addClass('hidden');
  66. $("#totalDataReportId").removeClass('required');
  67. $("#mappingIdColumn").removeClass('required');
  68. $("#mappingTextColumn").removeClass('required');
  69. }
  70. });
  71. var installedAppId = Unibase.Platform.Forms.Components.FormBuilder.Instance().InstalledAppId;
  72. Unibase.Platform.Permissions.Managers.PermissionManager.Instance().getRoleSettingsbyAppId(installedAppId).then(function (response) {
  73. for (let i = 0; i < response.result.length; i++) {
  74. $('#selectRoleSettings').append('<option value="' + response.result[i].AppPermissionId + '">' + response.result[i].SystemName + '</option>');
  75. }
  76. });
  77. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstalledApps().then(function (response) {
  78. for (let i = 0; i < response.result.length; i++) {
  79. $('#selectInstalledApps').append('<option value="' + response.result[i].InstalledAppId + '">' + response.result[i].AppTitle + '</option>');
  80. }
  81. });
  82. $("#divApps").change(function () {
  83. $('#selectAppConfigurations').val("");
  84. var InstaledAppId = Number($("#divApps option:selected").val());
  85. Unibase.Platform.Apps.Managers.AppManager.Instance().getFormAppConfigurations(InstaledAppId).then(function (response) {
  86. for (let i = 0; i < response.result.length; i++) {
  87. $('#selectAppConfigurations').append('<option value="' + response.result[i].AppConfigurationId + '">' + response.result[i].SettingName + '</option>');
  88. }
  89. });
  90. });
  91. $("#IsCreateNew").on("change", function () {
  92. if ($("#IsCreateNew").is(':checked')) {
  93. $("#divApps").removeClass('hidden');
  94. $("#divAppConfiguration").removeClass('hidden');
  95. $("#selectInstalledApps").addClass('required');
  96. $("#selectAppConfigurations").addClass('required');
  97. }
  98. else {
  99. $("#divApps").addClass('hidden');
  100. $("#divAppConfiguration").addClass('hidden');
  101. $("#selectInstalledApps").removeClass('required');
  102. $("#selectAppConfigurations").removeClass('required');
  103. }
  104. });
  105. }
  106. LoadTotalDataReports() {
  107. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
  108. AutoCompleteHelper.getHelper().Create($("#totalDataReportId"), $("#hftotalDataReportId"), url, function (response) {
  109. $("#totalDataReportId").change(function () {
  110. var Id = $("#totalDataReportId option:selected").val().toString();
  111. var ReportId = Number(Id);
  112. $("#mappingIdColumn").empty().trigger('change');
  113. $("#mappingTextColumn").empty().trigger('change');
  114. var colurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + ReportId;
  115. AutoCompleteHelper.getHelper().Create($("#mappingIdColumn"), $("#hfMappingColumnId"), colurl, function (response) { });
  116. AutoCompleteHelper.getHelper().Create($("#mappingTextColumn"), $("#hfMappingTextColumnId"), colurl, function (response) { });
  117. });
  118. });
  119. }
  120. LoadReports() {
  121. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
  122. AutoCompleteHelper.getHelper().Create($("#loadReport"), $("#hfloadReportId"), url, function (response) {
  123. $("#loadReport").change(function () {
  124. $("#reportIdColumns").text('');
  125. $("#reporttextColumns").text('');
  126. var Id = $("#loadReport option:selected").val().toString();
  127. var ReportId = Number(Id);
  128. autocomplete_settings._instance.LoadReportCoulmns(ReportId);
  129. });
  130. });
  131. }
  132. LoadReportCoulmns(ReportId) {
  133. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + ReportId;
  134. AutoCompleteHelper.getHelper().Create($("#reportIdColumns"), $("#hfreportIdColumnsId"), url, function (response) { });
  135. AutoCompleteHelper.getHelper().Create($("#reporttextColumns"), $("#hfreporttextColumnsId"), url, function (response) { });
  136. AutoCompleteHelper.getHelper().Create($("#reportAddlDataColumns"), $("#hfreportAddlDataColumnsId"), url, function (response) { });
  137. }
  138. bindControlData(controldatajson) {
  139. var data = controldatajson;
  140. autocomplete_settings._instance.Id = data.AutoCompletePropertyId;
  141. autocomplete_settings._instance.TextFormPropertyId = data.TextFormPropertyId;
  142. autocomplete_settings._instance.LoadReportCoulmns(data.ReportId);
  143. var datalist = new Option(data.DataListName, data.ReportId, true);
  144. $("#loadReport").append(datalist);
  145. $("#loadReport").val(data.ReportId);
  146. autocomplete_settings._instance.LoadReports();
  147. var reportIdColumns = new Option(data.AutoCompleteIdColumn, data.AutoCompleteIdColumn, true);
  148. $("#reportIdColumns").append(reportIdColumns);
  149. $("#reportIdColumns").val(data.AutoCompleteIdColumn);
  150. var reporttextColumns = new Option(data.AutoCompleteTextColumn, data.AutoCompleteTextColumn, true);
  151. $("#reporttextColumns").append(reporttextColumns);
  152. $("#reporttextColumns").val(data.AutoCompleteTextColumn);
  153. $("#txt_Parameter").val(data.Parameters);
  154. $('#chkShowTotalReportData').prop('checked', data.ShowTotalReportData);
  155. $('#chkIsTagSelect').prop('checked', data.IsTagSelect);
  156. var totalreportdata = new Option(data.TotalDataReportName, data.TotalDataReportId, true);
  157. $("#totalDataReportId").append(totalreportdata);
  158. $("#totalDataReportId").val(data.TotalDataReportId);
  159. if (data.MappingIdColumn == "null") {
  160. data.MappingIdColumn = 'Select';
  161. }
  162. var mappingIdColumns = new Option(data.MappingIdColumn, data.MappingIdColumn, true);
  163. $("#mappingIdColumn").append(mappingIdColumns);
  164. if (data.MappingTextColumn == "null") {
  165. data.MappingTextColumn = 'Select';
  166. }
  167. var mappingTextColumns = new Option(data.MappingTextColumn, data.MappingTextColumn, true);
  168. $("#mappingTextColumn").append(mappingTextColumns);
  169. if (data.AdditionalDataColumn != null && data.AdditionalDataColumn != "") {
  170. var addtitionaldataColumns = new Option(data.AdditionalDataColumn, data.AdditionalDataColumn, true);
  171. $("#reportAddlDataColumns").append(addtitionaldataColumns);
  172. }
  173. if ($('#chkShowTotalReportData').prop('checked')) {
  174. $("#divTotalReportData").removeClass('hidden');
  175. }
  176. else {
  177. $("#divTotalReportData").addClass('hidden');
  178. }
  179. }
  180. SaveControlData(controldatajson) {
  181. var controldatajson1 = [];
  182. if (controldatajson != null && controldatajson != "") {
  183. controldatajson1[0].AutoCompletePropertyId = $("#hdnAutocompletePropertyId").val();
  184. controldatajson1[0].DocPropertyId = $("#hdnPropertyId").val();
  185. controldatajson1[0].ReportId = $("#hfloadReportId").val();
  186. controldatajson1[0].AutoCompleteTextColumn = $("#reporttextColumns option:selected").val();
  187. controldatajson1[0].AutoCompleteIdColumn = $("#reportIdColumns option:selected").val();
  188. controldatajson1[0].IsTagSelect = $("#chkIsTagSelect").prop('checked');
  189. controldatajson1[0].IsIncludeAllOption = false;
  190. controldatajson1[0].FormId = $("#hdnFormId").val();
  191. controldatajson1[0].AutoCompleteFilterColumn = $("#hdnAutocompleteFilterColumn").val();
  192. controldatajson1[0].AppConfigId = $('#selectAppConfigurations option:selected').val();
  193. controldatajson1[0].IsMultiSelect = false;
  194. controldatajson1[0].Parameters = $("#txt_Parameter").val();
  195. controldatajson1[0].DataListName = $("#loadReport option:selected").text();
  196. controldatajson = JSON.stringify(controldatajson1[0]);
  197. controldatajson1[0].FormuniqueId = $('#txt_FormUniqueId').val(),
  198. controldatajson1[0].ShowTotalReportData = $('#chkShowTotalReportData').prop('checked');
  199. controldatajson1[0].AdditionalDataColumn = $("#reportAddlDataColumns option:selected").text();
  200. }
  201. else {
  202. var totalDataReportId = Number($("#totalDataReportId option:selected").val());
  203. controldatajson1[0] = {
  204. AutoCompletePropertyId: Number(autocomplete_settings._instance.Id),
  205. DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
  206. ReportId: Number($("#loadReport option:selected").val()),
  207. AutoCompleteTextColumn: $("#reporttextColumns option:selected").text(),
  208. AutoCompleteIdColumn: $("#reportIdColumns option:selected").text(),
  209. IsTagSelect: $("#chkIsTagSelect").prop('checked'),
  210. IsIncludeAllOption: false,
  211. FormId: Number(Unibase.Platform.Forms.Components.FormBuilder.instance.FormId),
  212. AutoCompleteFilterColumn: "",
  213. AppConfigId: Number($('#selectAppConfigurations option:selected').val()),
  214. IsMultiSelect: false,
  215. Parameters: $("#txt_Parameter").val(),
  216. DataListName: $("#loadReport option:selected").text(),
  217. FormUniqueId: $('#txt_FormUniqueId').val(),
  218. TextFormPropertyId: Number(autocomplete_settings._instance.TextFormPropertyId == null ? 0 : autocomplete_settings._instance.TextFormPropertyId),
  219. RoleSetting: $('#selectRoleSettings option:selected').text() == "Select RoleSetting" ? null : $('#selectRoleSettings option:selected').text(),
  220. ShowTotalReportData: $('#chkShowTotalReportData').prop('checked'),
  221. TotalDataReportId: isNaN(totalDataReportId) ? 0 : totalDataReportId,
  222. MappingIdColumn: $("#mappingIdColumn option:selected").text(),
  223. MappingTextColumn: $("#mappingTextColumn option:selected").text(),
  224. AdditionalDataColumn: $("#reportAddlDataColumns option:selected").text(),
  225. };
  226. controldatajson = JSON.stringify(controldatajson1[0]);
  227. }
  228. return controldatajson;
  229. }
  230. static Instance() {
  231. if (this._instance === undefined)
  232. this._instance = new autocomplete_settings();
  233. return this._instance;
  234. }
  235. }
  236. Controls.autocomplete_settings = autocomplete_settings;
  237. })(Controls = Forms.Controls || (Forms.Controls = {}));
  238. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  239. })(Unibase || (Unibase = {}));