Iniit
This commit is contained in:
@@ -0,0 +1,228 @@
|
||||
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 = {}));
|
||||
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
@@ -0,0 +1,35 @@
|
||||
var Unibase;
|
||||
(function (Unibase) {
|
||||
let Forms;
|
||||
(function (Forms) {
|
||||
let Controls;
|
||||
(function (Controls) {
|
||||
class FolderUpload_Settings {
|
||||
loadSettingHtml() {
|
||||
return ``;
|
||||
}
|
||||
bindControlData(controldatajson) {
|
||||
return "";
|
||||
}
|
||||
SaveControlData(controldatajson) {
|
||||
return "";
|
||||
}
|
||||
loadControlPropertiesHtml(Container) {
|
||||
return "";
|
||||
}
|
||||
bindPropertySettings(prop) {
|
||||
return "";
|
||||
}
|
||||
savePropertySettings(prop) {
|
||||
return "";
|
||||
}
|
||||
static Instance() {
|
||||
if (this._instance === undefined)
|
||||
this._instance = new FolderUpload_Settings();
|
||||
return this._instance;
|
||||
}
|
||||
}
|
||||
Controls.FolderUpload_Settings = FolderUpload_Settings;
|
||||
})(Controls = Forms.Controls || (Forms.Controls = {}));
|
||||
})(Forms = Unibase.Forms || (Unibase.Forms = {}));
|
||||
})(Unibase || (Unibase = {}));
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"folderupload.setting.js","sourceRoot":"","sources":["folderupload.setting.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAyChB;AAzCD,WAAU,OAAO;IACb,IAAiB,KAAK,CAuCrB;IAvCD,WAAiB,KAAK;QAClB,IAAiB,QAAQ,CAqCxB;QArCD,WAAiB,QAAQ;YACrB,MAAa,qBAAqB;gBAE9B,eAAe;oBACX,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,eAAe,CAAC,eAAoB;oBAChC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,eAAe,CAAC,eAAoB;oBAChC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,yBAAyB,CAAC,SAAS;oBAS/B,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,oBAAoB,CAAC,IAAgB;oBACjC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,oBAAoB,CAAC,IAAgB;oBACjC,OAAO,EAAE,CAAC;gBACd,CAAC;gBAGD,MAAM,CAAC,QAAQ;oBACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;wBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;oBACjD,OAAO,IAAI,CAAC,SAAS,CAAC;gBAC1B,CAAC;aACJ;YAnCY,8BAAqB,wBAmCjC,CAAA;QACL,CAAC,EArCgB,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAqCxB;IACL,CAAC,EAvCgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAuCrB;AACL,CAAC,EAzCS,OAAO,KAAP,OAAO,QAyChB"}
|
||||
+1
@@ -0,0 +1 @@
|
||||
var Unibase;(function(n){let t;(function(n){let t;(function(n){class t{loadSettingHtml(){return``}bindControlData(){return""}SaveControlData(){return""}loadControlPropertiesHtml(){return""}bindPropertySettings(){return""}savePropertySettings(){return""}static Instance(){return this._instance===undefined&&(this._instance=new t),this._instance}}n.FolderUpload_Settings=t})(t=n.Controls||(n.Controls={}))})(t=n.Forms||(n.Forms={}))})(Unibase||(Unibase={}));
|
||||
Reference in New Issue
Block a user