Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@keystonejs/app-admin-ui

keystonejs912MIT7.5.2TypeScript support: definitely-typed

KeystoneJS Admin UI App.

readme

Admin UI app

This is the last active development release of this package as Keystone 5 is now in a 6 to 12 month active maintenance phase. For more information please read our Keystone 5 and beyond post.

View changelog

A KeystoneJS app which provides an Admin UI for content management.

Usage

const { Keystone } = require('@keystonejs/keystone');
const { GraphQLApp } = require('@keystonejs/app-graphql');
const { AdminUIApp } = require('@keystonejs/app-admin-ui');

const keystone = new Keystone({...});

const authStrategy = keystone.createAuthStrategy({...});

module.exports = {
  keystone,
  apps: [
    new GraphQLApp(),
    new AdminUIApp({
      adminPath: '/admin',
      authStrategy,
    }),
  ],
};

Config

Option Type Default Description
name String undefined The name of the project.
adminPath String /admin The path of the Admin UI.
apiPath String /admin/api The path of the API provided to the Admin UI.
graphiqlPath String /admin/api The path of the GraphQL Playground, an in-browser GraphQL IDE.
authStrategy Object null See Authentication Guides
hooks String ./admin-ui/ Path to customization hooks. See below for more information.
enableDefaultRoute Bool false If enabled, the path of the Admin UI app will be set to /.
schemaName String public
isAccessAllowed Function true Controls which users have access to the Admin UI.
adminMeta Object {} Provides additional adminMeta. Useful for Hooks and other customizations
defaultPageSize Integer 50 The default number of list items to show at once.
maximumPageSize Integer 1000 The maximum number of list items to show at once.

hooks

Customization hooks allow you to modify various areas of the Admin UI to better suit your development needs. The index.js file at the given path should export a single config object containing your chosen hooks. All are optional. See Customization for available hooks.

If omitted, Keystone will look under ./admin-ui/ for a hooks config export.

Usage

`javascript title=index.js new AdminUIApp({ hooks: require.resolve('./custom-hooks-path') });


### `isAccessAllowed`

This function takes the same arguments as a [shorthand imperative boolean](https://www.keystonejs.com/api/access-control#shorthand-imperative-boolean) access control. It must return either true or false.

> **Important:** If omitted, all users _with accounts_ will be able to access the Admin UI. The example below would restrict access to users with the `isAdmin` permission.

#### Usage

```js
new AdminUIApp({
  /*...config */
  isAccessAllowed: ({ authentication: { item: user, listKey: list } }) => !!user && !!user.isAdmin,
}),

Customization

The following customization hooks are available. Each is a function that takes no arguments.

`javascript title=/custom-hooks-path/index.js export default { customToast, itemHeaderActions, listHeaderActions, listManageActions, logo, pages, };


### `logo`

The logo to display on the signin screen.

> This must return a React component.

```javascript
export default {
  logo: () => <MyAwesomeLogo />,
};

itemHeaderActions

Header components on the Item Details page can be replaced using this hook. Ths replaces the components for item Details page for all Lists.

This must return a React component.

`javascript title=/admin-ui/index.js import { ItemId, AddNewItem } from '@keystonejs/app-admin-ui/components'; export default { // re-implement the default AddNewItem and ItemId button + custom text itemHeaderActions: () => (

<ItemId /> <AddNewItem />

Hello world

), };


### `listHeaderActions`

Header components on the List page can be replaced using this hook. This replaces components on list page for all Lists.

> This must return a React component.

```javascript title=/admin-ui/index.js
import { CreateItem } from '@keystonejs/app-admin-ui/components';
export default {
  // re-implement the default create item button + custom text
  listHeaderActions: () => (
    <div>
      <CreateItem />
      <p>Hello world</p>
    </div>
  ),
};

listManageActions

Custom Actions component for multiple items in the list can be replaced with this hook. This replaces the list management toolbar Items for all lists.

This must return a React component.

