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.

dropdown.settings.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. var Unibase;
  2. (function (Unibase) {
  3. let Forms;
  4. (function (Forms) {
  5. let Controls;
  6. (function (Controls) {
  7. class DropDown_Settings extends Unibase.Platform.Core.BaseComponent {
  8. constructor() {
  9. super(...arguments);
  10. this.ParentDocPropertyId = 0;
  11. }
  12. loadControlPropertiesHtml(controlpropList, container) {
  13. return ``;
  14. }
  15. bindPropertySettings(prop) {
  16. var propertySettings = prop.PropertySettings;
  17. return "";
  18. }
  19. savePropertySettings(prop) {
  20. var propertySettings = prop.PropertySettings;
  21. return "";
  22. }
  23. loadSettingHtml(container) {
  24. let html = `<section class="card"><div class="b-b bg-white card-header"><strong class="text-dark Title" id="cpheader">Drop Down Setting</strong></div><div class="row"><div class="col-sm-4 ml-30"><label for="chkIsReportData" style="margin-top:19px; margin-right:20px;"><b>Is ReportData</b></label ><label id="lblIsReportData" class="switch m-t form-inline pull-right mt-10" style="color:grey"><input id="chkIsReportData" data-group="IsRequired" type="checkbox"><span></span></label></div><div class="col-sm-4 ml-30"><label for="chkIsReportData" style="margin-top:19px; margin-right:20px;"><b>Enable Select Option</b></label><label id="lblIsReportData" class="switch m-t form-inline pull-right mt-10" style="color:grey"><input id="chkSelectOption" data-group="IsRequired" type="checkbox" checked><span></span></label></div></div><div class="card-body" id="drpDwnStatic"><div class="row"><div class="col-sm-12"><ul class="list-group list-group-flush dropdownOptions font-14 m-t-n-md ui-sortable" id="dropdownOptions"></ul></div></div><div class="row"><div class="col-sm-6" id="divDropDownList"><div class="divDropDownList"><a href="javascript:" class="btn btn-primary" onclick="Unibase.Forms.Controls.DropDown_Settings.Instance().AddDropDownOptions(0, '', '', '', '', '', '', '');" id="addNewDropDown">Add New Drop Down</a></div></div></div></div><div class="card-body hidden" id="drpDwnUsingReport"><div class="row"><div class="col-sm-4"><label class="font-bold" style="color:grey">Report<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control" id="drpDwnReports"><option value="0">--Select--</option></select></div><div class="col-sm-4"><label class="font-bold" style="color:grey">Id Column<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control" id="drpDwnIdColumns"></select></div><div class="col-sm-4"><label class="font-bold" style="color:grey">Text Column<span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control" id="drpDwnTextColumns"></select></div></div></div></section>`;
  25. $(container).append(html);
  26. $("#drpDwnReports").select2({ placeholder: 'Select Report', width: '100%' });
  27. $("#drpDwnIdColumns").select2({ placeholder: 'Select IdColumn', width: '100%' });
  28. $("#drpDwnTextColumns").select2({ placeholder: 'Select TextColumn', width: '100%' });
  29. var instance = this;
  30. instance.DropDownIdArray = [];
  31. $("#chkIsReportData").on("change", function () {
  32. if ($("#chkIsReportData").prop("checked")) {
  33. $("#drpDwnUsingReport").removeClass("hidden");
  34. Unibase.Forms.Controls.DropDown_Settings.Instance().LoadReports();
  35. $("#drpDwnStatic").addClass("hidden");
  36. $('#drpDwnReports').addClass("required");
  37. $('#drpDwnIdColumns').addClass("required");
  38. $('#drpDwnTextColumns').addClass("required");
  39. }
  40. else {
  41. $("#drpDwnUsingReport").addClass("hidden");
  42. $("#drpDwnStatic").removeClass("hidden");
  43. $('.option-group').remove();
  44. $('#drpDwnReports').removeClass("required");
  45. $('#drpDwnIdColumns').removeClass("required");
  46. $('#drpDwnTextColumns').removeClass("required");
  47. }
  48. });
  49. }
  50. bindControlData(controldatajson) {
  51. var instance = this;
  52. if (controldatajson != undefined && controldatajson != "") {
  53. $("#chkSelectOption").prop('checked', Boolean(controldatajson[0].EnableSelectOption));
  54. if ((controldatajson.length == 1) && (controldatajson[0].ReportId != 0)) {
  55. $("#chkIsReportData").prop("checked", true);
  56. $("#drpDwnUsingReport").removeClass("hidden");
  57. $("#drpDwnStatic").addClass("hidden");
  58. Unibase.Forms.Controls.DropDown_Settings.Instance().LoadReports();
  59. Unibase.Forms.Controls.DropDown_Settings.Instance().LoadReportCoulmns(controldatajson[0].ReportId);
  60. setTimeout(function () {
  61. $("#drpDwnReports").val(controldatajson[0].ReportId).select2();
  62. jQuery("#drpDwnIdColumns").val(controldatajson[0].ColumnValue).trigger('change');
  63. jQuery("#drpDwnTextColumns").val(controldatajson[0].ColumnText).trigger('change');
  64. }, 200);
  65. instance.DropDownIdArray.push(controldatajson[0].DropDownColumnId);
  66. }
  67. else {
  68. $("#chkSelectOption").prop('checked', Boolean(controldatajson[0].EnableSelectOption));
  69. $("#chkIsReportData").prop("checked", false);
  70. $("#drpDwnUsingReport").addClass("hidden");
  71. $("#drpDwnStatic").removeClass("hidden");
  72. for (var i = 0; i < controldatajson.length; i++) {
  73. var DropDownParentId = controldatajson[i].DropDownParentId;
  74. var ParentDocPropertyId = controldatajson[i].ParentDocPropertyId;
  75. var IndexNumber = controldatajson[i].IndexNumber;
  76. $("#DropDownParentId").val(controldatajson[i].DropDownParentId);
  77. DropDown_Settings.Instance().ParentDocPropertyId = controldatajson[i].ParentDocPropertyId;
  78. DropDown_Settings.Instance().AddDropDownOptions(controldatajson[i].DropDownColumnId, controldatajson[i].ColumnText, controldatajson[i].ColumnValue, '', ParentDocPropertyId, IndexNumber, DropDownParentId, controldatajson[i].ParentDropDownColumnName);
  79. instance.DropDownIdArray.push(controldatajson[i].DropDownColumnId);
  80. }
  81. }
  82. }
  83. $(".option-group").addClass('floating-label-form-group-with-value');
  84. }
  85. SaveControlData(controldatajson) {
  86. var arr = [];
  87. var instance = this;
  88. if ($("#chkIsReportData").prop("checked")) {
  89. var data = {
  90. DropDownColumnId: Number(instance.DropDownIdArray[0] == null ? 0 : instance.DropDownIdArray[0]),
  91. ColumnText: $("#drpDwnTextColumns option:selected").val(),
  92. ColumnValue: $("#drpDwnIdColumns option:selected").val(),
  93. DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
  94. ControlId: Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId,
  95. IndexNumber: $(this).index() + 1,
  96. ReportId: Number($("#drpDwnReports option:selected").val()),
  97. EnableSelectOption: Boolean($("#chkSelectOption").prop('checked')),
  98. };
  99. arr.push(data);
  100. }
  101. else {
  102. var i = 0;
  103. $(".option-group").each(function () {
  104. var data = {
  105. DropDownColumnId: Number(instance.DropDownIdArray[i] == null ? 0 : instance.DropDownIdArray[i]),
  106. ColumnText: $(this).find(".rdbText").val(),
  107. ColumnValue: $(this).find(".rdbValue").val(),
  108. DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
  109. ControlId: Unibase.Platform.Forms.Components.ControlEditor.Instance().ControlId,
  110. IndexNumber: $(this).index() + 1,
  111. ReportId: 0,
  112. EnableSelectOption: Boolean($("#chkSelectOption").prop('checked')),
  113. };
  114. arr.push(data);
  115. i++;
  116. });
  117. }
  118. var ControlJsonText = JSON.stringify(arr);
  119. return ControlJsonText;
  120. }
  121. LoadReports() {
  122. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReports().then(function (response) {
  123. var html = "";
  124. for (let i = 0; i < response.length; i++) {
  125. var data = response[i];
  126. html += '<option value="' + data.ReportId + '">' + data.ReportName + '</option>';
  127. }
  128. $("#drpDwnReports").append(html);
  129. $("#drpDwnReports").change(function () {
  130. $("#drpDwnIdColumns").text('');
  131. $("#drpDwnTextColumns").text('');
  132. var ReportClass = $("#drpDwnReports option:selected").val().toString();
  133. var ReportId = Number(ReportClass);
  134. Unibase.Forms.Controls.DropDown_Settings.Instance().LoadReportCoulmns(ReportId);
  135. });
  136. });
  137. }
  138. LoadReportCoulmns(ReportId) {
  139. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getHeaderColumns(ReportId).then(function (response) {
  140. var html = '<option value="0"> --Select-- </option>';
  141. for (let i = 0; i < response.length; i++) {
  142. var data = response[i];
  143. html += '<option value="' + data.field + '">' + data.title + '</option>';
  144. }
  145. $("#drpDwnIdColumns").append(html);
  146. $("#drpDwnTextColumns").append(html);
  147. });
  148. }
  149. AddDropDownOptions(DropDownColumnId, ColumnText, ColumnValue, ParentDocPropertyName, ParentDocPropertyId, IndexNumber, DropDownParentId, ParentDropDownColumnName) {
  150. var instance = this;
  151. var ddcId = 0;
  152. var Index = $('.option-group').length;
  153. var indicator = Index;
  154. if (Index == 0) {
  155. indicator = 0;
  156. }
  157. if (DropDownColumnId != 0) {
  158. ddcId = DropDownColumnId;
  159. indicator = IndexNumber;
  160. }
  161. else {
  162. indicator += 1;
  163. Index = indicator;
  164. }
  165. var text = '<li class="list-group-item ui-sortable-handle option-group" id="divDropDownOption_' + Index + '"><div class="" > ' +
  166. '<div class="floating-label-form-group hidden" id="divParentDocPropertyName" style="border-left:0px;">' +
  167. '<label for="lblValue" id="lbl" class="font-bold">Parent PropertyName</label>' +
  168. '<input type="text" id="rdbParentDocPropertyName_' + Index + '" class="form-control value-control floating-label-control rdbParentDocPropertyName" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Value" data-placeholder="Enter value column" data-label="Options" maxlength="50" disabled="true" />' +
  169. '</div>' +
  170. '<div class="hidden floating-label-form-group" id="divParentColumnName" style = "border-left:0px;"><label for="lblValue" id="lbl" class="font-bold">Parent ColumnName</label><select id="txtAutoComplete_ParentDDLColumn_' + Index + '" class="txtAutoComplete_ParentDDLColumn form-control text-control " style="width:100%;"></select></div>' +
  171. '<i class="fa fa-sort pull-left"></i><div class=""><span id="option_header_' + Index + '">Drop-down text-</span><span id="IndexnumberDetails_' + Index + '" class="IndexnumberDetails"></span><a href="javascript:;" class="ml-auto btn-xs delete btn btn-icon btn-icon-circle btn-pink btn-icon-style-3 pull-right delete_" onclick="Unibase.Forms.Controls.DropDown_Settings.Instance().RemoveDropDownOption(' + DropDownColumnId + ',' + Index + ')"><span class="btn-icon-wrap"><i class="fa fa-times remove-icon_' + Index + '"></i><span></a></div>' +
  172. '<div class="row">' +
  173. '<div class="col-sm-6" id="columnid" style = "border-left:0px;" ><div class="floating-label-form-group"><label for="lblName" id="lbl" class="font-bold">Text<span class="text-danger" id="spnIsRequired_Section"> *</span></label>' +
  174. '<input type="text" id="rdbText_' + Index + '" class="form-control floating-label-control rdbText required" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Text " data-placeholder="Enter text column" data-label="Text " maxlength="50" /></div></div>' +
  175. '<div class="col-sm-6" id="columnVal" style = "border-left:0px;" ><div class="floating-label-form-group"><label for="lblValue" id="lbl" class="font-bold">Value<span class="text-danger" id="spnIsRequired_Section"> *</span></label>' +
  176. '<input type="text" id="rdbValue_' + Index + '" class="form-control floating-label-control rdbValue required" data-controlpropertyname="Name" data-isdefault="true" data-required="true" data-regularexp="" data-validatemsg="" placeholder="Value " data-placeholder="Enter value column" data-label="Value " maxlength="50" />' +
  177. '</div></div>' +
  178. '</div></div></li>';
  179. $("#dropdownOptions").append(text);
  180. if (ColumnText != '' || ColumnText != undefined) {
  181. $("#rdbText_" + Index).val(ColumnText);
  182. }
  183. if (ColumnValue != '' || ColumnValue != undefined) {
  184. $("#rdbValue_" + Index).val(ColumnValue);
  185. $("#DropDownParentId_" + Index).val($("#DropDownParentId").val());
  186. }
  187. if (IndexNumber != '' && IndexNumber != undefined) {
  188. $("#IndexnumberDetails_" + Index).text(IndexNumber);
  189. $("#IndexNumber").removeClass('hidden');
  190. }
  191. if (indicator != undefined) {
  192. $("#IndexnumberDetails_" + Index).text(indicator);
  193. $("#IndexNumber").removeClass('hidden');
  194. }
  195. let e = $("#dropdownOptions");
  196. e.sortable({
  197. stop: function (e, ui) {
  198. var index = 1;
  199. $("#dropdownOptions").find('.option-group').each(function () {
  200. var index = $(this).index() + 1;
  201. $(this).find(".IndexnumberDetails").text(index);
  202. });
  203. }
  204. });
  205. }
  206. RemoveDropDownOption(DropDownColumnId, Index) {
  207. $("#divDropDownOption_" + Index).remove();
  208. $("#dropdownOptions").find('.option-group').each(function () {
  209. var index = $(this).index() + 1;
  210. $(this).find(".IndexnumberDetails").text(index);
  211. });
  212. }
  213. static Instance() {
  214. if (this._instance === undefined)
  215. this._instance = new DropDown_Settings();
  216. return this._instance;
  217. }
  218. }
  219. Controls.DropDown_Settings = DropDown_Settings;
  220. })(Controls = Forms.Controls || (Forms.Controls = {}));
  221. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  222. })(Unibase || (Unibase = {}));