[NextBrowser] HybridNavigation for open tabs popup 51/317451/5
authorshubham.garg <shubham.garg@samsung.com>
Tue, 10 Sep 2024 10:48:45 +0000 (16:18 +0530)
committerBot Blink <blinkbot@samsung.com>
Tue, 17 Sep 2024 06:19:20 +0000 (06:19 +0000)
Hybrid Navigation code for popup opened on clicking 'Delete All' in  open
tabs page.

Change-Id: I700e9deaf4c112198b0c7c6406c5d3d1f3fecba0
Signed-off-by: shubham.garg <shubham.garg@samsung.com>
chrome/browser/resources/samsung/samsung_opentabs_app.js
ui/webui/resources/js/samsung/hybridnavigation.js

index bba21faf52f1d20506f4e1a0ff525515ae3ba872..0f5f129842e25bb1f21ad45c4ee6b9657348f429 100644 (file)
@@ -8,6 +8,7 @@ import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bu
 import {getTemplate} from './samsung_opentabs_app.html.js';
 import { SamsungDataServiceImpl }  from './samsung_data_service.js';
 import {addWebUiListener} from 'chrome://resources/js/cr.js';
+import {changeIsPopUpOpened} from 'chrome://resources/js/samsung/hybridnavigation.js';
 
 export class SOpenTabsElement extends PolymerElement {
   static get is() {
@@ -114,6 +115,7 @@ onthumbnailOptionsChanged_(){
     console.log('onDeleteAllClicked_');
     this.deviceIdToBeRemoved = "";
     event.stopPropagation();
+    changeIsPopUpOpened("true");
     this.$.dialog.get().showModal();
     const button = event.target;
         const numberValue = button.getAttribute('id');
@@ -145,6 +147,7 @@ onthumbnailOptionsChanged_(){
   }
   onDialogConfirmClick_() {
     console.log('onDialogConfirmClick_');
+    changeIsPopUpOpened("false");
     const dialog = this.$.dialog.getIfExists();
     const samsungDataService = SamsungDataServiceImpl.getInstance();
     samsungDataService.removeDevice(this.deviceIdToBeRemoved);
@@ -154,6 +157,7 @@ onthumbnailOptionsChanged_(){
 
   onDialogCancelClick_() {
     console.log('onDialogCancelClick_');
+    changeIsPopUpOpened("false");
     const dialog = this.$.dialog.getIfExists();
     dialog.close();
   }
index 00fb79772f51c6e012a83e2038eb4d9cc5d89f81..01f4b61e6bb09aeea93ce9e9f61d857eff99d1a0 100644 (file)
@@ -1,11 +1,12 @@
 import {addWebUiListener} from 'chrome://resources/js/cr.js';
 let navigableElements;
 let hybridElements;
-let popupIDs = ["SETTINGS-ADD-LANGUAGES-DIALOG","SETTINGS-CLEAR-BROWSING-DATA-DIALOG"];
+let popupIDs = ["SETTINGS-ADD-LANGUAGES-DIALOG","SETTINGS-CLEAR-BROWSING-DATA-DIALOG","CR-DIALOG"];
 let selectedPopup;
 let selectedPopupNode;
 let popupElemnts = [];
 let observer ;
+let isDeleteAllPopUpOpened = "false";
 
 let HybridNavigation = function(){
 hybridElements = [];
@@ -20,10 +21,23 @@ function checkPopup(element)
     for(let i=0;i<popupIDs.length;i++)
     {
         let popId = popupIDs[i];
-        if(element.nodeName == popId)
+        if(popId == "CR-DIALOG" && element.nodeName == "CR-DIALOG")
         {
-            selectedPopup = popId;
-            selectedPopupNode=element;
+            //console.log(popId,element.nodeName);
+            if(isDeleteAllPopUpOpened == "true")
+            {
+                selectedPopup = popId;
+                selectedPopupNode = element;
+                //console.log(selectedPopup,selectedPopupNode);
+            }
+        }
+        else
+        {
+            if(element.nodeName == popId)
+            {
+                selectedPopup = popId;
+                selectedPopupNode = element;
+            }
         }
     }
 }
@@ -76,6 +90,7 @@ function getAllElements(target) {
     if(selectedPopup != undefined)
     {
         resetHybridList();
+        // mutationObserver(hybridElements);
     }
     //console.log(hybridElements);
 }
@@ -144,7 +159,19 @@ function mutationObserver(targetNodes) {
     observer = new MutationObserver(callback);
 
     targetNodes?.forEach(function(targetNode) {
-        observer.observe(targetNode, config);
+
+        // commenting it for now, might need it for popup navigation
+        // if(selectedPopup)
+        // {
+        //     if(targetNode.classList.contains("tab") || targetNode.classList.contains("cancel-button") || targetNode.classList.contains("action-button"))
+        //     {
+        //         observer.observe(targetNode, config);
+        //     }
+        // }
+        // else
+        // {
+            observer.observe(targetNode, config);
+        // }
     });
     observer.observe(document,config);
 }
@@ -423,6 +450,7 @@ function onLoad(){
     getFoucableElement();
     mutationObserver(hybridElements);
 }
+
 function refreshList(){
     //console.log('refreshList');
     getAllElements(document.body);
@@ -436,4 +464,10 @@ function hybridEnable(fx=500,fy=80){
 }
 hybridEnable();
 }
-export{HybridNavigation};
\ No newline at end of file
+
+let changeIsPopUpOpened = function(value)
+{
+    isDeleteAllPopUpOpened = value;
+    //console.log(isDeleteAllPopUpOpened);
+}
+export{HybridNavigation,changeIsPopUpOpened};
\ No newline at end of file