`javascript title=/admin-ui/index.js import { UpdateItems, DeleteItems } from '@keystonejs/app-admin-ui/components'; export default { // re-implement the default delete many and update many items buttons + custom text listManageActions: () => (

<UpdateItems /> <DeleteItems />

Hello world

), };


### `pages`

Allows grouping list pages in the sidebar or defining completely new pages.

Should return an array of objects, which may contain the following properties:

| Name        | Type                | Description                                                                             |
| ----------- | ------------------- | --------------------------------------------------------------------------------------- |
| `label`     | `String`            | The page name to display in the sidebar.                                                |
| `path`      | `String`            | The page path.                                                                          |
| `component` | `Function \| Class` | A React component which will be used to render this page.                               |
| `children`  | `Array`             | An array of either Keystone list keys or objects with `listKey` and `label` properties. |

```javascript
export default {
  pages: () => [
    // Custom pages
    {
      label: 'A new dashboard',
      path: '',
      component: Dashboard,
    },
    {
      label: 'About this project',
      path: 'about',
      component: About,
    },
    // Ordering existing list pages
    {
      label: 'Blog',
      children: [
        { listKey: 'Post' },
        { listKey: 'PostCategory', label: 'Categories' },
        { listKey: 'Comment' },
      ],
    },
    {
      label: 'People',
      children: ['User'],
    },
  ],
};

customToast

Allows customising the content of toast notification when an item is updated or deleted.

The hook function receives a context variable containing an item key with the original item data, a list key that can be used to limit the scope of the hook, the original message as well as a toastAction that will be either 'update' or 'delete'. The function should return a React component.

export default {
  customToast: ({ item, list, message }) => {
    // custom Toast for MyList
    if (list.key === 'MyList') {
      return (
        <div>
          <strong>My custom toast notification!</strong>
          {item && item._label_ ? <strong>{item._label_}</strong> : null}
        </div>
      );
    }
    // Default toast
    return (
      <div>
        {item && item._label_ ? <strong>{item._label_}</strong> : null}
        <div>{message}</div>
      </div>
    );
  },
};

changelog

@keystonejs/app-admin-ui

7.5.2

Patch Changes

7.5.1

Patch Changes

7.5.0

Minor Changes

Patch Changes

7.4.1

Patch Changes

7.4.0

Minor Changes

  • 4035218df #4512 Thanks @renovate! - Upgraded dependency apollo-server-express to ^2.21.0. Apollo Server can now be installed with graphql@15 without causing peer dependency errors or warnings.

Patch Changes

7.3.13

Patch Changes

7.3.12

Patch Changes

7.3.11

Patch Changes

7.3.10

Patch Changes

7.3.9

Patch Changes

7.3.8

Patch Changes

7.3.7

Patch Changes

7.3.6

Patch Changes

7.3.5

Patch Changes

7.3.4

Patch Changes

7.3.3

Patch Changes

7.3.2

Patch Changes

7.3.1

Patch Changes

7.3.0

Minor Changes

Patch Changes

7.2.0

Minor Changes

  • 5a3849806 #3262 Thanks @MadeByMike! - Added a new private internal schema that will allow a better method of bypassing access control on the executeGraphQL function.

    The schema name internal is now a reserved name and if you have a schema with this name you will need to change it with this update.

    Note: You cannot change access control on the internal schema.

Patch Changes

7.1.0

Minor Changes

  • 49984caae #3227 Thanks @Vultraz! - Moved name config option from Keystone constructor to Admin UI constructor.

  • 622cc7d69 #2745 Thanks @Vultraz! - Added defaultPageSize and maximumPageSize config options fto the Admin UI. These can be used to set defaults for all lists (previously, these defaults were 50 and 1000, respectively).

Patch Changes

7.0.5

Patch Changes

7.0.4

Patch Changes

  • 39d58e126 #3156 Thanks @MadeByMike! - Always compile client directory regardless of whether or not the package is a direct child of a node_modules directory to work correctly with pnpm.

7.0.3

Patch Changes

7.0.2

Patch Changes

7.0.1

Patch Changes

7.0.0

Major Changes

  • ea9608342 #2976 Thanks @Vultraz! - Refactored how list and item queries and generated. Field controllers' getFilterGraphQL method now returns an object in the format { filter: value } rather than a GraphQL string. Additionally, getFilterValue should now return undefined instead of null if the filter should not be submitted.

