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.

cascadingautocomplete.settings.js 9.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. var Unibase;
  2. (function (Unibase) {
  3. let Forms;
  4. (function (Forms) {
  5. let Controls;
  6. (function (Controls) {
  7. class CascadingAutocomplete_Settings {
  8. loadControlPropertiesHtml(controlpropList, container) {
  9. return ``;
  10. }
  11. bindPropertySettings(prop) {
  12. var propertySettings = prop.PropertySettings;
  13. return "";
  14. }
  15. savePropertySettings(prop) {
  16. var propertySettings = prop.PropertySettings;
  17. return "";
  18. }
  19. loadSettingHtml(container) {
  20. let html = `<section class="card"><div class="card-header"><h6><b>Cascading Settings</b></h6></div><div class="card-body"><div class="row"><div class="col-sm-6 mt-10" id ="CasCadingdddDocProp"><label for="lblDocPropertyName" id="lblDocPropertyName" class="font-bold" style="color:grey">Parent Property<span class="text-danger" id="spnIsRequired_ParentProperty"> *</span></label><select id="ddlParentProperty" class="form-control value-control required" data-controlpropertyname="Width"></select><input type="hidden" id="hfddlParentProperty"/></div></div><div class="row"><div class="col-sm-6"><label class="font-bold" style="color:grey">Report<span class="text-danger" id="spnIsRequired_Report"> *</span></label><select id="ddl_cascAutocompleteReport" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteReport" class="hfddl_cascAutocompleteReport form-control value-control" data-isdynamic="true"/></div></div><div class="row"><div class="col-sm-4"><label class="font-bold" style="color:grey">Id Column<span class="text-danger" id="spnIsRequired_IdColumn"> *</span></label><select id="ddl_cascAutocompleteIdColumn" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteIdColumn" class="hfddl_cascAutocompleteIdColumn form-control value-control" data-isdynamic="true"/></div><div class="col-sm-4"><label class="font-bold" style="color:grey">Text Column<span class="text-danger" id="spnIsRequired_TextColumn"> *</span></label><select id="ddl_cascAutocompleteTextColumn" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteTextColumn" class="hfddl_cascAutocompleteTextColumn form-control value-control" data-isdynamic="true"/></div><div class="col-sm-4"><label class="font-bold" style="color:grey">Apply For<span class="text-danger" id="spnIsRequired_ApplyFor"> *</span></label><select id="ddl_cascAutocompleteApplyFor" class="form-control value-control required" data-placeholder="Select" placeholder="Select"></select><input type="hidden" id="hfddl_cascAutocompleteApplyFor" class="hfddl_cascAutocompleteApplyFor form-control value-control" data-isdynamic="true"/></div></div></div></section>`;
  21. $(container).append(html);
  22. this.GetDocPropertyDetails();
  23. $("#ddl_cascAutocompleteReport").on("change", function () {
  24. $("#ddl_cascAutocompleteIdColumn").val(null).trigger("change");
  25. $("#ddl_cascAutocompleteTextColumn").val(null).trigger("change");
  26. });
  27. }
  28. bindControlData(controldatajson) {
  29. if (controldatajson != undefined && controldatajson != "") {
  30. var result = controldatajson;
  31. var parentName = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x => x.FormPropertyId == result.ParentFormPropertyId).FormPropertyName;
  32. var parent = new Option(parentName, result.ParentFormPropertyId, true);
  33. $("#ddlParentProperty").append(parent);
  34. jQuery("#ddlParentProperty").val(result.ParentFormPropertyId).trigger('change');
  35. var report = new Option(result.ReportName, result.ReportId, true);
  36. $("#ddl_cascAutocompleteReport").append(report);
  37. jQuery("#ddl_cascAutocompleteReport").val(result.ReportId).trigger('change');
  38. var reportColumnText = new Option(result.ReportColumnText, result.ReportColumnTextId, true);
  39. $("#ddl_cascAutocompleteTextColumn").append(reportColumnText);
  40. jQuery("#ddl_cascAutocompleteTextColumn").val(result.ReportColumnTextId).trigger('change');
  41. var reportColumnValue = new Option(result.ReportColumnValue, result.ReportColumnValueId, true);
  42. $("#ddl_cascAutocompleteIdColumn").append(reportColumnValue);
  43. jQuery("#ddl_cascAutocompleteIdColumn").val(result.ReportColumnValueId).trigger('change');
  44. var reportColumnApplyFor = new Option(result.ApplyFor, result.ApplyForId, true);
  45. $("#ddl_cascAutocompleteApplyFor").append(reportColumnApplyFor);
  46. jQuery("#ddl_cascAutocompleteApplyFor").val(result.ApplyForId).trigger('change');
  47. }
  48. }
  49. GetDocPropertyDetails() {
  50. let FormId = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormId;
  51. let CurDocPropertyId = Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId;
  52. var parentProperties = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.filter(x => x.ControlName == "DropDown" || x.ControlName == "CascadingAutocomplete" || x.ControlName == "AutoComplete");
  53. var parentProps = [];
  54. for (let i = 0; i < parentProperties.length; i++) {
  55. parentProps.push({ id: parentProperties[i].UniqueId, text: parentProperties[i].FormPropertyName });
  56. }
  57. $("#ddlParentProperty").select2({
  58. placeholder: 'Select',
  59. data: parentProps,
  60. width: '100%',
  61. });
  62. var reportsurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
  63. AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteReport"), $("#hfddl_cascAutocompleteReport"), reportsurl, function (response) {
  64. var data = response;
  65. });
  66. $("#ddl_cascAutocompleteReport").change(function () {
  67. var reportId = $("#ddl_cascAutocompleteReport").val();
  68. var reportcolumnsurl = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + Number(reportId);
  69. AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteTextColumn"), $("#hfddl_cascAutocompleteTextColumn"), reportcolumnsurl, function (response) {
  70. var data = response;
  71. });
  72. AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteIdColumn"), $("#hfddl_cascAutocompleteIdColumn"), reportcolumnsurl, function (response) {
  73. var data = response;
  74. });
  75. AutoCompleteHelper.getHelper().Create($("#ddl_cascAutocompleteApplyFor"), $("#hfddl_cascAutocompleteApplyFor"), reportcolumnsurl, function (response) {
  76. var data = response;
  77. });
  78. });
  79. }
  80. SaveControlData(controldatajson) {
  81. var instance = this;
  82. var parentFormProp = Number($("#ddlParentProperty option:selected").val());
  83. var parentProp = Unibase.Platform.Forms.Components.FormBuilder.Instance().FormPropertiesJson.find(x => x.UniqueId == parentFormProp);
  84. var data = {
  85. CascadingId: 0,
  86. ControlId: Number(Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId),
  87. ReportId: Number($("#ddl_cascAutocompleteReport option:selected").val()),
  88. ReportName: $("#ddl_cascAutocompleteReport option:selected").text(),
  89. ReportColumnTextId: Number($("#ddl_cascAutocompleteTextColumn option:selected").val()),
  90. ReportColumnText: $("#ddl_cascAutocompleteTextColumn option:selected").text(),
  91. ReportColumnValueId: Number($("#ddl_cascAutocompleteIdColumn option:selected").val()),
  92. ReportColumnValue: $("#ddl_cascAutocompleteIdColumn option:selected").text(),
  93. ApplyForId: Number($("#ddl_cascAutocompleteApplyFor option:selected").val()),
  94. ApplyFor: $("#ddl_cascAutocompleteApplyFor option:selected").text(),
  95. ParentFormPropertyId: parentFormProp,
  96. ParentDocPropertyId: parentProp.DocPropertyId,
  97. };
  98. var ControlJsonText = JSON.stringify(data);
  99. return ControlJsonText;
  100. }
  101. static Instance() {
  102. if (this._instance === undefined)
  103. this._instance = new CascadingAutocomplete_Settings();
  104. return this._instance;
  105. }
  106. }
  107. Controls.CascadingAutocomplete_Settings = CascadingAutocomplete_Settings;
  108. })(Controls = Forms.Controls || (Forms.Controls = {}));
  109. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  110. })(Unibase || (Unibase = {}));