@@ -1042,6 +1042,15 @@ define(function (require, exports, module) {
10421042 return takedownExtensionList . has ( extensionID ) ;
10431043 }
10441044
1045+ /**
1046+ * Uninstall a deprecated extension
1047+ * @param {string } extensionID - The ID of the extension to uninstall
1048+ */
1049+ function uninstallExtension ( extensionID ) {
1050+ // TODO: Implement uninstall logic
1051+ alert ( `Uninstall button clicked for extension: ${ extensionID } ` ) ;
1052+ }
1053+
10451054 /**
10461055 * Check if any deprecated extensions are installed and show a dialog once per extension
10471056 * @private
@@ -1086,6 +1095,12 @@ define(function (require, exports, module) {
10861095 const $template = $ ( Mustache . render ( DeprecatedExtensionsTemplate , templateVars ) ) ;
10871096 Dialogs . showModalDialogUsingTemplate ( $template ) ;
10881097
1098+ // Wire up uninstall button click handlers
1099+ $template . on ( 'click' , '.uninstall-extension-btn' , function ( ) {
1100+ const extensionID = $ ( this ) . data ( 'extension-id' ) ;
1101+ uninstallExtension ( extensionID ) ;
1102+ } ) ;
1103+
10891104 // Mark each extension as shown
10901105 for ( const ext of deprecatedExtensionsFound ) {
10911106 shownDeprecatedExtensions [ ext . id ] = true ;
@@ -1117,6 +1132,7 @@ define(function (require, exports, module) {
11171132 exports . loadAllExtensionsInNativeDirectory = loadAllExtensionsInNativeDirectory ;
11181133 exports . loadExtensionFromNativeDirectory = loadExtensionFromNativeDirectory ;
11191134 exports . isExtensionTakenDown = isExtensionTakenDown ;
1135+ exports . uninstallExtension = uninstallExtension ;
11201136 exports . testAllExtensionsInNativeDirectory = testAllExtensionsInNativeDirectory ;
11211137 exports . testAllDefaultExtensions = testAllDefaultExtensions ;
11221138 exports . EVENT_EXTENSION_LOADED = EVENT_EXTENSION_LOADED ;
0 commit comments