Minor Changes

  • c2ebb51c7 #2258 Thanks @gautamsi! - * Added isReadOnly option on field's adminConfig. Fields with this option set will be excluded from the create form, and set as disabled in the update form in the Admin UI.

    • Updated the item detail page to include fields with access { update: false } in a disabled state, rather than excluded the form.
    • Updated all Field Views to accept isDisabled prop. When set to true this will disable the field input.

    Example:

    keystone.createList('Todo', {
      fields: {
        name: { type: Text, isRequired: true },
        someReadOnlyField: {
          type: Text,
          adminConfig: {
            isReadOnly: true,
          },
          defaultValue: 'Some default value',
        },
      },
    });
  • b61987552 #2482 Thanks @gautamsi! - Enabled the use of listManageActions hook in the Admin UI.

    Usage:

    // index.js
    new AdminUIApp({
      hooks: require.resolve('./admin-ui/'),
    });

    The index file in the admin-ui directory should export hooks which will be packaged for use in the Admin UI during the Keystone build:

    // ./admin-ui/index.js
    import { UpdateItems, DeleteItems } form '@keystonejs/app-admin-ui/components'
    export default {
      // re-implement the default delete many and update many items buttons + custom text
      listManageActions: () => (<div><UpdateItems /><DeleteItems /><p>Hello world</p></div>),
    };
  • 326242533 #3048 Thanks @MadeByMike! - Enabled the use of listHeaderActions hook in the Admin UI.

    Usage:

    // index.js
    new AdminUIApp({
      hooks: require.resolve('./admin-ui/'),
    });

    The index file in the admin-ui directory should export hooks which will be packaged for use in the Admin UI during the Keystone build:

    // ./admin-ui/index.js
    import { CreateItem } from '@keystonejs/app-admin-ui/components';
    export default {
      // re-implement the default create item button + custom text
      listHeaderActions: () => (
        <div>
          <CreateItem />
          <p>Hello world</p>
        </div>
      ),
    };
  • 927150d81 #2817 Thanks @Vultraz! - Added a new customToast hook for customising toast notifications.

Patch Changes

6.0.2

Patch Changes

6.0.1

Patch Changes

6.0.0

Major Changes

  • 12126788 #2893 Thanks @timleslie! - Added a method Keystone.getAdminViews({ schemaName }) which returns the views for the Admin UI. List.getAdminMeta() no longer returns a views values.

  • 08087998 #2881 Thanks @timleslie! - The default function in @keystonejs/field-views-loader now takes { pages, hooks, listViews } rather than { adminMeta }. AdminUIApp now has a method .getAdminViews({ keystone, includeLists }) which returns these values. AdminUIApp.createDevMiddleware now takes { adminMeta, keystone } as arguments. These changes will only effect users who may have explicitly been using the @keystone/fields-views-loader packages or .createDevMiddleware().

  • fcb9f2c1 #2886 Thanks @timleslie! - Removed AdminUIApp.createSessionMiddleware(). No need to take an action if you were explicitly using this method.

  • d8584765 #2906 Thanks @timleslie! - Removed Controller.adminMeta in favour of explicit values for .readViews, .preloadViews, .getListByKey, .adminPath, and .authStrategy.

  • 9a94cee8 #2869 Thanks @timleslie! - Removed the method AdminUIApp.getAdminMeta() in favour of the more complete AdminUIApp.getAdminUIMeta(keystone).

Minor Changes

  • 4d3efe0f #2827 Thanks @Vultraz! - Refactored the internal handling of list data fetching. This resolves two issues:

    • Fixed two API requests being made when loading a list.
    • Fixed Ract errors in the search and pagination components.
  • 72e0a4e1 #2895 Thanks @Vultraz! - The base FieldController class no longer takes the owning list as a second argument.

  • 6e507838 #2890 Thanks @Vultraz! - Refactored the Unsplash content block to use Apollo query hooks.

  • bcf03a7f #2873 Thanks @Vultraz! - Cleaned up CreateItemModal implementation. The component is no longer passed to field views and should be imported from the @keystonejs/app-admin-ui package instead.

Patch Changes

5.12.0

Minor Changes

Patch Changes

5.11.1

Patch Changes

5.11.0

