Built files from Bizgaze WebServer
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

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