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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Forms;
  13. (function (Forms) {
  14. let Controls;
  15. (function (Controls) {
  16. class select2 {
  17. constructor() {
  18. this.Ids = [];
  19. this.data = [];
  20. }
  21. init(formpropertyid, prop, callback) {
  22. var container = $(".select2_" + prop.FormPropertyId);
  23. Unibase.Forms.Controls.select2.Instance().loadControlSettings(container, null).then(function () {
  24. if (callback != null)
  25. callback();
  26. });
  27. $(".select2_" + prop.FormPropertyId).on('select2:select', function (e) {
  28. var ids = $(".select2_" + prop.FormPropertyId).val().toString().replace(/,/g, '|');
  29. $("#hdnselect2_" + prop.FormPropertyId).val(ids);
  30. });
  31. $(".select2_" + prop.FormPropertyId).on('select2:unselect', function (e) {
  32. $("#hdnselect2_" + prop.FormPropertyId).val(0);
  33. var ids = $(".select2_" + prop.FormPropertyId).val().toString().replace(/,/g, '|');
  34. $("#hdnselect2_" + prop.FormPropertyId).val(ids);
  35. });
  36. }
  37. loadControl(containerid, prop) {
  38. Unibase.Forms.Controls.select2.Instance().data = [];
  39. Unibase.Forms.Controls.select2.Instance().Ids = [];
  40. var Isrequired = prop.IsRequired != true ? 'hidden' : '';
  41. var required = prop.IsRequired != true ? '' : 'required';
  42. var CurrentStageId = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageId").val();
  43. if (prop.StagesForRequired != null && prop.StagesForRequired != "") {
  44. var StagesForRequired = prop.StagesForRequired.split('|');
  45. Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden';
  46. required = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : '';
  47. }
  48. var IsTagSelect = false;
  49. if (prop.ControlJsonText != "" && prop.ControlJsonText != null && prop.ControlJsonText != undefined) {
  50. var text = JSON.parse(prop.ControlJsonText);
  51. if (text["IsTagSelect"] == true) {
  52. IsTagSelect = true;
  53. }
  54. }
  55. const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop);
  56. var html = '<div id="div_' + prop.DocPropertyName + '" class="floating-label-form-group-with-value floating-validate" style="border-bottom:0;"><label for= "lbl" id = "lbl_' + prop.DocPropertyName + '" >' + helpTooltipHtml + '<span class="label-name">' + prop.LabelName + '</span><span class="text-danger hide ' + Isrequired + '" id="spnIsRequired_' + prop.DocPropertyName + '"> *</span></label >' +
  57. '<input type="hidden" id="hdnselect2_' + prop.FormPropertyId + '" class="value-control" value="0" data-text="">' +
  58. '<select id="select2_' + prop.FormPropertyId + '" class=" select2_' + prop.FormPropertyId + ' type-control select2_' + prop.DocPropertyName + ' form-control text-control ' + required + '" multiple="multiple" data-isdynamic="' + prop.IsDefault + '" data-istagselect="' + IsTagSelect + '" style="width:100%;" data-propdoctypename="' + prop.DocTypeName + '" data-propertyid="' + prop.DocPropertyId + '" data-propertyname="' + prop.DocPropertyName + '" data-formpropertyid="' + prop.FormPropertyId + '" data-regularexp="" data-validatemsg="" data-textformpropertyid="' + text.TextFormPropertyId + '"><option>Select</option></select>' + helpTextHtml +
  59. '</div>';
  60. $("#" + containerid).html(html);
  61. }
  62. loadControlSettings(Container, Parameters) {
  63. return __awaiter(this, void 0, void 0, function* () {
  64. var ColumnName = "0";
  65. var Value = "0";
  66. var DocPropertyId = Container.data('propertyid');
  67. var DocPropertyName = Container.data('propertyname');
  68. var FormPropertyId = Container.data('formpropertyid');
  69. if (Parameters != null && Parameters != "") {
  70. ColumnName = Parameters.map(function (item) { return item.ColumnName; }).toString();
  71. Value = Parameters.map(function (item) { return item.Value + "|"; }).toString();
  72. }
  73. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  74. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/select2post';
  75. var data = select2.instance.data.find(x => x.formpropertyid == FormPropertyId);
  76. $(".select2_" + FormPropertyId).select2({
  77. multiple: true,
  78. allowClear: false,
  79. data: select2.instance.data,
  80. placeholder: 'Select',
  81. ajax: {
  82. url: function (request) {
  83. var reqUrl = url;
  84. return reqUrl;
  85. },
  86. contentType: 'application/json',
  87. type: "POST",
  88. delay: 250,
  89. data: function (params) {
  90. var query = {
  91. term: params.term,
  92. DocPropertyId: DocPropertyId,
  93. ColumnName: ColumnName,
  94. FormPropertyId: FormPropertyId,
  95. Value: Value,
  96. bindedData: "",
  97. authToken: userinfo.sessionId,
  98. SelectedIds: $(".select2_" + FormPropertyId).val().toString().replace(/,/g, '|'),
  99. };
  100. return JSON.stringify(query);
  101. },
  102. beforeSend: function (xhr) {
  103. if (userinfo !== undefined && userinfo !== null) {
  104. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  105. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  106. }
  107. },
  108. processResults: function (data, params) {
  109. return {
  110. results: jQuery.map(JSON.parse(data.result), function (item) {
  111. return {
  112. id: item.Value,
  113. text: item.DisplayText
  114. };
  115. })
  116. };
  117. }
  118. },
  119. templateResult: function (item) { return item.text; },
  120. templateSelection: function (item) { return item.text; },
  121. }).on('select2:select', function () {
  122. Unibase.Forms.Controls.select2.Instance().assigningDataText(FormPropertyId, this);
  123. }).on('select2:unselect', function () {
  124. Unibase.Forms.Controls.select2.Instance().assigningDataText(FormPropertyId, this);
  125. });
  126. $(".select2_" + FormPropertyId).val(select2.instance.Ids).trigger('change');
  127. var autocompleteid1 = $(".select2_" + DocPropertyName).attr('id');
  128. if (autocompleteid1 != undefined) {
  129. var eventList = $.data($("#" + autocompleteid1)[0], "events");
  130. if (eventList != undefined) {
  131. eventList.change.unshift(eventList.change.pop());
  132. }
  133. }
  134. });
  135. }
  136. assigningDataText(FormPropertyId, instance) {
  137. let selectedValues = '';
  138. let length = $(instance).select2('data').length;
  139. $(instance).select2('data').forEach(function (obj, i) {
  140. if (i == length - 1) {
  141. selectedValues = selectedValues + obj.text;
  142. }
  143. else {
  144. selectedValues = selectedValues + obj.text + '|';
  145. }
  146. });
  147. $(`#hdnselect2_${FormPropertyId}`).attr('data-text', selectedValues);
  148. }
  149. loadControlSettings_delete(Container, Parameters) {
  150. return __awaiter(this, void 0, void 0, function* () {
  151. var ColumnName = "0";
  152. var Value = "0";
  153. var DocPropertyId = Container.data('propertyid');
  154. var DocPropertyName = Container.data('propertyname');
  155. var FormPropertyId = Container.data('formpropertyid');
  156. if (Parameters != null && Parameters != "") {
  157. ColumnName = Parameters.map(function (item) { return item.ColumnName; }).toString();
  158. Value = Parameters.map(function (item) { return item.Value + "|"; }).toString();
  159. }
  160. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  161. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/autocomplete/docpropertyid/' + DocPropertyId + '/columnname/' + ColumnName + '/value/' + Value + '/formpropertyid/' + FormPropertyId + '/formid/0';
  162. url = url + "/term/";
  163. url = url.replace('#', '');
  164. var data = select2.instance.data.find(x => x.formpropertyid == FormPropertyId);
  165. $(".select2_" + FormPropertyId).select2({
  166. multiple: true,
  167. allowClear: false,
  168. data: select2.instance.data,
  169. placeholder: 'Select',
  170. ajax: {
  171. url: function (request) {
  172. var reqUrl = url;
  173. var term = request.term;
  174. if (term == undefined || term == "")
  175. reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
  176. else
  177. reqUrl = reqUrl + term + "/authtoken/" + userinfo.sessionId;
  178. return reqUrl;
  179. },
  180. beforeSend: function (xhr) {
  181. if (userinfo !== undefined && userinfo !== null) {
  182. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  183. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  184. }
  185. },
  186. delay: 250,
  187. dataType: 'json',
  188. processResults: function (data) {
  189. var selectData = [];
  190. var Data = JSON.parse(data.result);
  191. for (var i = 0; i < Data.length; i++) {
  192. selectData.push({
  193. id: Data[i].Value,
  194. text: Data[i].DisplayText
  195. });
  196. }
  197. ;
  198. return { results: selectData };
  199. }
  200. },
  201. templateResult: function (item) { return item.text; },
  202. templateSelection: function (item) { return item.text; },
  203. });
  204. $(".select2_" + FormPropertyId).val(select2.instance.Ids).trigger('change');
  205. var autocompleteid1 = $(".select2_" + DocPropertyName).attr('id');
  206. if (autocompleteid1 != undefined) {
  207. var eventList = $.data($("#" + autocompleteid1)[0], "events");
  208. if (eventList != undefined) {
  209. eventList.change.unshift(eventList.change.pop());
  210. }
  211. }
  212. });
  213. }
  214. loadPropertySettings(propertysettings, formpropertyid) {
  215. throw new Error("Method not implemented.");
  216. }
  217. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  218. return __awaiter(this, void 0, void 0, function* () {
  219. if (propval != null || propval != "" || propval != undefined) {
  220. var selectedvalues = JSON.parse(propval);
  221. if (selectedvalues != 0) {
  222. $("#hdnselect2_" + formpropertyid).val(selectedvalues[selectedvalues.length - 1]);
  223. for (var i = 0; i < selectedvalues.length; i++) {
  224. var data = selectedvalues[i];
  225. if ((data.id != undefined && data.text != undefined) && (data.id != "" && data.text != "")) {
  226. select2.instance.Ids.push(data.id);
  227. var newOption = new Option(data.text, data.id, true, true);
  228. $(".select2_" + formpropertyid).append(newOption).trigger('change');
  229. }
  230. }
  231. }
  232. }
  233. });
  234. }
  235. static Instance() {
  236. if (this.instance === undefined) {
  237. this.instance = new select2();
  238. }
  239. return this.instance;
  240. }
  241. }
  242. Controls.select2 = select2;
  243. })(Controls = Forms.Controls || (Forms.Controls = {}));
  244. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  245. })(Unibase || (Unibase = {}));