Minor Changes

  • 501fd3e4 #2779 Thanks @Vultraz! - Added a section to the sidebar displaying the currently signed-in user.

Patch Changes

5.10.0

Minor Changes

  • 57e6ce29 #2474 Thanks @Vultraz! - Added a UI hook (logo) to display a custom logo on the signin screen.

Patch Changes

5.9.6

Patch Changes

5.9.5

Patch Changes

5.9.4

Patch Changes

5.9.3

Patch Changes

5.9.2

Patch Changes

5.9.1

Patch Changes

5.9.0

Minor Changes

  • 7c552a14 #2415 Thanks @gautamsi! - Allowed use of config object in custom pages. This enables passing on any custom config or even a function to the custom Page component in admin-ui

    you can now add config like this

    {
      label: 'About this project',
      path: 'about',
      config: {
        option: 'value',
      },
      component: About,
    },
    
  • fd94849b #2429 Thanks @gautamsi! - Moved client components and react related exports from @keystonejs/app-admin-ui/client to @keystonejs/app-admin-ui/components

Patch Changes

5.8.0

Minor Changes

Patch Changes

5.7.3

Patch Changes

5.7.2

Patch Changes

5.7.1

Patch Changes

5.7.0

Minor Changes

  • 6bc87d43 #2279 - Added React hooks to the AdminUI.

    This PR changes the way the <CreateItem/> component works internally. It also paves the way for future AdminUI extensions by exporting front-end components and utilities from @keystonejs/app-admin-ui/components. Initially this includes a <ListProvider/> component that is currently being consumed by the relationship field.

Patch Changes

5.6.0

Minor Changes

  • 56bb67fd #2264 - Fixed a bug where the search input on the List page would gain focus when the user pressed SHIFT

Patch Changes

  • 87a17087 #2087 - Show a more helpful error in the AdminUI when the list page overflows the available number of items.

5.5.4

Patch Changes

5.5.3

Patch Changes

5.5.2

Patch Changes

  • 6f1430e4 #2135 - Correctly capture suspended components in Details View in Admin UI

5.5.1

Patch Changes

5.5.0

Minor Changes

  • 045af44 #2106 - Improved toast messaging when creating and updating items

5.4.1

Patch Changes

5.4.0

Minor Changes

  • 33d22c7 #2078 - Converted remaining uses of Apollo components in Admin UI to hooks.

  • 33d22c7 #2078 - Refactored out session provider from Admin UI and switched to individual Apollo packages as appropriate. Without the session provider, the Admin UI no longer needs the full react-apollo package.

Patch Changes

5.3.0

Minor Changes

  • 733ac847 #1983 Thanks @MadeByMike! - Fixed a bug with schema generation and display in the AdminUI when a list contains only fields where access control is false.

  • 2cc83b12 #1988 Thanks @MadeByMike! - Added an isOrderable option to field implementation that controls whether the field is sortable in the AdminUI. Defaults to false and is set to true by sortable field types.

    The parseFieldAccess method can now also be overwritten in the field implementation class.

  • 6a348b93 #1978 Thanks @MadeByMike! - Added a new field type Virtual. This allows creation of fields that return data computed from other field values or outside Keystone.

Patch Changes

5.2.0

Minor Changes

  • 1a723a54 #1880 Thanks @gautamsi! - Replaced RelationShip field's implementation of CreateItemModel with a prop provided by admin-ui

    Exported following components from admin-ui which can be used outside of admin-ui to have same look and feel when working with Lists. One simple use is in custom pages where this can be customized differently than core list pages

    • List
    • ListData
    • ListLayout
    • ListManage
    • FieldSelect
    • Search
    • ActiveFilters
    • Pagination
    • CreateItemModal
    • DeleteItemModal
    • DeleteManyItemsModal
    • ListTable
    • PageLoading
    • ToastContainer
    • UpdateManyItemsModal
    • Popout
  • 278d6dba #1928 Thanks @gautamsi! - Added a font loader to the webpack configuration that will allow loading of css files including in custom pages

Patch Changes

5.1.0

