Benutzerdefinierte Download Funktion für GridJs
Wie man eine benutzerdefinierte Download-Funktion für GridJs implementiert
GridJs bietet einen flexiblen Download-Mechanismus, mit dem Sie das Verhalten beim Herunterladen von Dateien anpassen können. Sie können eine benutzerdefinierte Download-Funktion festlegen, um den Datei-Download nach Ihren Anforderungen zu steuern.
Benutzerspezifische Download-Funktion festlegen
GridJs stellt die Methode setFileDownloadCallFunction bereit, um eine benutzerdefinierte Download-Funktion festzulegen. Wenn Benutzer auf die Download-Schaltfläche klicken, wird diese Funktion mit bestimmten Parametern aufgerufen.
Grundlegende Verwendung
// Define your custom download function
function customDownloadHandler(toFileName, outputType, saveMode) {
console.log('File Name:', toFileName);
console.log('Output Type:', outputType);
console.log('Save Mode:', saveMode);
// Implement your custom download logic here
// For example: upload to cloud storage, save to custom location, etc.
}
// Set the custom download function
xs.setFileDownloadCallFunction(customDownloadHandler);
Funktionsparameter
Die benutzerdefinierte Download-Funktion erhält drei Parameter:
1. toFileName
- Typ: String
- Beschreibung: Der Name der herunterzuladenden Datei
- Beispiel:
"meinedatei.xlsx","bericht.pdf"
2. outputType
- Typ: String
- Beschreibung: Der Ausgabe-Dateityp
- Mögliche Werte:
Original- Beibehaltung des ursprünglichen DateiformatsXLSX- Export im Excel-FormatPDF- Export im PDF-FormatHTML- Export im HTML-Format
3. saveMode
- Typ: String
- Beschreibung: Der Modus des Speicherziels
- Mögliche Werte:
Gerät- Download auf das lokale Gerät (Standard)GoogleDrive- Speichern auf Google DriveDropbox- Speichern auf Dropbox
Download-Szenarien
GridJs unterstützt mehrere Download-Szenarien basierend auf unterschiedlichen Benutzeraktionen:
1. Download in Verschiedenen Formaten
function customDownloadHandler(toFileName, outputType, saveMode) {
switch(outputType) {
case 'Original':
// Handle original format download
downloadAsOriginal(toFileName);
break;
case 'XLSX':
// Handle Excel format download
downloadAsExcel(toFileName);
break;
case 'PDF':
// Handle PDF format download
downloadAsPDF(toFileName);
break;
case 'HTML':
// Handle HTML format download
downloadAsHTML(toFileName);
break;
}
}
xs.setFileDownloadCallFunction(customDownloadHandler);
2. Speichern in Cloud-Speicher
function customDownloadHandler(toFileName, outputType, saveMode) {
if (saveMode === 'GoogleDrive') {
// Implement Google Drive upload logic
uploadToGoogleDrive(toFileName, outputType);
} else if (saveMode === 'Dropbox') {
// Implement Dropbox upload logic
uploadToDropbox(toFileName, outputType);
} else {
// Default: download to device
downloadToDevice(toFileName, outputType);
}
}
xs.setFileDownloadCallFunction(customDownloadHandler);
Hinweise
-
Funktionsregistrierung: Stellen Sie sicher, dass Sie
setFileDownloadCallFunctionaufrufen, bevor Nutzer mit der Download-Funktion interagieren. -
Fehlerbehandlung: Implementieren Sie stets eine ordnungsgemäße Fehlerbehandlung in Ihrer benutzerdefinierten Download-Funktion, um Feedback an die Nutzer zu geben.
-
Asynchrone Operationen: Wenn Ihre Download-Logik asynchrone Operationen umfasst (wie API-Aufrufe), stellen Sie sicher, dass Sie Promises ordnungsgemäß behandeln.
-
Dateinamen-Erweiterung: Wenn der Ausgabetyp nicht “Original” ist, wird die Dateierweiterung automatisch an den Ausgabetyp angepasst (z.B.
.xlsx,.pdf,.html). -
Standardverhalten: Wenn Sie keine benutzerdefinierte Download-Funktion festlegen, verwendet GridJs sein Standard-Downloadverhalten.