Sub FileManager_FolderChange(folder As String)
Log("folder: " & folder)
Dim FileManager As ABMFileManager = page.Component("FileManager")
FileManager.LoadFolder(folder, ThumbnailFolder, True)
ws.Session.SetAttribute("abmtargetfolder", FileManager.CurrentFullPath)
End Sub
Sub FileManager_RequestForDownload(jsonList As String)
page.Pause
Dim FileManager As ABMFileManager = page.Component("FileManager")
Dim json As JSONParser
json.Initialize(jsonList)
Dim files As List
files = FileManager.ExtractFullPathFileNamesFromJson(json, FileManager.CurrentFullPath)
JobID = JobID + 1
ABM.Util.Zip(files, File.DirApp & "/www/" & ABMShared.AppName & "/temp", JobID & ".zip")
FileManager.StartDownload("../temp/" & JobID & ".zip", "Files.zip", JobID)
End Sub
Sub FileManager_Downloaded(jobcode As String)
File.Delete(File.DirApp & "/www/" & ABMShared.AppName & "/temp", JobID & ".zip")
page.Resume
End Sub
Sub FileManager_RequestForDelete(jsonList As String)
Dim FileManager As ABMFileManager = page.Component("FileManager")
Dim json As JSONParser
json.Initialize(jsonList)
Dim files As List
files = FileManager.ExtractFileNamesFromJson(json)
For i = 0 To files.Size - 1
DeleteFiles(FileManager.CurrentFullPath, files.Get(i))
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastred", files.Get(i) & " deleted", 3000, False)
Next
FileManager.LoadFolder(FileManager.CurrentPath, ThumbnailFolder, True)
End Sub
Sub DeleteFiles(FullPath As String, fileName As String)
If File.IsDirectory(FullPath, fileName) Then
Dim files As List
files = File.ListFiles(FullPath & "/" & fileName)
For i = 0 To files.Size - 1
DeleteFiles(FullPath & "/" & fileName, files.Get(i))
Next
End If
File.Delete(FullPath,fileName)
End Sub
Sub Page_FileUploaded(FileName As String, success As Boolean)
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastgreen", "Uploaded " & FileName, 3000, False)
End Sub
Sub FileManager_UploadStarted()
Log("Upload started")
page.Pause
End Sub
Sub FileManager_Uploaded()
Log("Uploaded")
Dim FileManager As ABMFileManager = page.Component("FileManager")
FileManager.LoadFolder(FileManager.CurrentPath, ThumbnailFolder, True)
page.Resume
End Sub
Sub FileManager_UploadFailed(status As String, message As String)
Log("Upload failed: " & message)
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastred", "There was an error uploading the files!", 3000, False)
page.Resume
End Sub
Sub FileManager_RequestForCopyPaste(fromFolder As String, jsonList As String)
Dim FileManager As ABMFileManager = page.Component("FileManager")
Dim json As JSONParser
json.Initialize(jsonList)
Dim files As List
files = FileManager.ExtractFileNamesFromJson(json)
For i = 0 To files.Size - 1
If fromFolder <> "" Then
Log("Copy " & FileManager.RootFolder & "/" & fromFolder & "/" & files.Get(i) & " to " & FileManager.CurrentFullPath & "/" & files.Get(i))
CopyFiles(FileManager.RootFolder & "/" & fromFolder, files.Get(i), FileManager.CurrentFullPath, files.Get(i))
Else ' root
Log("Copy " & FileManager.RootFolder & "/" & files.Get(i) & " to " & FileManager.CurrentFullPath & "/" & files.Get(i))
CopyFiles(FileManager.RootFolder, files.Get(i), FileManager.CurrentFullPath, files.Get(i))
End If
Next
FileManager.LoadFolder(FileManager.CurrentPath, ThumbnailFolder, True)
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastgreen", "Files copied and pasted!", 3000, False)
End Sub
Sub CopyFiles(srcFullPath As String, srcfileName As String, tgtFullPath As String, tgtfileName As String)
If File.IsDirectory(srcFullPath, srcfileName) Then
File.MakeDir(tgtFullPath, srcfileName)
Dim files As List
files = File.ListFiles(srcFullPath & "/" & srcfileName)
For i = 0 To files.Size - 1
CopyFiles(srcFullPath & "/" & srcfileName, files.Get(i), tgtFullPath & "/" & tgtfileName, files.Get(i))
Next
Else
Dim counter As Int = 0
If File.Exists(tgtFullPath, tgtfileName) Then
Dim tgtFileNameBody As String
Dim tgtFileNameExt As String
Dim j As Int = tgtfileName.LastIndexOf(".")
If j > -1 Then
tgtFileNameBody = tgtfileName.SubString2(0, j)
tgtFileNameExt = tgtfileName.SubString(j)
Else
tgtFileNameBody = tgtfileName
End If
Do While File.Exists(tgtFullPath, tgtfileName)
counter = counter + 1
tgtfileName = tgtFileNameBody & " (" & counter & ")" & tgtFileNameExt
Loop
End If
File.Copy(srcFullPath, srcfileName, tgtFullPath, tgtfileName)
End If
End Sub
Sub FileManager_RequestForCutPaste(fromFolder As String, jsonList As String)
Dim FileManager As ABMFileManager = page.Component("FileManager")
Dim json As JSONParser
json.Initialize(jsonList)
Dim files As List
files = FileManager.ExtractFileNamesFromJson(json)
For i = 0 To files.Size - 1
If fromFolder <> "" Then
Log("Cut " & FileManager.RootFolder & "/" & fromFolder & "/" & files.Get(i) & " to " & FileManager.CurrentFullPath & "/" & files.Get(i))
CutFiles(FileManager.RootFolder & "/" & fromFolder, files.Get(i), FileManager.CurrentFullPath, files.Get(i))
Else ' root
Log("Cut " & FileManager.RootFolder & "/" & files.Get(i) & " to " & FileManager.CurrentFullPath & "/" & files.Get(i))
CutFiles(FileManager.RootFolder, files.Get(i), FileManager.CurrentFullPath, files.Get(i))
End If
Next
FileManager.LoadFolder(FileManager.CurrentPath, ThumbnailFolder, True)
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastgreen", "Files cut & pasted!", 3000, False)
End Sub
Sub CutFiles(srcFullPath As String, srcfileName As String, tgtFullPath As String, tgtfileName As String)
If File.IsDirectory(srcFullPath, srcfileName) Then
File.MakeDir(tgtFullPath, srcfileName)
Dim files As List
files = File.ListFiles(srcFullPath & "/" & srcfileName)
For i = 0 To files.Size - 1
CutFiles(srcFullPath & "/" & srcfileName, files.Get(i), tgtFullPath & "/" & tgtfileName, files.Get(i))
Next
File.Delete(srcFullPath, srcfileName)
Else
ABM.Util.MoveFile(srcFullPath, srcfileName, tgtFullPath, tgtfileName)
End If
End Sub
Sub FileManager_RequestForRename(oldFileName As String)
CurrentOldFileName=oldFileName
page.InputBox("RenameInput", "Enter the new name","OK", "CANCEL", True, ABM.INPUTBOX_TYPE_QUESTION, ABM.INPUTBOX_QUESTIONTYPE_TEXT,oldFileName,"", "", "Not a valid name",False, ABM.MSGBOX_POS_CENTER_CENTER,"")
End Sub
Sub FileManager_RequestForCreateFolder()
page.InputBox("CreateInput", "Enter the new folder name","OK", "CANCEL", True, ABM.INPUTBOX_TYPE_QUESTION, ABM.INPUTBOX_QUESTIONTYPE_TEXT,"","", "", "Not a valid name",False, ABM.MSGBOX_POS_CENTER_CENTER,"")
End Sub
Sub Page_InputboxResult(returnName As String, result As String)
If result <> "abmcancel" Then
Select Case returnName
Case "RenameInput"
Dim FileManager As ABMFileManager = page.Component("FileManager")
ABM.Util.RenameFile(FileManager.CurrentFullPath, CurrentOldFileName, result)
FileManager.LoadFolder(FileManager.CurrentPath, ThumbnailFolder, True)
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastgreen", "File renamed!", 3000, False)
Case "CreateInput"
Dim FileManager As ABMFileManager = page.Component("FileManager")
File.MakeDir(FileManager.CurrentFullPath, result)
FileManager.LoadFolder(FileManager.CurrentPath, ThumbnailFolder, True)
myToastId = myToastId + 1
page.ShowToast("toast" & myToastId, "toastgreen", "Folder created!", 3000, False)
End Select
End If
End Sub