Minor Changes

  • 1bc46882 #1916 Thanks @gautamsi! - Add more props to Listtable and make it usable outside of core admin-ui

  • a1e26deb #1927 Thanks @MadeByMike! - Refactored the admin-ui custom pages feature.

    You can now customise the admin-ui by creating a folder named admin-ui in your project directory or by specifying a path for hooks in the AdminUIApp constructor:

    new AdminUIApp({
      hooks: require.resolve('./admin-folder/'),
    });

    The index file in the admin-ui directory exports an object, which for now should only include pages:

    import Dashboard from './my-component/dashboard';
    
    export default {
      pages: () => [
        {
          label: 'A new dashboard',
          path: '',
          component: Dashboard
        },
      ],
    };

    Hooks are now functions. The pages hook should be a function that returns an array of pages.

    The shape of the pages array hasn't changed, except you can now include page components directly rather than with require.resolve().

    The old API will continue to work but will be deprecated in future.

Patch Changes

5.0.2

Patch Changes

5.0.1

Patch Changes

5.0.0

Major Changes

  • 7b4ed362 #1821 Thanks @jesstelford! - Release @keystonejs/* packages (つ^ ◡ ^)つ

    • This is the first release of @keystonejs/* packages (previously @keystone-alpha/*).
    • All packages in the @keystone-alpha namespace are now available in the @keystonejs namespace, starting at version 5.0.0.
    • To upgrade your project you must update any @keystone-alpha/* dependencies in package.json to point to "@keystonejs/*": "^5.0.0" and update any require/import statements in your code.

Patch Changes

@keystone-alpha/app-admin-ui

5.10.3

Patch Changes

5.10.2

Patch Changes

5.10.1

Patch Changes

5.10.0

Minor Changes

  • 7ee3b0ad: Display an error toast in the admin-ui if there was an error when creating an item. Also created a custom ToastContainer to fix an issue with z-indexing.

  • Updated dependencies 4e6a574d:

5.9.0

Minor Changes

  • b88c4038: When no list is defined the AdminUI will now load with an error message.

5.8.2

Patch Changes

  • 8b087627: Show correct pluralised value in admin-ui sidebar nav

5.8.1

5.8.0

Minor Changes

  • a8e9378d: Keystone, List and Field constructors now take schemaNames as config options. A number of methods also now take schemaName parameters.
    • keystone.getTypeDefs() -> keystone.getTypeDefs({ schemaName })
    • keystone.getAdminSchema() -> keystone.getAdminSchema({ schemaName })
    • keystone.dumpSchema(file) -> keystone.dumpSchema(file, schemaName)
    • keystone.getAdminMeta() -> keystone.getAdminMeta({ schemaName })
    • list.getAdminMeta() -> list.getAdminMeta({ schemaName })
    • field.getAdminMeta() -> field.getAdminMeta({ schemaName })

Patch Changes

5.7.0

Minor Changes

  • 2350a9fd: Admin UI has a new config option: isAccessAllowed({ authentication: { user, listKey } }) => Boolean to restrict who can login to the Admin UI.

5.6.1

Patch Changes

  • 99dc6cae: Revert usage of Apollo Hooks

5.6.0

Minor Changes

  • 79e362c0: upgrade react-apollo and use hooks instead of Query and Mutation components

5.5.2

Patch Changes

  • b822d229: fix issue related to react-toast-notifications update. toasts are not triggered after delete success.

5.5.1

Patch Changes

  • 30f6b7eb: upgraded react-toast-notifications to 2.2.4. use useToasts hook when possible.

5.5.0

Minor Changes

  • f7ba8a35: Prefill nested creates for Relationship fields with back referennces

5.4.0

Minor Changes

  • 33ed590e: Respect static field-level access control in the Admin UI

5.3.0

Minor Changes

  • da65e1a0: Allow display and filtering of 'Id' column in Admin UI

5.2.0

Minor Changes

  • e049cfcb: Support defaultValue as a function in view Controllers

Patch Changes

5.1.0

Minor Changes

  • 42c3fbc9: Switching lists to use standard field types for primary keys (instead of weird pseudo-field)

Patch Changes

  • 42c3fbc9: Upgrade emotion to 10.0.14
  • 42c3fbc9: Upgrade graphql to 14.4.2
  • 42c3fbc9: Fixing minor potential perf issue, flagged by DeepCheck
  • 42c3fbc9: Upgrade express to 4.17.1

5.0.4

5.0.3

Patch Changes

5.0.2

Patch Changes

  • c2dc6eb3:

    Replace custom copy to clipboard utility with the clipboard-copy package

  • c2dc6eb3:

    Remove Admin UI style guide. The style guide is now in the keystone-5 repo at packages/arch/docs

  • Updated dependencies c2dc6eb3:

5.0.1

Patch Changes

5.0.0

Major Changes

  • 1b4cf4e0:

    • Removed the <adminPath>/signin, <adminPath>/signout, and <adminPath>/session routes.
      • The REST routes have been replaced with GraphQL mutations authenticate<List>With<Strategy> & unauthenticate<List> (see @keystone-alpha/keystone's CHANGELOG.md for details)
    • Admin UI now uses the new (un)authenticate mutations for sigin/signout pages.
    • Signout page correctly renders again (previously was erroring and showing a blank page)
    • Generate Admin UI login form field labels based on the identity and secret fields set in the PasswordAuthStrategy.

Minor Changes

  • abce2e6c:

    <Field> views now receive a savedValue prop representing the current state as saved to the database.

  • 30c1b1e1:

    • Execute the new validateInput() method from fields before saving on create/update pages.
    • Any generated warnings or errors are passed to the <Field> component for the component to display to the user.
    • Any errors will cause the Primary button (Create, Update) to be disabled until there are no more errors.
    • Any warnings will cause the Primary button (Create, Update) to require a confirmation (ie; warnings can be ignored, errors cannot)

Patch Changes

4.0.0

Major Changes

  • This packages has been renamed from admin-ui.

  • dfcabe6a:

    Specify custom servers from within the index.js file

    • Major Changes:
      • The index.js export for admin must now be exported in the servers array:
         module.exports = {
           keystone,
        -  admin,
        +  apps: [admin],
         }
      • The keystone.prepare() method (often used within a Custom Server server.js) no longer returns a server, it now returns a middlewares array:
        +const express = require('express');
         const port = 3000;
         keystone.prepare({ port })
        -  .then(async ({ server, keystone: keystoneApp }) => {
        +  .then(async ({ middlewares, keystone: keystoneApp }) => {
             await keystoneApp.connect();
        -    await server.start();
        +    const app = express();
        +    app.use(middlewares);
        +    app.listen(port)
           });
  • b2651279:

    Remove usage of port arg from prepareMiddleware() and stop doing inline console.logs

  • 8494e4cc:

    @keystone-alpha/app-admin-ui no longer accepts a keystone paramater in its constructor. It is now automatically passed during the keystone.prepare() call.

Patch Changes

  • 991c6df0:

    Fix react-router-dom error when installed through npm

  • dfcabe6a:

    Remove unused dependency

  • dfcabe6a:

    Fix Admin UI building on Windows

@keystonejs/admin-ui

@keystone-alpha/admin-ui

3.2.1

Patch Changes

  • d580c298:

    Minor Admin UI Tweaks

  • adec8047:

    Use babel-preset-react-app in the Admin UI

  • 7a513e8f:

    Fix non-stop renders on list pages

3.2.0

Minor Changes

  • 22ec53a8:

    • Adding support for custom pages in Admin UI
  • 6f598e83:

    • Add Admin UI static building

Patch Changes

3.1.0

3.0.6

3.0.5

3.0.4

3.0.3

3.0.2

3.0.1

  • [patch]f12a2a80:

    • Fix running Babel on Admin UI src when on npm

3.0.0

  • [major]9a9f214a:

    • Build field type views before publishing to npm and stop running Babel on Keystone packages in node_modules in the Admin UI
  • [major]de616f7e:

    • Update authStrategy APIs
      • Removes authStrategy from the config API of Webserver.
      • Removes authStrategy from the serverConfig of the core keystone system builder.
      • Removes the setAuthStrategy method from AdminUI.
      • Adds authStrategy to the config API of AdminUI.
      • Webserver checks keystone.auth to determine whether to set up auth session middlewares.
  • [major]4ed35dfd:

    • Remove methods from AdminUI class:
      • redirectSuccessfulSignin
      • signin
      • signout
      • session

2.0.0

  • [major]dcb93771:

    • Put field type views onto field controllers
  • [patch]11c372fa:

    • Update minor-level dependencies
  • [patch]3a775092:

    • Update dependencies
  • [patch]619b17c2:

    • Reformat code using latest version of Prettier (1.16.4)
  • [patch]d9a1be91:

    • Update dependencies
  • [patch]7417ea3a:

    • Update patch-level dependencies

1.1.0

  • [minor]91557b24:

    • Make links in terminal clicky where possible
  • [patch]1f0bc236:

    • Update the package.json author field to "The Keystone Development Team"
  • [patch]9534f98f:

    • Add README.md to package

1.0.0

  • [major] 8b6734ae:

    • This is the first release of keystone-alpha (previously voussoir). All packages in the @voussoir namespace are now available in the @keystone-alpha namespace, starting at version 1.0.0. To upgrade your project you must update any @voussoir/<foo> dependencies in package.json to point to @keystone-alpha/<foo>: "^1.0.0" and update any require/import statements in your code.

@voussoir/admin-ui

1.0.1

  • [patch] 23c3fee5:

    • Update babel packages and plugins
  • [patch] ca1f0ad3:

    • Update to latest webpack packages
  • [patch] 6fedba68:

    • DX: Show incoming queries in console and GraphiQL
  • [patch] 113e16d4:

    • Remove unused dependencies
  • [patch] 1855d1ba:

    • Update dependencies with 'yarn audit' identified issues
  • [patch] eaab547c:

    • Allow adding related items from the Relationship field
  • [patch] d0fbd66f:

    • Update apollo dependencies on both client and server
  • Updated dependencies [e16315d5]:

1.0.0

  • [minor] 306f0b7e:

    • Remove recalcHeight prop from Filter props
  • [major] 5f8043b5:

    • Simplify Field component api
      • Replace item prop with value prop which is equal to item[field.path]
      • Replace itemErrors prop with error prop which is equal to itemErrors[field.path]
      • Change onChange prop so that it only accepts the value rather than the field and the value
      • Remove initialData prop which wasn't used in a Field component and was only pass to the Field components in one the places where the Field component is used
  • Updated dependencies [723371a0]:

  • Updated dependencies [aca26f71]:
  • Updated dependencies [53e27d75]:
  • Updated dependencies [a3d5454d]:

0.8.0

  • [patch] 18ce8bc4:

    • Add warning when leaving item page with unsaved changes
  • [patch] 8d8666ad:

    • Dependency upgrade: graphql -> 14.0.3, graphql-tools -> 4.0.3
  • [minor] 6d8ce0fc:

    • Add createMany and updateMany mutations

0.7.0

  • [patch] 32960e4d:

    • Improve accessibility
  • [minor] 8145619f:

    • update to selecting and managing items in the list view
  • [patch] e3b48810:

    • Use babel 7
  • [patch] d22820b1:

    • Rename keystone.session to keystone.sessionManager
      • Rename keystone.session.validate to keystone.sessionManager.populateAuthedItemMiddleware
      • Rename keystone.session.create to keystone.sessionManager.startAuthedSession
      • Rename keystone.session.destroy to keystone.sessionManager.endAuthedSession
  • [patch] 8fc0abb3:

    • Make DayPicker scrollable
  • [patch] fc1a9055:

    • Update dependencies to latest patch versions
  • Updated dependencies [c83c9ed5]:

  • Updated dependencies [01718870]:

0.6.0

  • [minor] 7a24b92e:

    • sticky table headers in list view for supporting browsers
  • [minor] 589dbc02:

    • navigation improvements and paper cut fixes

0.5.0

  • [minor] 1d30a329" :

    • Cleanup vertical navigation, more separation between primary/secondary nav primitives

0.4.0

  • [minor] 47c7dcf6" :

    • Bump all packages with a minor version to set a new baseline

0.3.0

  • [minor] 5742e25d" :

    • Various improvements

0.2.1

0.2.0

  • [minor] Add missing dependencies for which the mono-repo was hiding that they were missing fed0cdc

0.1.2

  • [patch] Rename readme files a8b995e

0.1.1

  • [patch] Remove tests and markdown from npm dc3ee7d