Built files from Bizgaze WebServer
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

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