From c65822369bbf30aa1d1f5d494a3ed85affe05e19 Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Fri, 15 Jun 2018 20:56:13 +0200 Subject: [PATCH] feat(ui): refresh plugin API button --- packages/@vue/cli-ui/locales/en.json | 3 ++- .../@vue/cli-ui/src/components/StatusBar.vue | 17 +++++++++++++++++ packages/@vue/cli-ui/src/components/TopBar.vue | 2 +- .../src/graphql-api/connectors/plugins.js | 2 ++ .../cli-ui/src/graphql-api/schema/plugin.js | 4 +++- .../@vue/cli-ui/src/graphql/pluginResetApi.gql | 3 +++ 6 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 packages/@vue/cli-ui/src/graphql/pluginResetApi.gql diff --git a/packages/@vue/cli-ui/locales/en.json b/packages/@vue/cli-ui/locales/en.json index dfef1d1b33..603006b742 100644 --- a/packages/@vue/cli-ui/locales/en.json +++ b/packages/@vue/cli-ui/locales/en.json @@ -112,7 +112,8 @@ }, "report-bug": "Report bug", "translate": "Help translate", - "dark-mode": "Toggle dark mode" + "dark-mode": "Toggle dark mode", + "reset-plugin-api": "Refresh plugins API" }, "suggestion-bar": { "suggestion": "Suggestion", diff --git a/packages/@vue/cli-ui/src/components/StatusBar.vue b/packages/@vue/cli-ui/src/components/StatusBar.vue index 933ef0f701..2e529dbeee 100644 --- a/packages/@vue/cli-ui/src/components/StatusBar.vue +++ b/packages/@vue/cli-ui/src/components/StatusBar.vue @@ -70,6 +70,13 @@ > +
+ +
@@ -79,6 +86,8 @@ import PROJECT_CURRENT from '../graphql/projectCurrent.gql' import CONSOLE_LOG_LAST from '../graphql/consoleLogLast.gql' import CONSOLE_LOG_ADDED from '../graphql/consoleLogAdded.gql' import DARK_MODE_SET from '../graphql/darkModeSet.gql' +import PLUGIN_RESET_API from '../graphql/pluginResetApi.gql' +import { resetApollo } from '../vue-apollo' let lastRoute @@ -174,6 +183,14 @@ export default { toggleDarkMode () { this.applyDarkMode(!this.darkMode) + }, + + async resetPluginApi () { + await this.$apollo.mutate({ + mutation: PLUGIN_RESET_API + }) + + await resetApollo() } } } diff --git a/packages/@vue/cli-ui/src/components/TopBar.vue b/packages/@vue/cli-ui/src/components/TopBar.vue index cf2826984f..8088eef888 100644 --- a/packages/@vue/cli-ui/src/components/TopBar.vue +++ b/packages/@vue/cli-ui/src/components/TopBar.vue @@ -69,7 +69,7 @@ export default { } }) - resetApollo() + await resetApollo() } } } diff --git a/packages/@vue/cli-ui/src/graphql-api/connectors/plugins.js b/packages/@vue/cli-ui/src/graphql-api/connectors/plugins.js index 1d6185fbf7..f11f40efb6 100644 --- a/packages/@vue/cli-ui/src/graphql-api/connectors/plugins.js +++ b/packages/@vue/cli-ui/src/graphql-api/connectors/plugins.js @@ -132,6 +132,8 @@ function resetPluginApi (context) { if (currentView) views.open(currentView.id) } }) + + return true } function runPluginApi (id, context, fileName = 'ui') { diff --git a/packages/@vue/cli-ui/src/graphql-api/schema/plugin.js b/packages/@vue/cli-ui/src/graphql-api/schema/plugin.js index 5a30e7038b..e2c76512a6 100644 --- a/packages/@vue/cli-ui/src/graphql-api/schema/plugin.js +++ b/packages/@vue/cli-ui/src/graphql-api/schema/plugin.js @@ -18,6 +18,7 @@ extend type Mutation { pluginUpdate (id: ID!): Plugin pluginActionCall (id: ID!, params: JSON): PluginActionResult pluginsUpdate: [Plugin] + pluginResetApi: Boolean } extend type Subscription { @@ -82,7 +83,8 @@ exports.resolvers = { pluginFinishInstall: (root, args, context) => plugins.finishInstall(context), pluginUpdate: (root, { id }, context) => plugins.update(id, context), pluginActionCall: (root, args, context) => plugins.callAction(args, context), - pluginsUpdate: (root, args, context) => plugins.updateAll(context) + pluginsUpdate: (root, args, context) => plugins.updateAll(context), + pluginResetApi: (root, args, context) => plugins.resetPluginApi(context) }, Subscription: { diff --git a/packages/@vue/cli-ui/src/graphql/pluginResetApi.gql b/packages/@vue/cli-ui/src/graphql/pluginResetApi.gql new file mode 100644 index 0000000000..94a16175d6 --- /dev/null +++ b/packages/@vue/cli-ui/src/graphql/pluginResetApi.gql @@ -0,0 +1,3 @@ +mutation pluginResetApi { + pluginResetApi +} \ No newline at end of file