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.

imagepicker.component.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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 ImagePicker {
  17. constructor() {
  18. this.fileData = [];
  19. }
  20. jsFiles() {
  21. return ["apps/communications/ai/components/resumeparsingmanager.js"];
  22. }
  23. init(formpropertyid, prop, callback) {
  24. var instance = this;
  25. var errormsg = $(".bizgaze_FormErrorMessages:visible").attr("id");
  26. if ($("#img_" + prop.FormPropertyId).val() == "") {
  27. instance.fileData[formpropertyid] = [];
  28. }
  29. $('#browse_' + prop.FormPropertyId).click(function () {
  30. $("#img_" + prop.FormPropertyId).click();
  31. });
  32. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  33. $("#img_" + formpropertyid).change(function (e) {
  34. $("#editFileName_" + formpropertyid).addClass("hidden");
  35. if (!$("#editFileName_" + formpropertyid).hasClass("hidden") && instance.fileData[formpropertyid] != []) {
  36. var fileReq = {
  37. FileId: 1,
  38. FilePath: instance.fileData[formpropertyid].FilePath,
  39. };
  40. instance.fileData[formpropertyid] = fileReq;
  41. }
  42. $("#img_" + formpropertyid).removeAttr("style");
  43. var file = $("#img_" + formpropertyid).get(0);
  44. var files = file.files;
  45. if (!files[0].type.match('image.*')) {
  46. $("#img_" + formpropertyid).val('');
  47. MessageHelper.Instance().showError("Please Select Image File.", errormsg);
  48. }
  49. else {
  50. instance.selectImageFile(files[0], prop.DocPropertyName, formpropertyid, null);
  51. var item = { Files: files[0] };
  52. instance.getBase64(item).then(function (response) {
  53. var filePath = null;
  54. if (instance.fileData[formpropertyid].FilePath != null) {
  55. filePath = instance.fileData[formpropertyid].FilePath;
  56. }
  57. instance.fileData[formpropertyid] = response;
  58. instance.fileData[formpropertyid].FilePath = filePath;
  59. });
  60. }
  61. });
  62. if (callback != null) {
  63. callback();
  64. }
  65. }
  66. selectImageFile(file, DocPropertyName, formpropertyid, imgurl) {
  67. var instance = this;
  68. $("#fileCount").addClass('hidden');
  69. var html = "";
  70. var imgShow = "";
  71. var filename = "";
  72. if (file != null) {
  73. var tmppath = URL.createObjectURL(file);
  74. imgShow = tmppath;
  75. filename = file.name;
  76. $("#requiredImgInput_" + formpropertyid).val(filename);
  77. instance.fileHtml(filename, formpropertyid, DocPropertyName, imgShow);
  78. }
  79. else {
  80. filename = DocPropertyName;
  81. $("#requiredImgInput_" + formpropertyid).val(filename);
  82. DocPropertyName = "";
  83. var src = "";
  84. var path = 'apis/v4/Documents/GetFile?path=' + imgurl;
  85. Unibase.Platform.Analytics.Managers.ReportManager.Instance().dataHelper().getAsync(path).then(function (response) {
  86. src = 'data:image/png;base64,' + response.file;
  87. }).then(function () {
  88. instance.fileHtml(filename, formpropertyid, DocPropertyName, src);
  89. });
  90. }
  91. }
  92. fileHtml(filename, formpropertyid, DocPropertyName, imgShow) {
  93. if (filename.length > 15) {
  94. var File_Extension = filename.substr(filename.lastIndexOf("."));
  95. filename = filename.substr(0, 15) + '...' + File_Extension;
  96. }
  97. var html = '<li class="list-group-item b-a clear p-0 mb-15" id="list-file_' + formpropertyid + '" style="border: none">' +
  98. '<span class="block fileuploads filename hidden">' +
  99. '<span class="pull-left">' +
  100. '<span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" href="javascript:;" onclick="javascript:Unibase.Forms.Controls.ImagePicker.Instance().removeFile(' + formpropertyid + ',\'' + filename + '\'' + ',\'' + DocPropertyName + '\'' + '); " title="Click to Delete"></span>' +
  101. '<img id="img_upload " class="mr-20" style="height:35px;width:35px;vertical-align:middle;" alt="" src="' + imgShow + '">' +
  102. '<span class="h6 fileName" title="' + filename + '">' + filename + '</span>' +
  103. '</span></span></li>';
  104. $('.fileuploads_' + formpropertyid).find('.thumb_output_').html(html);
  105. $('#list-file_' + formpropertyid).find('.fileuploads').removeClass("hidden");
  106. }
  107. removeFile(formpropertyid, filename, docpropertyname) {
  108. $('#img_' + formpropertyid).val(null);
  109. $("#list-file_" + formpropertyid).remove();
  110. $("#requiredImgInput_" + formpropertyid).val("");
  111. $("#editFileName_" + formpropertyid).addClass("hidden");
  112. }
  113. loadControl(containerid, prop) {
  114. var isrequired = 'hidden';
  115. var required = '';
  116. if (prop.IsRequired != null) {
  117. isrequired = (prop.IsRequired) ? '' : 'hidden';
  118. required = (prop.IsRequired) ? 'required' : '';
  119. }
  120. const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop);
  121. var html = '<div id="ImageUpload" class="form-group floating-label focus m-0 pt-10 pb-10">' +
  122. '<label for="lbl" id="lbl_' + prop.UniqueId + '" >' + helpTooltipHtml + '<span class="label-name">' + prop.LabelName + '</span><span class="text-danger ' + isrequired + '" id="spnIsRequired_' + prop.UniqueId + '"> *</span></label >' +
  123. '<input id="requiredImgInput_' + prop.UniqueId + '" class="hidden d-none value-control form-control requiredImgInput ' + required + '" type="text" val="">' +
  124. '<input id="img_' + prop.UniqueId + '" type="file" class="hidden fileUpload_ d-none" data-propertyname="' + prop.DocPropertyName + '" data-isdefault="' + prop.IsDefault + '" data-propdoctypename="' + prop.DocTypeName + '" data-required="' + prop.IsRequired + '" onclick="this.value=null;" />' +
  125. '<input type="button" value="Choose Image" style="color:black;margin-left:20px;height: 30px;width: 130px;" id="browse_' + prop.UniqueId + '" /><label class="hidden" id="editFileName_' + prop.UniqueId + '"></label>' +
  126. '<label for="file_' + prop.DocPropertyName + '"><span id="fileCount"></span></label><input type="hidden" id="hfId" value="">' +
  127. '<label for="Validation" id="lblValidation_' + prop.DocPropertyName + '"></label>' +
  128. '<input type="hidden" id="hfFormPropertyId" value="" />' + helpTextHtml + '</div>' +
  129. '<div class="row ml-15 fileuploads_' + prop.FormPropertyId + ' filename"><div class="row col-md-12 pl-2"><div class="row">' +
  130. '<ul class="list-group mb-n mt-n-15 no-border thumb_output_">' +
  131. '<li class="hidden no-border"></li>' +
  132. '</ul></div></div></div>';
  133. $("#" + containerid).html(html);
  134. }
  135. loadControlSettings(controlsettingjson, formpropertyid) {
  136. return null;
  137. }
  138. loadPropertySettings(propertysettings, formpropertyid) {
  139. return null;
  140. }
  141. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  142. var instance = this;
  143. if (propval != "") {
  144. var splitArray = propval.split("/");
  145. var fileName = splitArray[splitArray.length - 1];
  146. propval = propval.replaceAll("/", "\\");
  147. var fileReq = {
  148. FileId: 0,
  149. FilePath: propval,
  150. };
  151. instance.fileData[formpropertyid] = fileReq;
  152. $("#editFileName_" + formpropertyid).removeClass("hidden");
  153. instance.selectImageFile(null, fileName, formpropertyid, propval);
  154. }
  155. }
  156. fileObj(formpropertyid) {
  157. var instance = this;
  158. var file = $("#img_" + formpropertyid).get(0);
  159. var files = file.files;
  160. if (files.length == 0 && $("#editFileName_" + formpropertyid).hasClass("hidden")) {
  161. var filepath = instance.fileData[formpropertyid].FilePath;
  162. if (instance.fileData[formpropertyid].FilePath != undefined) {
  163. filepath = null;
  164. }
  165. var fileReq = {
  166. FileId: 1,
  167. FilePath: filepath,
  168. };
  169. instance.fileData[formpropertyid] = fileReq;
  170. }
  171. return instance.fileData[formpropertyid];
  172. }
  173. getBase64(item) {
  174. return __awaiter(this, void 0, void 0, function* () {
  175. var filename = "";
  176. filename = item.Files.DocumentFileName;
  177. if (filename == undefined)
  178. filename = item.Files.name;
  179. let file = item.Files;
  180. let fileInfo = item.Files.name.split('.');
  181. return new Promise((resolve, reject) => {
  182. let instance;
  183. let content = '';
  184. const reader = new FileReader();
  185. reader.readAsDataURL(item.Files);
  186. reader.onloadend = function () {
  187. return __awaiter(this, void 0, void 0, function* () {
  188. var base64String = reader.result.toString().replace(/^data:.+;base64,/, '');
  189. var fileReq = {
  190. FileData: base64String,
  191. FileName: fileInfo[0],
  192. FileType: fileInfo[1],
  193. ByteData: null
  194. };
  195. resolve(fileReq);
  196. });
  197. };
  198. reader.onerror = function (e) {
  199. reject(e);
  200. };
  201. });
  202. });
  203. }
  204. static Instance() {
  205. if (this._instance === undefined)
  206. this._instance = new ImagePicker();
  207. return this._instance;
  208. }
  209. }
  210. Controls.ImagePicker = ImagePicker;
  211. })(Controls = Forms.Controls || (Forms.Controls = {}));
  212. })(Forms = Unibase.Forms || (Unibase.Forms = {}));
  213. })(Unibase || (Unibase = {}));