Jelajahi Sumber

feat: dashboard as tab

Ahmad Kholid 2 tahun lalu
induk
melakukan
585cd26dc1

+ 2 - 3
src/background/BackgroundEventsListeners.js

@@ -48,9 +48,8 @@ class BackgroundEventsListeners {
           isFirstTime: true,
           visitWebTriggers: [],
         });
-        await browser.windows.create({
-          type: 'popup',
-          state: 'maximized',
+        await browser.tabs.create({
+          active: true,
           url: browser.runtime.getURL('newtab.html#/welcome'),
         });
 

+ 3 - 11
src/background/BackgroundUtils.js

@@ -25,20 +25,12 @@ class BackgroundUtils {
           });
         }
       } else {
-        const windowOptions = {
+        const tabOptions = {
           url: tabUrl,
-          type: 'popup',
+          active: updateTab,
         };
 
-        if (updateTab) {
-          windowOptions.height = 715;
-          windowOptions.width = 715;
-          windowOptions.focused = true;
-        } else {
-          windowOptions.state = 'minimized';
-        }
-
-        await browser.windows.create(windowOptions);
+        await browser.tabs.create(tabOptions);
       }
     } catch (error) {
       console.error(error);

+ 6 - 1
src/background/index.js

@@ -113,10 +113,15 @@ message.on('workflow:stop', (stateId) => workflowState.stop(stateId));
 message.on('workflow:execute', async (workflowData, sender) => {
   const context = workflowData.settings.execContext;
   const isMV2 = browser.runtime.getManifest().manifest_version === 2;
+  console.log(
+    workflowData,
+    context,
+    !isMV2 && (!context || context === 'popup')
+  );
   if (!isMV2 && (!context || context === 'popup')) {
     await BackgroundUtils.openDashboard('', false);
     await sleep(1000);
-    console.log('halo', workflowData);
+
     await BackgroundUtils.sendMessageToDashboard('workflow:execute', {
       data: workflowData,
       options: workflowData.option,

+ 5 - 1
src/components/block/BlockBase.vue

@@ -40,7 +40,11 @@
             :name="data.disableBlock ? 'riToggleLine' : 'riToggleFill'"
           />
         </button>
-        <button title="Run workflow from here" @click.stop="runWorkflow">
+        <button
+          v-if="false"
+          title="Run workflow from here"
+          @click.stop="runWorkflow"
+        >
           <v-remixicon size="20" name="riPlayLine" />
         </button>
         <button

+ 1 - 1
src/components/newtab/shared/SharedElSelectorActions.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="inline-flex items-center">
+  <div v-if="false" class="inline-flex items-center">
     <ui-button
       v-tooltip.group="$t('workflow.blocks.base.element.select')"
       icon

+ 1 - 7
src/newtab/App.vue

@@ -231,6 +231,7 @@ const messageEvents = {
     }
   },
   'workflow:execute': function ({ data }) {
+    console.log(data);
     startWorkflowExec(data, data?.options ?? {});
   },
   'recording:stop': stopRecording,
@@ -307,15 +308,8 @@ window.addEventListener('message', ({ data }) => {
       url: browser.runtime.getURL('/newtab.html'),
     });
 
-    const currentWindow = await browser.windows.getCurrent();
-    if (currentWindow.type !== 'popup') {
-      await browser.tabs.remove([tabs[0].id]);
-      return;
-    }
-
     if (tabs.length > 1) {
       const firstTab = tabs.shift();
-      await browser.windows.update(firstTab.windowId, { focused: true });
       await browser.tabs.update(firstTab.id, { active: true });
 
       await browser.tabs.remove(tabs.map((tab) => tab.id));