Ej1 api migration in EJ2 TypeScript Uploader control

8 May 20236 minutes to read

This article describes the API migration process of File Upload component from Essential JS 1 to Essential JS 2.

Accessibility

Behavior API in Essential JS 1 API in Essential JS 2
Localization property: locale

$('#uploadBox').ejUploadbox({
locale: 'es-ES'
})
property: locale

let uploader =new Uploader({
locale: 'es-ES'
})
uploader.appendTo('#ej2_Uploader')
Right to left property: enableRTL

$('#uploadBox'). ejUploadbox({
enableRTL: true
})
uploader.appendTo('#ej2_Uploader')
property: enableRtl

let uploader =new Uploader({
enableRtl: true
})
uploader.appendTo('#ej2_Uploader')

File list

Behavior API in Essential JS 1 API in Essential JS 2
Show/Hide the selected files property: showFileDetails

$('#uploadBox').ejUploadbox({
showFileDetails: false
})
property: showFileList

let uploader =new Uploader({
showFileList: false
})
uploader.appendTo('#ej2_Uploader')
Customizing the file list Not Applicable property: template

let uploader =new Uploader({
template: '#templateId'
})
uploader.appendTo('#ej2_Uploader')
Get the files in sorted form Not Applicable Method:sortFileList

let uploader =new Uploader()
uploader.appendTo('#ej2_Uploader')
uploader.sortFileList(files)
Clearing File List Not Applicable Method:clearAll

let uploader =new Uploader()
uploader.appendTo('#ej2_Uploader')
uploader.clearAll()
Event triggers when clearing Files Not Applicable Event :clearing

let uploader =new Uploader({
clearing: function() {}
})
uploader.appendTo('#ej2_Uploader')

File selection

Behavior API in Essential JS 1 API in Essential JS 2
Select multiple files to upload property: multipleFilesSelection

$('#uploadBox').ejUploadbox({
multipleFilesSelection: true
})
property: multiple

let uploader =new Uploader({
multiple: true
})
uploader.appendTo('ej2_uploadbox')
Set minimum file size to upload Not Applicable property: minFileSize

let uploader =new Uploader({
minFileSize: 1024
})
uploader.appendTo('ej2_uploadbox')
Set maximum file size to upload property: fileSize

$('#uploadBox').ejUploadbox({
fileSize: 5000
})
property: maxFileSize

let uploader =new Uploader({
maxFileSize: 5000
})
uploader.appendTo('ej2_uploadbox')
Allowed file types to select property: extensionsAllow

$('#uploadBox').ejUploadbox({
extensionsAllow: '.zip'
})
property:allowedExtensions

let uploader =new Uploader({
allowedExtensions: '.pdf'
})
uploader.appendTo('ej2_uploadbox')
Restricted files types to select property:extensionsDeny

$('#uploadBox').ejUploadbox({
extensionsDeny: '.docx'
})
Not Applicable
Display only selected details in File list property: customFileDetails

$('#uploadBox').ejUploadbox({
customFileDetails: { title: false, name: true, size: true, status: true, action: false }
})
Not Applicable
Options to customize File list dialog property:dialogAction

$('#uploadBox').ejUploadbox({
dialogAction: { modal: false, closeOnComplete: true, resize: true, drag: false, content: '#dialogTarget' }
})
Not Applicable
Customize dialog position property:dialogPosition

$('#uploadBox').ejUploadbox({
dialogPosition: {X: 300, Y 100}
})
Not Applicable
Change file list key values property:dialogText

$('#uploadBox').ejUploadbox({
dialogText: { title: 'Upload File List', name: 'File Name', size: 'File Size' }
})
Not Applicable
Change drop area text property:dropAreaText

$('#uploadBox').ejUploadbox({
dropAreaText: 'Drop files here'
})
No separate property to change dropAreaText. It can be customize using locale Texts
Change drop area height property:dropAreaHeight

$('#uploadBox').ejUploadbox({
dropAreaHeight: '100%'
})
Not Applicable
Change drop area width property:dropAreaWidth

$('#uploadBox').ejUploadbox({
dropAreaWidth: '100%'
})
Not Applicable
Dynamically push the file property:pushFile

$('#uploadBox').ejUploadbox({
pushFile: files
})
Not Applicable
Show the files uploader in server already. Not Applicable property:files
let preloadFiles = [{ name: 'nature', size: 5000, type: '.png' }]
let upload =new Uploader({
files: preloadFiles
})
upload.appendTo('#ej2_uploadBox')
Event triggers when select the file successfully Event:fileSelect

