diff --git a/package.json b/package.json index a210fae..1cf6ff9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vectorize-io/vectorize-connect", - "version": "0.3.6", + "version": "0.3.7", "description": "A simple package for Google Drive authorization and file selection", "main": "dist/index.js", "module": "dist/index.mjs", diff --git a/src/baseOAuth/ui/picker.ts b/src/baseOAuth/ui/picker.ts index 2bee52e..6337ac3 100644 --- a/src/baseOAuth/ui/picker.ts +++ b/src/baseOAuth/ui/picker.ts @@ -41,8 +41,8 @@ export abstract class BasePicker { header: `

Selected Files and Folders

-
\` ).join(''); + + // Attach event listeners to remove buttons + document.querySelectorAll('.remove-file-btn').forEach(btn => { + btn.addEventListener('click', (e) => { + const fileId = e.currentTarget.getAttribute('data-file-id'); + removeFile(fileId); + }); + }); submitButton.style.display = 'flex'; } @@ -178,6 +186,9 @@ export abstract class BasePicker { } } + // Attach event listeners + document.getElementById('finishButton')?.addEventListener('click', finishSelection); + // Initialize file list with pre-selected files if any if (selectedFiles.length > 0) { updateFileList(); @@ -211,8 +222,59 @@ export abstract class BasePicker { ${title} - - ${styles} + ${head} diff --git a/src/dropBoxOAuth/ui/picker.ts b/src/dropBoxOAuth/ui/picker.ts index edb9048..e5ff4a3 100644 --- a/src/dropBoxOAuth/ui/picker.ts +++ b/src/dropBoxOAuth/ui/picker.ts @@ -194,6 +194,9 @@ export class DropboxPicker extends BasePicker { loadDropboxChooser(); } + // Attach event listener for Select More button + document.getElementById('selectMoreButton')?.addEventListener('click', handleSelectMore); + // Initialize page when it loads window.addEventListener('DOMContentLoaded', function() { // Preload the Dropbox SDK but don't open the chooser diff --git a/src/googleDriveOAuth/ui/picker.ts b/src/googleDriveOAuth/ui/picker.ts index f6540c0..36e2986 100644 --- a/src/googleDriveOAuth/ui/picker.ts +++ b/src/googleDriveOAuth/ui/picker.ts @@ -131,6 +131,9 @@ export class GoogleDrivePicker extends BasePicker { loadPicker(); } + // Attach event listener for Select More button + document.getElementById('selectMoreButton')?.addEventListener('click', handleSelectMore); + // Initialize picker // loadPicker(); `; diff --git a/src/notionOAuth/ui/picker.ts b/src/notionOAuth/ui/picker.ts index 420a58b..9101867 100644 --- a/src/notionOAuth/ui/picker.ts +++ b/src/notionOAuth/ui/picker.ts @@ -594,7 +594,7 @@ export class NotionPicker {
\${escapeHtml(db.name)}
- + @@ -602,11 +602,19 @@ export class NotionPicker { \`; - - // Set up click handler + + // Set up click handler for card card.addEventListener('click', function() { toggleItemSelection(this); }); + + // Prevent link click from triggering card selection + const link = card.querySelector('.notion-link'); + if (link) { + link.addEventListener('click', function(e) { + e.stopPropagation(); + }); + } grid.appendChild(card); }); @@ -633,7 +641,7 @@ export class NotionPicker {
\${escapeHtml(page.title)}
- + @@ -641,11 +649,19 @@ export class NotionPicker { \`; - - // Set up click handler + + // Set up click handler for card card.addEventListener('click', function() { toggleItemSelection(this); }); + + // Prevent link click from triggering card selection + const pageLink = card.querySelector('.notion-link'); + if (pageLink) { + pageLink.addEventListener('click', function(e) { + e.stopPropagation(); + }); + } grid.appendChild(card); });