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.

select2.component.js 16KB

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