Browse Source

feat(core): Allow customField ui components to be specified in config

Relates to #415
Michael Bromley 4 years ago
parent
commit
e22e006f14

+ 9 - 0
packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts

@@ -268,6 +268,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -1108,6 +1109,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -1284,6 +1286,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeleteAssetInput = {
@@ -1496,6 +1499,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type FulfillOrderInput = {
@@ -1647,6 +1651,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -2097,6 +2102,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -4075,6 +4081,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Release = Node &
@@ -4410,6 +4417,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -4589,6 +4597,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError;

+ 9 - 0
packages/common/src/generated-shop-types.ts

@@ -127,6 +127,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -712,6 +713,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -827,6 +829,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeletionResponse = {
@@ -1009,6 +1012,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Fulfillment = Node & {
@@ -1153,6 +1157,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -1501,6 +1506,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -2678,6 +2684,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type RemoveOrderItemsResult = Order | OrderModificationError;
@@ -2865,6 +2872,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -2962,6 +2970,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionOrderToStateResult = Order | OrderStateTransitionError;

+ 9 - 0
packages/common/src/generated-types.ts

@@ -270,6 +270,7 @@ export type BooleanCustomFieldConfig = CustomField & {
   readonly?: Maybe<Scalars['Boolean']>;
   internal?: Maybe<Scalars['Boolean']>;
   nullable?: Maybe<Scalars['Boolean']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -1124,6 +1125,7 @@ export type CustomField = {
   readonly?: Maybe<Scalars['Boolean']>;
   internal?: Maybe<Scalars['Boolean']>;
   nullable?: Maybe<Scalars['Boolean']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig = StringCustomFieldConfig | LocaleStringCustomFieldConfig | IntCustomFieldConfig | FloatCustomFieldConfig | BooleanCustomFieldConfig | DateTimeCustomFieldConfig | RelationCustomFieldConfig | TextCustomFieldConfig;
@@ -1302,6 +1304,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
   min?: Maybe<Scalars['String']>;
   max?: Maybe<Scalars['String']>;
   step?: Maybe<Scalars['Int']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeleteAssetInput = {
@@ -1525,6 +1528,7 @@ export type FloatCustomFieldConfig = CustomField & {
   min?: Maybe<Scalars['Float']>;
   max?: Maybe<Scalars['Float']>;
   step?: Maybe<Scalars['Float']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type FulfillOrderInput = {
@@ -1685,6 +1689,7 @@ export type IntCustomFieldConfig = CustomField & {
   min?: Maybe<Scalars['Int']>;
   max?: Maybe<Scalars['Int']>;
   step?: Maybe<Scalars['Int']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -2145,6 +2150,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
   internal?: Maybe<Scalars['Boolean']>;
   nullable?: Maybe<Scalars['Boolean']>;
   pattern?: Maybe<Scalars['String']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -4308,6 +4314,7 @@ export type RelationCustomFieldConfig = CustomField & {
   nullable?: Maybe<Scalars['Boolean']>;
   entity: Scalars['String'];
   scalarFields: Array<Scalars['String']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Release = Node & StockMovement & {
@@ -4655,6 +4662,7 @@ export type StringCustomFieldConfig = CustomField & {
   nullable?: Maybe<Scalars['Boolean']>;
   pattern?: Maybe<Scalars['String']>;
   options?: Maybe<Array<StringFieldOption>>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -4846,6 +4854,7 @@ export type TextCustomFieldConfig = CustomField & {
   readonly?: Maybe<Scalars['Boolean']>;
   internal?: Maybe<Scalars['Boolean']>;
   nullable?: Maybe<Scalars['Boolean']>;
+  ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError;

+ 14 - 0
packages/common/src/shared-types.ts

@@ -170,6 +170,20 @@ type DefaultFormConfigHash = {
 
 export type DefaultFormComponentConfig<T extends DefaultFormComponentId> = DefaultFormConfigHash[T];
 
+export type UiComponentConfig =
+    | ({ component: 'number-form-input' } & DefaultFormComponentConfig<'number-form-input'>)
+    | ({ component: 'date-form-input' } & DefaultFormComponentConfig<'date-form-input'>)
+    | ({ component: 'select-form-input' } & DefaultFormComponentConfig<'select-form-input'>)
+    | ({ component: 'text-form-input' } & DefaultFormComponentConfig<'text-form-input'>)
+    | ({ component: 'boolean-form-input' } & DefaultFormComponentConfig<'boolean-form-input'>)
+    | ({ component: 'currency-form-input' } & DefaultFormComponentConfig<'currency-form-input'>)
+    | ({ component: 'facet-value-form-input' } & DefaultFormComponentConfig<'facet-value-form-input'>)
+    | ({
+          component: 'product-selector-form-input';
+      } & DefaultFormComponentConfig<'product-selector-form-input'>)
+    | ({ component: 'customer-group-form-input' } & DefaultFormComponentConfig<'customer-group-form-input'>)
+    | { component: string; [prop: string]: any };
+
 export type CustomFieldsObject = { [key: string]: any };
 
 /**

+ 9 - 0
packages/core/e2e/graphql/generated-e2e-admin-types.ts

@@ -268,6 +268,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -1108,6 +1109,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -1284,6 +1286,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeleteAssetInput = {
@@ -1496,6 +1499,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type FulfillOrderInput = {
@@ -1647,6 +1651,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -2097,6 +2102,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -4075,6 +4081,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Release = Node &
@@ -4410,6 +4417,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -4589,6 +4597,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError;

+ 9 - 0
packages/core/e2e/graphql/generated-e2e-shop-types.ts

@@ -120,6 +120,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -686,6 +687,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -797,6 +799,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeletionResponse = {
@@ -969,6 +972,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Fulfillment = Node & {
@@ -1104,6 +1108,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -1450,6 +1455,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -2587,6 +2593,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type RemoveOrderItemsResult = Order | OrderModificationError;
@@ -2761,6 +2768,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -2848,6 +2856,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionOrderToStateResult = Order | OrderStateTransitionError;

+ 9 - 0
packages/core/src/api/schema/common/custom-field-types.graphql

@@ -7,6 +7,7 @@ interface CustomField {
     readonly: Boolean
     internal: Boolean
     nullable: Boolean
+    ui: JSON
 }
 
 type StringCustomFieldConfig implements CustomField {
@@ -21,6 +22,7 @@ type StringCustomFieldConfig implements CustomField {
     nullable: Boolean
     pattern: String
     options: [StringFieldOption!]
+    ui: JSON
 }
 
 type StringFieldOption {
@@ -39,6 +41,7 @@ type LocaleStringCustomFieldConfig implements CustomField {
     internal: Boolean
     nullable: Boolean
     pattern: String
+    ui: JSON
 }
 type IntCustomFieldConfig implements CustomField {
     name: String!
@@ -52,6 +55,7 @@ type IntCustomFieldConfig implements CustomField {
     min: Int
     max: Int
     step: Int
+    ui: JSON
 }
 type FloatCustomFieldConfig implements CustomField {
     name: String!
@@ -65,6 +69,7 @@ type FloatCustomFieldConfig implements CustomField {
     min: Float
     max: Float
     step: Float
+    ui: JSON
 }
 type BooleanCustomFieldConfig implements CustomField {
     name: String!
@@ -75,6 +80,7 @@ type BooleanCustomFieldConfig implements CustomField {
     readonly: Boolean
     internal: Boolean
     nullable: Boolean
+    ui: JSON
 }
 """
 Expects the same validation formats as the `<input type="datetime-local">` HTML element.
@@ -92,6 +98,7 @@ type DateTimeCustomFieldConfig implements CustomField {
     min: String
     max: String
     step: Int
+    ui: JSON
 }
 
 type RelationCustomFieldConfig implements CustomField {
@@ -105,6 +112,7 @@ type RelationCustomFieldConfig implements CustomField {
     nullable: Boolean
     entity: String!
     scalarFields: [String!]!
+    ui: JSON
 }
 
 type TextCustomFieldConfig implements CustomField {
@@ -116,6 +124,7 @@ type TextCustomFieldConfig implements CustomField {
     readonly: Boolean
     internal: Boolean
     nullable: Boolean
+    ui: JSON
 }
 
 type LocalizedString {

+ 6 - 15
packages/core/src/common/configurable-operation.ts

@@ -8,7 +8,12 @@ import {
     Maybe,
     StringFieldOption,
 } from '@vendure/common/lib/generated-types';
-import { ConfigArgType, DefaultFormComponentConfig, ID } from '@vendure/common/lib/shared-types';
+import {
+    ConfigArgType,
+    DefaultFormComponentConfig,
+    ID,
+    UiComponentConfig,
+} from '@vendure/common/lib/shared-types';
 import { assertNever } from '@vendure/common/lib/shared-utils';
 
 import { RequestContext } from '../api/common/request-context';
@@ -37,20 +42,6 @@ import { InjectableStrategy } from './types/injectable-strategy';
  */
 export type LocalizedStringArray = Array<Omit<LocalizedString, '__typename'>>;
 
-export type UiComponentConfig =
-    | ({ component: 'number-form-input' } & DefaultFormComponentConfig<'number-form-input'>)
-    | ({ component: 'date-form-input' } & DefaultFormComponentConfig<'date-form-input'>)
-    | ({ component: 'select-form-input' } & DefaultFormComponentConfig<'select-form-input'>)
-    | ({ component: 'text-form-input' } & DefaultFormComponentConfig<'text-form-input'>)
-    | ({ component: 'boolean-form-input' } & DefaultFormComponentConfig<'boolean-form-input'>)
-    | ({ component: 'currency-form-input' } & DefaultFormComponentConfig<'currency-form-input'>)
-    | ({ component: 'facet-value-form-input' } & DefaultFormComponentConfig<'facet-value-form-input'>)
-    | ({
-          component: 'product-selector-form-input';
-      } & DefaultFormComponentConfig<'product-selector-form-input'>)
-    | ({ component: 'customer-group-form-input' } & DefaultFormComponentConfig<'customer-group-form-input'>)
-    | { component: string; [prop: string]: any };
-
 export interface ConfigArgCommonDef<T extends ConfigArgType> {
     type: T;
     required?: boolean;

+ 7 - 1
packages/core/src/config/custom-field/custom-field-types.ts

@@ -10,7 +10,12 @@ import {
     StringCustomFieldConfig as GraphQLStringCustomFieldConfig,
     TextCustomFieldConfig as GraphQLTextCustomFieldConfig,
 } from '@vendure/common/lib/generated-types';
-import { CustomFieldsObject, CustomFieldType, Type } from '@vendure/common/lib/shared-types';
+import {
+    CustomFieldsObject,
+    CustomFieldType,
+    Type,
+    UiComponentConfig,
+} from '@vendure/common/lib/shared-types';
 
 import { Injector } from '../../common/injector';
 import { VendureEntity } from '../../entity/base/base.entity';
@@ -35,6 +40,7 @@ export type BaseTypedCustomFieldConfig<T extends CustomFieldType, C extends Cust
      */
     public?: boolean;
     nullable?: boolean;
+    ui?: UiComponentConfig;
 };
 
 /**

+ 9 - 0
packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts

@@ -268,6 +268,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -1108,6 +1109,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -1284,6 +1286,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeleteAssetInput = {
@@ -1496,6 +1499,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type FulfillOrderInput = {
@@ -1647,6 +1651,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -2097,6 +2102,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -4075,6 +4081,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Release = Node &
@@ -4410,6 +4417,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -4589,6 +4597,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError;

+ 9 - 0
packages/payment-plugin/e2e/graphql/generated-admin-types.ts

@@ -268,6 +268,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -1108,6 +1109,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -1284,6 +1286,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeleteAssetInput = {
@@ -1496,6 +1499,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type FulfillOrderInput = {
@@ -1647,6 +1651,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -2097,6 +2102,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -4075,6 +4081,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Release = Node &
@@ -4410,6 +4417,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -4589,6 +4597,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError;

+ 9 - 0
packages/payment-plugin/e2e/graphql/generated-shop-types.ts

@@ -120,6 +120,7 @@ export type BooleanCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type BooleanOperators = {
@@ -686,6 +687,7 @@ export type CustomField = {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type CustomFieldConfig =
@@ -797,6 +799,7 @@ export type DateTimeCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['String']>;
     max?: Maybe<Scalars['String']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type DeletionResponse = {
@@ -969,6 +972,7 @@ export type FloatCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Float']>;
     max?: Maybe<Scalars['Float']>;
     step?: Maybe<Scalars['Float']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type Fulfillment = Node & {
@@ -1104,6 +1108,7 @@ export type IntCustomFieldConfig = CustomField & {
     min?: Maybe<Scalars['Int']>;
     max?: Maybe<Scalars['Int']>;
     step?: Maybe<Scalars['Int']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 /** Returned if the user authentication credentials are not valid */
@@ -1450,6 +1455,7 @@ export type LocaleStringCustomFieldConfig = CustomField & {
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type LocalizedString = {
@@ -2587,6 +2593,7 @@ export type RelationCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     entity: Scalars['String'];
     scalarFields: Array<Scalars['String']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type RemoveOrderItemsResult = Order | OrderModificationError;
@@ -2761,6 +2768,7 @@ export type StringCustomFieldConfig = CustomField & {
     nullable?: Maybe<Scalars['Boolean']>;
     pattern?: Maybe<Scalars['String']>;
     options?: Maybe<Array<StringFieldOption>>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type StringFieldOption = {
@@ -2848,6 +2856,7 @@ export type TextCustomFieldConfig = CustomField & {
     readonly?: Maybe<Scalars['Boolean']>;
     internal?: Maybe<Scalars['Boolean']>;
     nullable?: Maybe<Scalars['Boolean']>;
+    ui?: Maybe<Scalars['JSON']>;
 };
 
 export type TransitionOrderToStateResult = Order | OrderStateTransitionError;

File diff suppressed because it is too large
+ 0 - 0
schema-admin.json


File diff suppressed because it is too large
+ 0 - 0
schema-shop.json


Some files were not shown because too many files changed in this diff