$('#uploadBox').ejUploadbox({
fileSelect: function() {}
})
Event:selected
let upload =new Uploader({
selected: onFileSelect
})
upload.appendTo('#ej2_uploadBox') function onFileSelect() {}

Upload action

Behavior API in Essential JS 1 API in Essential JS 2
Save URL property: saveUrl

$('#uploadBox').ejUploadbox({
saveUrl: 'saveUrl'
})
property: asyncSettings.saveUrl

let upload =new Uploader({
asyncSettings: { saveUrl: 'saveUrl' }
})
upload.appendTo('#ej2_uploadBox')
Remove URL property: removeUrl

$('#uploadBox').ejUploadbox({
removeUrl: 'removeUrl'
})
property: asyncSettings.removeUrl

let upload =new Uploader({
asyncSettings: { removeUrl: 'removeUrl' }
})
Automatically upload the file when files added in to upload queue property: autoUpload

$('#uploadBox').ejUploadbox({
autoUpload: false
})
property: autoUpload

let upload =new Uploader({
autoUpload: false
})
Synchronous upload property:asynUpload

$('#uploadBox').ejUploadbox({
ayncUpload: false
})
No Separate property for enabling synchronous upload. It can be enabling by using below configuration

let upload =new Uploader({
autoUpload: false
})
Key to get the selected files in server side property: uploadName

$('#uploadBox').ejUploadbox({
saveUrl: 'saveUrl', uploadName: 'UploadKey'
})
Id of the element used as key value
Upload the files dynamically Not Applicable Method: upload()

let uploader =new Uploader({
asyncSettings: { saveUrl: '' }
})
uploader.appendTo('#ej2_Uploader') uploader.upload(filesData)
Event triggers before start to upload the action Event: beforeSend

$('#uploader').ejUploadbox({
beforeSend: function () {}
})
Event: uploading

let uploader =new Uploader({
uploading: beforeUploadStart
})
uploader.appendTo('#ej2_Uploader') function beforeUploadStart() {}
Event triggers when the upload is in progress Event: inProgress

$('#uploader').ejUploadbox({
inProgress: function () {}
})
Event: progress

let uploader =new Uploader({
progress: uploadingInProgress
})
uploader.appendTo('#ej2_Uploader') function uploadingInProgress () {}
Event triggers when upload got success Event:success

$('#uploader').ejUploadbox({
success: function () {}
})
Event: success

let uploader =new Uploader({
success: uploadingSuccess
})
uploader.appendTo('#ej2_Uploader') function uploadingSuccess () {}
Event triggers when upload got failed Event:error

$('#uploader').ejUploadbox({
error: function () {}
})
Event: failure

let uploader =new Uploader({
failure: uploadingFails
})
uploader.appendTo('#ej2_Uploader') function uploadingFails () {}
Event triggers when the upload got started Event:begin

$('#uploader').ejUploadbox({
begin: function () {}
})
Not Applicable
Event triggers when cancel the upload Event:cancel

$('#uploader').ejUploadbox({
cancel : function () {}
})
Event: canceling

let uploader =new Uploader({
canceling: uploadingCancel
})
uploader.appendTo('#ej2_Uploader') function uploadingCancel () {}
Event triggers when the upload completed Event:complete

$('#uploader').ejUploadbox({
complete : function () {}
})
Not Applicable

Chunk upload

