mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-22 18:06:35 +00:00
* feat: onboarding v2 base setup * feat: add onboarding v2 base setup and styles - added header - questionnaire blocks - basic styling - search based on UI config method (basic for UI behaviour) - empty state result UI * refactor: update class names in OnboardingPageV2 styles * refactor(onboarding): components for QuestionBlock structural changes * feat(onboarding): question block filterByCategory added * feat(onboarding): component structure update and style updates filterByCategory styling spacing and styling fixes for options steps style for question block header styling update for sticky added actions on header * refactor(onboarding): bem SCSS nested way, this is the way * refactor: moved the flow to another file * feat: onboarding v2 base setup * refactor: color variable fixes * feat: onboarding part 3 changes * feat: update handle select framework logic * feat: add logos * chore: remove old files * feat: remove unwanted styles * feat: minor ui updates * feat: integrate invite team members and ingestion key details api * feat: update docs links * feat: added logos and fixed links * feat: added and fixed links * feat: handle routing after onboarding * chore: update base url for docs links - testing * feat: improve ux * chore: update file * feat: reset filters on next and back * feat: update config * feat: update api to use getIngestionData * feat: show region and ingestion details * feat: push changes behind feature flag * feat: adding padding to onboarding container * feat: add log events * feat: handle back button state * feat: redirect to onboarding v3 if ff is true and current path is get_started * fix: update multi ingestion key test case * feat: enable copy to clipboard --------- Co-authored-by: Sudeep MP <sudipmelepunathilmp@gmail.com> Co-authored-by: CheetoDa <Chitgupta24@gmail.com>
23 lines
644 B
TypeScript
23 lines
644 B
TypeScript
export function downloadFile(content: string, filename: string): Promise<void> {
|
|
return new Promise((resolve, reject) => {
|
|
try {
|
|
const blob = new Blob([content], { type: 'text/plain' });
|
|
const url = URL.createObjectURL(blob);
|
|
|
|
const link = document.createElement('a');
|
|
link.href = url;
|
|
link.setAttribute('download', filename);
|
|
document.body.appendChild(link);
|
|
link.click();
|
|
|
|
// Clean up after the download
|
|
document.body.removeChild(link);
|
|
URL.revokeObjectURL(url);
|
|
|
|
resolve(); // Resolve the promise when download is triggered
|
|
} catch (error) {
|
|
reject(error); // Reject in case of any errors
|
|
}
|
|
});
|
|
}
|