mirror of
https://github.com/vuejs/vue-cli.git
synced 2026-01-19 22:00:20 -06:00
* feat: basic fonctionality, welcome and kill port widgets * fix: contrast improvements * feat: plugin/dep/vulnerability widgets design * fix: widget add/remove animation * feat: run task widget * feat: news + wip resizing * feat: nuxt * chore: removed widget example * fix: visual polish for widget transform * feat(widget): overlap detection * fix: news default/max size * feat(dashboard): sidepane transition * chore: dev api server port * fix(widget): configure tooltip * refactor(widget): generic Movable mixin * refactor(widget): resizable mixin * feat(widget): resize transition * feat(widget): resize improvements * refactor(widget): zoom factor * refactor(widget): OnGrid mixin * refactor(widget): resize handler style moved to global * chore: remove console.log * refactor: files structure * feat: improved design and layout * fix: content background vars * fix: status bar / view nav z-indexes * fix: webpack dashboard grid gap * feat(news feed): handle errors * fix(card): dimmed box shadow * fix: view nav & status bar z-index * fix: remove (wip) * feat(widget): style tweaks * feat(widget): details pane (wip) * feat: news feed widget improvements * feat(widget): custom header button * feat(news): item details pane * feat(widget): custom title * fix(news): better cache and misc fixes * feat(widget): resize left and top handles * feat(widget): transparent widget while moving/resizing * feat(news): better "big size" style * fix(news): media sizes in rich content * feat(plugin): local plugins support * fix: scrolling issue in Fx * fix: colors * fix(nav bar): more item overflowing * feat(vuln): frontend * chore: locale update * fix: image in suggestion dropdown (dev) * fix(suggestion): missing custom image * feat(view): user default plugin logo if no provided icon * feat(view): better loading UX * feat(view): button background if view is selected * feat(view): new nav indicator * feat(widget): use plugin logo as default icon * feat(widget): better widget modal * feat(widget): longDescription * fix(widget): news validate url param * feat(widget): filter widgets in add pane * feat(widget): tease upcoming widgets * chore: fix merge dev * chore: yarn install * chore: sync versions * chore: update apollo * docs: widget * fix(progress): graphql error * fix(deps): localPath * perf(plugin): faster local plugin refresh * fix(nav): center active indicator * feat(task): improved header * feat(client addon): custom component load timeout message * feat(suggestion): ping animation to improve discoverability * chore: update vue-apollo * feat(api): requestRoute * fix(suggestion): hide more info link if no link * fix(style): ul padding * test(e2e): fix plugin path * chore: change test scripts * chore(deps): upgrade * fix: build error * fix(widget): removed moving scale transform * fix(widget): resize handles style * chore(deps): unpin apollo-utilities * chore(deps): lock fix * test(e2e): fix server * fix: issue with writeQuery See: https://github.com/apollographql/apollo-client/issues/4031#issuecomment-433668473 * test(e2e): fix tests * test(e2e): missing widgets build * fix: missing widgets dep
91 lines
2.2 KiB
JavaScript
91 lines
2.2 KiB
JavaScript
const gql = require('graphql-tag')
|
|
// Connectors
|
|
const widgets = require('../connectors/widgets')
|
|
|
|
exports.types = gql`
|
|
extend type Query {
|
|
widgetDefinitions: [WidgetDefinition]
|
|
widgets: [Widget]
|
|
}
|
|
|
|
extend type Mutation {
|
|
widgetAdd (input: WidgetAddInput!): Widget!
|
|
widgetRemove (id: ID!): Widget
|
|
widgetMove (input: WidgetMoveInput!): [Widget]!
|
|
widgetConfigOpen (id: ID!): Widget!
|
|
widgetConfigSave (id: ID!): Widget!
|
|
widgetConfigReset (id: ID!): Widget!
|
|
}
|
|
|
|
type WidgetDefinition {
|
|
id: ID!
|
|
title: String!
|
|
description: String
|
|
longDescription: String
|
|
link: String
|
|
icon: String
|
|
screenshot: String
|
|
component: String!
|
|
detailsComponent: String
|
|
canAddMore: Boolean!
|
|
hasConfigPrompts: Boolean!
|
|
count: Int!
|
|
maxCount: Int
|
|
minWidth: Int!
|
|
minHeight: Int!
|
|
maxWidth: Int!
|
|
maxHeight: Int!
|
|
openDetailsButton: Boolean
|
|
}
|
|
|
|
type Widget {
|
|
id: ID!
|
|
definition: WidgetDefinition!
|
|
x: Int!
|
|
y: Int!
|
|
width: Int!
|
|
height: Int!
|
|
prompts: [Prompt]
|
|
config: JSON
|
|
configured: Boolean!
|
|
}
|
|
|
|
input WidgetAddInput {
|
|
definitionId: ID!
|
|
}
|
|
|
|
input WidgetMoveInput {
|
|
id: ID!
|
|
x: Int
|
|
y: Int
|
|
width: Int
|
|
height: Int
|
|
}
|
|
`
|
|
|
|
exports.resolvers = {
|
|
WidgetDefinition: {
|
|
canAddMore: (definition, args, context) => widgets.canAddMore(definition, context),
|
|
count: (definition, args, context) => widgets.getCount(definition.id)
|
|
},
|
|
|
|
Widget: {
|
|
definition: (widget, args, context) => widgets.findDefinition(widget, context),
|
|
prompts: (widget, args, context) => widgets.getConfigPrompts(widget, context)
|
|
},
|
|
|
|
Query: {
|
|
widgetDefinitions: (root, args, context) => widgets.listDefinitions(context),
|
|
widgets: (root, args, context) => widgets.list(context)
|
|
},
|
|
|
|
Mutation: {
|
|
widgetAdd: (root, { input }, context) => widgets.add(input, context),
|
|
widgetRemove: (root, { id }, context) => widgets.remove({ id }, context),
|
|
widgetMove: (root, { input }, context) => widgets.move(input, context),
|
|
widgetConfigOpen: (root, { id }, context) => widgets.openConfig({ id }, context),
|
|
widgetConfigSave: (root, { id }, context) => widgets.saveConfig({ id }, context),
|
|
widgetConfigReset: (root, { id }, context) => widgets.resetConfig({ id }, context)
|
|
}
|
|
}
|