Behavior API in Essential JS 1 API in Essential JS 2
Enabling the chunk upload Not Applicable property: asyncSettings.chunkSize

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000 }
})
upload.appendTo('#ej2_uploadBox')
Retry the upload automatically when it's get failed Not Applicable property: asyncSettings.retryCount, asyncSettings.retryAfterDelay

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000, retryCount: 3, retryAfterDelay: 1000 }
})
upload.appendTo('#ej2_uploadBox')
Pause the uploading file Not Applicable Method: pause

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000 }
})
upload.appendTo('#ej2_uploadBox')
upload.pause(filesData)
Event triggers when pausing the file Not Applicable Event:pausing

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000 },
pausing: onFilePause
})
upload.appendTo('#ej2_uploadBox')
function onFilePause() {}
Resuming the paused file Not Applicable Method: resume

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000, }
})
upload.appendTo('#ej2_uploadBox')
upload.resume(filesData)
Event triggers when resuming the file Not Applicable Event: resuming

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000, },
resuming: onFileResume
})
upload.appendTo('#ej2_uploadBox')
function onFileResume () {}
Retry the failed file Not Applicable Method: retry

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000, }
})
upload.appendTo('#ej2_uploadBox')
upload.retry(filesData)
Cancel the failed file Not Applicable Method: cancel

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000, }
})
upload.appendTo('#ej2_uploadBox')
upload.cancel(filesData)
Event triggers when cancel the file Not Applicable Event: canceling

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000 }, canceling: onFileCancel
})
upload.appendTo('#ej2_uploadBox')
function onFileCancel(){}
Event triggers when chunk file fails Not Applicable Event:chunkFailure

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000 }, chunkFailure: onChunkFail
})
upload.appendTo('#ej2_uploadBox')
function onChunkFail() {}
Event triggers when chunk file success Not Applicable Event: chunkSuccess

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', chunkSize: 50000 }, chunkSuccess: onChunkSuccess
})
upload.appendTo('#ej2_uploadBox')
function onChunkSuccess () {}

Remove action

Behavior API in Essential JS 1 API in Essential JS 2
Remove the uploaded file Not Applicable Method: remove

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', removeUrl:'removeUrl' }
})
upload.appendTo('#ej2_uploadBox')
upload.remove(filesData)
Event triggers when the file removing succeed Event:remove

$('#uploadBox').ejUploadbox({
remove: function() {}
})
Event:success

let upload =new Uploader({
asyncSettings: { saveUrl: 'save url' },
Success: onRemoveSuccess
})
upload.appendTo('#ej2_uploadBox')
function onRemoveSuccess () {}
Event triggers when the file removing fails Not Applicable Event: failure
let upload =new Uploader({
asyncSettings: { saveUrl: 'save url', removeUrl: 'remove url' },
failure: onRemoveFailure
})
upload.appendTo('#ej2_uploadBox')
function onRemoveFailure () {}

Buttons

Behavior API in Essential JS 1 API in Essential JS 2
Customize button text property: buttonText

$('#uploadBox').ejUploadbox({
remove: function() {}
})
property: buttons

let upload =new Uploader({
buttons: { browse: 'Choose File', clear: 'Clear files', upload: 'upload Files' }
})

Drag and drop

Behavior API in Essential JS 1 API in Essential JS 2
Enable drag and drop upload property: allowDragAndDrop

$('#uploadBox').ejUploadbox({
allowDragAndDrop: true
})
No separate property to disabling drag and drop
Set custom drop area Not Applicable property: dropArea

let upload =new Uploader({
dropArea: dropElement
})

Common

Behavior API in Essential JS 1 API in Essential JS 2
Adding custom class to wrapper element property: cssClass

$('#uploadBox').ejUploadbox({
cssClass: 'Custom-Class'
})
Not Applicable
Enable/Disable the control property: enabled

$('#uploadBox').ejUploadbox({
enabled: false
})
Method: enable(), disable()
property:enabled

let upload =new Uploader({
enabled: false
})
Set height for uploader property:height

$('#uploadBox').ejUploadbox({
height: '100%'
})
Not Applicable
Set width for uploader property:width

$('#uploadBox').ejUploadbox({
width: '100%'
})
Not Applicable
Adding HTML attributes property:htmlAttributes

$('#uploadBox').ejUploadbox({
htmlAttributes: {'aria-label': 'UploadBox'}
})
Not Applicable
Event triggers when control created successfully Event:create

$('#uploadBox').ejUploadbox({
create: function () {}
})
Event:created

let uploader =new Uploader({
created: function() {}
})
Event triggers when destroy the control Event:destroy

$('#uploadBox').ejUploadbox({
destroy: function () {}
})
Not Applicable
Keeping the model values in cookies property:enablePersistence

$('#uploadBox').ejUploadbox({
enablePersistence: true
})
property:enablePersistence

let uploader =new Uploader({
enablePersistence: true
})
Get the selected files data Not Applicable Method:getFilesData

let uploader =new Uploader()
uploader.appendTo('#uploadbox')
uploader.getFilesData()
Convert bytes in to MB, GB Not Applicable Method:bytesToSize

let uploader =new Uploader()
uploader.appendTo('#uploadbox')
uploader.bytesToSize(5000)