From 6b581bd978f390e1f74d2451a28d8c922b6723da Mon Sep 17 00:00:00 2001 From: Tony Trinh Date: Fri, 23 Oct 2020 21:51:30 -0500 Subject: [PATCH] feat: open browser when toast clicked --- packages/@vue/cli-ui/apollo-server/util/notification.js | 9 ++++++++- packages/@vue/cli/lib/ui.js | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli-ui/apollo-server/util/notification.js b/packages/@vue/cli-ui/apollo-server/util/notification.js index 3fcacfe56f..35be5e2009 100644 --- a/packages/@vue/cli-ui/apollo-server/util/notification.js +++ b/packages/@vue/cli-ui/apollo-server/util/notification.js @@ -6,10 +6,17 @@ const builtinIcons = { error: path.resolve(__dirname, '../../src/assets/error.png') } +let notifCallback = null +exports.setNotificationCallback = cb => { + notifCallback = cb + ? (_err, action) => (action === 'activate') && cb() + : null +} + exports.notify = ({ title, message, icon }) => { notifier.notify({ title, message, icon: builtinIcons[icon] || icon - }) + }, notifCallback) } diff --git a/packages/@vue/cli/lib/ui.js b/packages/@vue/cli/lib/ui.js index bb90a98002..8d928b1a36 100644 --- a/packages/@vue/cli/lib/ui.js +++ b/packages/@vue/cli/lib/ui.js @@ -1,6 +1,7 @@ const { log, error, openBrowser } = require('@vue/cli-shared-utils') const { portfinder, server } = require('@vue/cli-ui/server') const shortid = require('shortid') +const { setNotificationCallback } = require('@vue/cli-ui/apollo-server/util/notification') function simpleCorsValidation (allowedHost) { return function (req, socket) { @@ -77,6 +78,7 @@ async function ui (options = {}, context = process.cwd()) { if (options.headless) { console.log(port) } else { + setNotificationCallback(() => openBrowser(url)) openBrowser(url) } })