123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- let Folderdata;
- var Unibase;
- (function (Unibase) {
- let Forms;
- (function (Forms) {
- let Controls;
- (function (Controls) {
- class FolderUpload extends Unibase.Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this.formPropArray = [];
- this.isMultipleArray = [];
- this.files_array = [];
- this.documentId = [];
- }
- init(formpropertyid, prop, callback) {
- var container = "control-container-" + prop.UniqueId;
- var instance = this;
- if (instance.formPropArray.length == 0 || $("#folder_" + prop.UniqueId).val() == "") {
- instance.itemid = 0;
- instance.doc_array = [];
- instance.files_array[formpropertyid] = [];
- instance.documentId[formpropertyid] = 0;
- instance.Singledoc_array = [];
- instance.rmvFiles_array = [];
- instance.ismultiple = "false";
- instance.local_container = container;
- instance.singlefile = "";
- instance.formPropArray = [];
- var newValues = instance.formPropArray.find(x => x.formpropertyid = formpropertyid);
- }
- else {
- var newValues = instance.formPropArray.find(x => x.formpropertyid = prop.UniqueId);
- instance.assignValues(newValues);
- }
- instance.loadPropertySettings(prop.PropertySettings, prop.UniqueId);
- $('#browse_' + prop.UniqueId).click(function () {
- $("#folder_" + prop.UniqueId).click();
- });
- $("#folder_" + prop.UniqueId).change(function () {
- instance.DirectoryUpload(prop.UniqueId);
- });
- Unibase.Platform.Files.Managers.FileManager.Instance().getDocumentTypes().then(function (response) {
- instance.documenttypes = JSON.parse(response.result);
- }).then(function () {
- if (callback != null) {
- callback();
- }
- });
- }
- loadControl(container, prop) {
- var instance = this;
- var required = prop.IsRequired != true ? '' : 'required';
- var html = '<div id="paneldrag" class="col-sm-12 mt-20 drag"><div class="col-sm-12" id="panel"><p>' +
- '<div class="text-center"><i class="fa fa-cloud-download fa-3x" aria-hidden="true"></i></div>' +
- '<div class="text-center" id="drag" style="font-size:medium">Drag and drop folder here</div>' +
- '<div class="text-center">Or</div>' +
- '</p></div>' +
- '<div class="row mb-10" id="UploadDiv_' + prop.DocPropertyName + '"><div class="upload-btn-wrapper text-center container">' +
- '<input id="folder_' + prop.UniqueId + '" title="" webkitdirectory mozdirectory name=file type="file" class="hidden fileUpload_ form-control value-control ' + required + '" data-isrequired="' + prop.IsRequired + '" data-propertyname="' + prop.DocPropertyName + '" data-isdefault="' + prop.IsDefault + '" data-propdoctypename="' + prop.DocTypeName + '" data-required="' + prop.IsRequired + '" data-formdata="" value="Unibase.Forms.Controls.FolderUpload.Instance().folderUploadObj(' + prop.UniqueId + ');"/>' +
- '<input type="button" value="Browse" class="btn btn-primary btn-lg center-block" id="browse_' + prop.UniqueId + '" />' +
- '</div></div></div>' +
- '<div class="row ml-15 fileuploads_ filename" id="fileuploads_' + prop.UniqueId + '"><div class="row col-sm-12 ml-10 mt-10 pull-center thumb_doc"><div class="col-sm-12 row pl-0"><div class="input-group">' +
- '<span class="Selectedfile_ text-dark hidden"><h5 class="Selection mb-10 mt-10">Selected Files :</h5> <span class="Selectedfile"></span></span>' +
- '</div></div><div class="row col-sm-12 pl-0 pr-0">' +
- '<ul id="ulselectedfiles_' + prop.UniqueId + '" class="list-group mb-n mt-n-15 no-border ulselectedfiles col-sm-12 pl-0 pr-0">' +
- '<li class="hidden no-border"></li>' +
- '</ul></div></div></div>';
- $("#" + container).html(html);
- $(".drag").css("border", "3px dashed #cccccc");
- }
- loadControlSettings(controlsettingjson, formpropertyid) {
- return __awaiter(this, void 0, void 0, function* () {
- });
- }
- loadPropertySettings(propertysettings, formpropertyid) {
- }
- bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
- var instance = this;
- propval = propval.replaceAll("\\", "/");
- var documentInfo = JSON.parse(propval);
- var containerid = "control-container-" + formpropertyid;
- instance.documentId[formpropertyid] = documentInfo.DocumentId;
- if (!isNaN(Number(propval))) {
- Unibase.Platform.Files.Managers.FileManager.Instance().getDocumentByRefId(Number(propval), formpropertyid).then(function (response) {
- documentInfo = response.result;
- }).then(function () {
- if (documentInfo !== "") {
- instance.bindData(documentInfo, formpropertyid);
- }
- });
- }
- else {
- documentInfo = JSON.parse(propval);
- instance.bindData(documentInfo, formpropertyid);
- }
- }
- bindData(documentInfo, formpropertyid) {
- }
- folderUploadObj(formpropertyid) {
- var instance = this;
- return instance.files_array[formpropertyid];
- }
- emptydoc_array(container) {
- }
- DirectoryUpload(formpropertyid) {
- var instance = this;
- var folder = [];
- var fileUpload = $("#folder_" + formpropertyid).get(0);
- var files = fileUpload.files;
- var foldername = files[0].webkitRelativePath.split("/")[0];
- var imgShow = "";
- imgShow = 'tenants/default/documenttypes/folder.png';
- var html = '<li class="hidden no-border"><li class="list-group-item_' + formpropertyid + ' b-a clear pl-0 pr-0" style="border: none">' +
- '<span id="fileuploads_' + formpropertyid + '_' + instance.itemid + '" class="block fileuploads_' + instance.itemid + ' foldername">' +
- '<span class="pull-left col-sm-12 pl-0 pr-0">' +
- '<span class="fa fa-trash-o fa-lg text-danger mr-15" style="cursor:pointer" ; href="javascript:;" onclick="javascript:Unibase.Forms.Controls.FolderUpload.Instance().removeFolder(' + formpropertyid + ',' + instance.itemid + ',\'' + foldername + '\'' + ',' + 0 + ');" title="Click to Delete"></span>' +
- '<img class="mr-20" style="height:35px;width:35px;vertical-align:middle; onerror="ReloadImage(event)" alt="" alt="" src="' + imgShow + '">' +
- '<span class="fileName">' + foldername + '</span>' +
- '</span></span></li></li>';
- $('#ulselectedfiles_' + formpropertyid).html(html);
- $('#fileuploads_' + formpropertyid).find('.Selectedfile_').removeClass("hidden");
- instance.files_array[formpropertyid] = [];
- for (var i = 0; i < files.length; i++) {
- var curFile = files[i];
- var item = { Files: curFile };
- instance.getBase64(item).then(function (response) {
- var fileInfo = response;
- instance.files_array[formpropertyid].push(fileInfo);
- });
- }
- }
- assignValues(newValues) {
- }
- getBase64(item) {
- return __awaiter(this, void 0, void 0, function* () {
- var filename = "";
- filename = item.Files.DocumentFileName;
- if (filename == undefined)
- filename = item.Files.name;
- var refId = 0;
- if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
- var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- refId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value);
- }
- let file = item.Files;
- let fileInfo = item.Files.name.split('.');
- return new Promise((resolve, reject) => {
- let content = '';
- const reader = new FileReader();
- reader.readAsDataURL(item.Files);
- reader.onloadend = function () {
- var base64String = reader.result.toString().replace(/^data:.+;base64,/, '');
- var fileReq = {
- FileData: base64String,
- FileName: fileInfo[0],
- FileType: fileInfo[1],
- ByteData: null,
- FolderPath: file.webkitRelativePath,
- FolderName: file.webkitRelativePath.split("/")[0],
- RefId: refId
- };
- resolve(fileReq);
- };
- reader.onerror = function (e) {
- reject(e);
- };
- });
- });
- }
- removeFolder(formpropertyid, itemid, foldername, DocumentFileId) {
- $("#folder_" + formpropertyid).val("");
- foldername = decodeURIComponent(foldername.replace(/\%2E/g, "'"));
- var instance = this;
- var isRequired = $("#file_" + formpropertyid).data("isrequired");
- if (isRequired) {
- var fileArray = instance.files_array[formpropertyid];
- if (fileArray.length == 0) {
- $("#file_" + formpropertyid).addClass("required");
- }
- }
- if (instance.formPropArray.length > 0) {
- var index = instance.formPropArray.findIndex((obj => obj.key == formpropertyid));
- if (index >= 0) {
- var newValues = instance.formPropArray[index].value;
- instance.assignValues(newValues);
- }
- }
- instance.rmvFiles_array.push({ DocumentFileId: DocumentFileId, name: foldername });
- $("#fileuploads_" + formpropertyid + "_" + itemid).addClass("hidden");
- $("#fileuploads_" + formpropertyid + "_" + itemid).parents('.list-group-item').remove();
- for (var i = 0; i < instance.doc_array.length; i++) {
- var filename = "";
- filename = instance.doc_array[i].Files.DocumentFileName;
- if (filename == undefined)
- filename = instance.doc_array[i].Files.name;
- if (filename == foldername) {
- var fileNameWithoutExt = foldername;
- var fileIndex = instance.files_array[formpropertyid].findIndex(x => x.FileName == fileNameWithoutExt);
- instance.files_array[formpropertyid].splice(fileIndex, 1);
- if (instance.files_array[formpropertyid].length == 0) {
- $("#file_" + formpropertyid).val(null);
- }
- instance.doc_array = $.grep(instance.doc_array, function (value) {
- return value != instance.doc_array[i];
- });
- }
- }
- }
- static Instance() {
- if (this._instance === undefined)
- this._instance = new FolderUpload();
- return this._instance;
- }
- }
- Controls.FolderUpload = FolderUpload;
- })(Controls = Forms.Controls || (Forms.Controls = {}));
- })(Forms = Unibase.Forms || (Unibase.Forms = {}));
- })(Unibase || (Unibase = {}));
|