Prechádzať zdrojové kódy

feat(admin-ui): Add enabled/disabled toggle to ProductVariants

Relates to #62
Michael Bromley 6 rokov pred
rodič
commit
406ab28ece

+ 2 - 0
admin-ui/src/app/catalog/components/product-detail/product-detail.component.ts

@@ -31,6 +31,7 @@ import { VariantAssetChange } from '../product-variants-list/product-variants-li
 
 export type TabName = 'details' | 'variants';
 export interface VariantFormValue {
+    enabled: boolean;
     sku: string;
     name: string;
     price: number;
@@ -359,6 +360,7 @@ export class ProductDetailComponent extends BaseDetailComponent<ProductWithVaria
             const variantTranslation = variant.translations.find(t => t.languageCode === languageCode);
             const facetValueIds = variant.facetValues.map(fv => fv.id);
             const group: VariantFormValue = {
+                enabled: variant.enabled,
                 sku: variant.sku,
                 name: variantTranslation ? variantTranslation.name : '',
                 price: variant.price,

+ 1 - 1
admin-ui/src/app/catalog/components/product-list/product-list.component.html

@@ -61,7 +61,7 @@
         <td class="left align-middle">
             {{ groupByProduct ? result.productName : result.productVariantName }}
         </td>
-        <td>
+        <td class="align-middle">
             <vdr-chip *ngIf="!result.enabled">{{ 'common.disabled' | translate }}</vdr-chip>
         </td>
         <td class="right align-middle">

+ 11 - 0
admin-ui/src/app/catalog/components/product-variants-list/product-variants-list.component.html

@@ -45,6 +45,17 @@
                 </div>
             </div>
             <div class="flex-spacer"></div>
+            <div>
+                <clr-toggle-wrapper>
+                    <input
+                        type="checkbox"
+                        clrToggle
+                        name="enabled"
+                        [formControl]="formArray.get([i, 'enabled'])"
+                    />
+                    <label>{{ 'common.enabled' | translate }}</label>
+                </clr-toggle-wrapper>
+            </div>
         </div>
         <div class="card-block">
             <div class="row">

+ 1 - 0
admin-ui/src/app/data/definitions/product-definitions.ts

@@ -15,6 +15,7 @@ export const ASSET_FRAGMENT = gql`
 export const PRODUCT_VARIANT_FRAGMENT = gql`
     fragment ProductVariant on ProductVariant {
         id
+        enabled
         languageCode
         name
         price

+ 1 - 0
admin-ui/src/app/data/providers/product-data.service.ts

@@ -126,6 +126,7 @@ export class ProductDataService {
             input: variants.map(
                 pick([
                     'id',
+                    'enabled',
                     'translations',
                     'sku',
                     'price',

+ 1 - 1
packages/common/src/generated-shop-types.ts

@@ -1,5 +1,5 @@
 // tslint:disable
-// Generated in 2019-04-24T17:04:25+02:00
+// Generated in 2019-04-24T20:30:12+02:00
 export type Maybe<T> = T | null;
 
 export interface OrderListOptions {

+ 165 - 163
packages/common/src/generated-types.ts

@@ -1,5 +1,5 @@
 // tslint:disable
-// Generated in 2019-04-24T17:04:27+02:00
+// Generated in 2019-04-24T20:30:13+02:00
 export type Maybe<T> = T | null;
 
 
@@ -676,6 +676,42 @@ export interface CreateAssetInput {
   file: Upload;
 }
 
+export interface CreateChannelInput {
+  
+  code: string;
+  
+  token: string;
+  
+  defaultLanguageCode: LanguageCode;
+  
+  pricesIncludeTax: boolean;
+  
+  currencyCode: CurrencyCode;
+  
+  defaultTaxZoneId?: Maybe<string>;
+  
+  defaultShippingZoneId?: Maybe<string>;
+}
+
+export interface UpdateChannelInput {
+  
+  id: string;
+  
+  code?: Maybe<string>;
+  
+  token?: Maybe<string>;
+  
+  defaultLanguageCode?: Maybe<LanguageCode>;
+  
+  pricesIncludeTax?: Maybe<boolean>;
+  
+  currencyCode?: Maybe<CurrencyCode>;
+  
+  defaultTaxZoneId?: Maybe<string>;
+  
+  defaultShippingZoneId?: Maybe<string>;
+}
+
 export interface CreateCollectionInput {
   
   featuredAssetId?: Maybe<string>;
@@ -775,42 +811,6 @@ export interface UpdateCountryInput {
   enabled?: Maybe<boolean>;
 }
 
-export interface CreateChannelInput {
-  
-  code: string;
-  
-  token: string;
-  
-  defaultLanguageCode: LanguageCode;
-  
-  pricesIncludeTax: boolean;
-  
-  currencyCode: CurrencyCode;
-  
-  defaultTaxZoneId?: Maybe<string>;
-  
-  defaultShippingZoneId?: Maybe<string>;
-}
-
-export interface UpdateChannelInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  token?: Maybe<string>;
-  
-  defaultLanguageCode?: Maybe<LanguageCode>;
-  
-  pricesIncludeTax?: Maybe<boolean>;
-  
-  currencyCode?: Maybe<CurrencyCode>;
-  
-  defaultTaxZoneId?: Maybe<string>;
-  
-  defaultShippingZoneId?: Maybe<string>;
-}
-
 export interface CreateCustomerGroupInput {
   
   name: string;
@@ -1004,6 +1004,48 @@ export interface UpdatePaymentMethodInput {
   configArgs?: Maybe<ConfigArgInput[]>;
 }
 
+export interface CreateProductOptionGroupInput {
+  
+  code: string;
+  
+  translations: ProductOptionGroupTranslationInput[];
+  
+  options: CreateProductOptionInput[];
+  
+  customFields?: Maybe<Json>;
+}
+
+export interface ProductOptionGroupTranslationInput {
+  
+  id?: Maybe<string>;
+  
+  languageCode: LanguageCode;
+  
+  name?: Maybe<string>;
+  
+  customFields?: Maybe<Json>;
+}
+
+export interface CreateProductOptionInput {
+  
+  code: string;
+  
+  translations: ProductOptionGroupTranslationInput[];
+  
+  customFields?: Maybe<Json>;
+}
+
+export interface UpdateProductOptionGroupInput {
+  
+  id: string;
+  
+  code?: Maybe<string>;
+  
+  translations?: Maybe<ProductOptionGroupTranslationInput[]>;
+  
+  customFields?: Maybe<Json>;
+}
+
 export interface CreateProductInput {
   
   featuredAssetId?: Maybe<string>;
@@ -1083,48 +1125,6 @@ export interface ProductVariantTranslationInput {
   customFields?: Maybe<Json>;
 }
 
-export interface CreateProductOptionGroupInput {
-  
-  code: string;
-  
-  translations: ProductOptionGroupTranslationInput[];
-  
-  options: CreateProductOptionInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface ProductOptionGroupTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateProductOptionInput {
-  
-  code: string;
-  
-  translations: ProductOptionGroupTranslationInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateProductOptionGroupInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  translations?: Maybe<ProductOptionGroupTranslationInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
 export interface CreatePromotionInput {
   
   name: string;
@@ -4037,6 +4037,8 @@ export namespace ProductVariant {
     
     id: string;
     
+    enabled: boolean;
+    
     languageCode: LanguageCode;
     
     name: string;
@@ -4540,6 +4542,12 @@ export interface Query {
   
   me?: Maybe<CurrentUser>;
   
+  channels: Channel[];
+  
+  channel?: Maybe<Channel>;
+  
+  activeChannel: Channel;
+  
   collections: CollectionList;
   
   collection?: Maybe<Collection>;
@@ -4550,12 +4558,6 @@ export interface Query {
   
   country?: Maybe<Country>;
   
-  channels: Channel[];
-  
-  channel?: Maybe<Channel>;
-  
-  activeChannel: Channel;
-  
   customerGroups: CustomerGroup[];
   
   customerGroup?: Maybe<CustomerGroup>;
@@ -4578,16 +4580,16 @@ export interface Query {
   
   paymentMethod?: Maybe<PaymentMethod>;
   
+  productOptionGroups: ProductOptionGroup[];
+  
+  productOptionGroup?: Maybe<ProductOptionGroup>;
+  
   search: SearchResponse;
   
   products: ProductList;
   
   product?: Maybe<Product>;
   
-  productOptionGroups: ProductOptionGroup[];
-  
-  productOptionGroup?: Maybe<ProductOptionGroup>;
-  
   promotion?: Maybe<Promotion>;
   
   promotions: PromotionList;
@@ -5406,6 +5408,42 @@ export interface PaymentMethod extends Node {
 }
 
 
+export interface ProductOptionGroup extends Node {
+  
+  id: string;
+  
+  createdAt: DateTime;
+  
+  updatedAt: DateTime;
+  
+  languageCode: LanguageCode;
+  
+  code: string;
+  
+  name: string;
+  
+  options: ProductOption[];
+  
+  translations: ProductOptionGroupTranslation[];
+  
+  customFields?: Maybe<Json>;
+}
+
+
+export interface ProductOptionGroupTranslation {
+  
+  id: string;
+  
+  createdAt: DateTime;
+  
+  updatedAt: DateTime;
+  
+  languageCode: LanguageCode;
+  
+  name: string;
+}
+
+
 export interface SearchResponse {
   
   items: SearchResult[];
@@ -5520,42 +5558,6 @@ export interface Product extends Node {
 }
 
 
-export interface ProductOptionGroup extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  code: string;
-  
-  name: string;
-  
-  options: ProductOption[];
-  
-  translations: ProductOptionGroupTranslation[];
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface ProductOptionGroupTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
 export interface ProductTranslation {
   
   id: string;
@@ -5667,6 +5669,10 @@ export interface Mutation {
   login: LoginResult;
   
   logout: boolean;
+  /** Create a new Channel */
+  createChannel: Channel;
+  /** Update an existing Channel */
+  updateChannel: Channel;
   /** Create a new Collection */
   createCollection: Collection;
   /** Update an existing Collection */
@@ -5679,10 +5685,6 @@ export interface Mutation {
   updateCountry: Country;
   /** Delete a Country */
   deleteCountry: DeletionResponse;
-  /** Create a new Channel */
-  createChannel: Channel;
-  /** Update an existing Channel */
-  updateChannel: Channel;
   /** Create a new CustomerGroup */
   createCustomerGroup: CustomerGroup;
   /** Update an existing CustomerGroup */
@@ -5721,6 +5723,10 @@ export interface Mutation {
   importProducts?: Maybe<ImportInfo>;
   /** Update an existing PaymentMethod */
   updatePaymentMethod: PaymentMethod;
+  /** Create a new ProductOptionGroup */
+  createProductOptionGroup: ProductOptionGroup;
+  /** Update an existing ProductOptionGroup */
+  updateProductOptionGroup: ProductOptionGroup;
   
   reindex: SearchReindexResponse;
   /** Create a new Product */
@@ -5737,10 +5743,6 @@ export interface Mutation {
   generateVariantsForProduct: Product;
   /** Update existing ProductVariants */
   updateProductVariants: (Maybe<ProductVariant>)[];
-  /** Create a new ProductOptionGroup */
-  createProductOptionGroup: ProductOptionGroup;
-  /** Update an existing ProductOptionGroup */
-  updateProductOptionGroup: ProductOptionGroup;
   
   createPromotion: Promotion;
   
@@ -5851,6 +5853,10 @@ export interface AssetQueryArgs {
   
   id: string;
 }
+export interface ChannelQueryArgs {
+  
+  id: string;
+}
 export interface CollectionsQueryArgs {
   
   languageCode?: Maybe<LanguageCode>;
@@ -5871,10 +5877,6 @@ export interface CountryQueryArgs {
   
   id: string;
 }
-export interface ChannelQueryArgs {
-  
-  id: string;
-}
 export interface CustomerGroupQueryArgs {
   
   id: string;
@@ -5915,29 +5917,29 @@ export interface PaymentMethodQueryArgs {
   
   id: string;
 }
-export interface SearchQueryArgs {
-  
-  input: SearchInput;
-}
-export interface ProductsQueryArgs {
+export interface ProductOptionGroupsQueryArgs {
   
   languageCode?: Maybe<LanguageCode>;
   
-  options?: Maybe<ProductListOptions>;
+  filterTerm?: Maybe<string>;
 }
-export interface ProductQueryArgs {
+export interface ProductOptionGroupQueryArgs {
   
   id: string;
   
   languageCode?: Maybe<LanguageCode>;
 }
-export interface ProductOptionGroupsQueryArgs {
+export interface SearchQueryArgs {
+  
+  input: SearchInput;
+}
+export interface ProductsQueryArgs {
   
   languageCode?: Maybe<LanguageCode>;
   
-  filterTerm?: Maybe<string>;
+  options?: Maybe<ProductListOptions>;
 }
-export interface ProductOptionGroupQueryArgs {
+export interface ProductQueryArgs {
   
   id: string;
   
@@ -6017,6 +6019,14 @@ export interface LoginMutationArgs {
   
   rememberMe?: Maybe<boolean>;
 }
+export interface CreateChannelMutationArgs {
+  
+  input: CreateChannelInput;
+}
+export interface UpdateChannelMutationArgs {
+  
+  input: UpdateChannelInput;
+}
 export interface CreateCollectionMutationArgs {
   
   input: CreateCollectionInput;
@@ -6041,14 +6051,6 @@ export interface DeleteCountryMutationArgs {
   
   id: string;
 }
-export interface CreateChannelMutationArgs {
-  
-  input: CreateChannelInput;
-}
-export interface UpdateChannelMutationArgs {
-  
-  input: UpdateChannelInput;
-}
 export interface CreateCustomerGroupMutationArgs {
   
   input: CreateCustomerGroupInput;
@@ -6137,6 +6139,14 @@ export interface UpdatePaymentMethodMutationArgs {
   
   input: UpdatePaymentMethodInput;
 }
+export interface CreateProductOptionGroupMutationArgs {
+  
+  input: CreateProductOptionGroupInput;
+}
+export interface UpdateProductOptionGroupMutationArgs {
+  
+  input: UpdateProductOptionGroupInput;
+}
 export interface CreateProductMutationArgs {
   
   input: CreateProductInput;
@@ -6175,14 +6185,6 @@ export interface UpdateProductVariantsMutationArgs {
   
   input: UpdateProductVariantInput[];
 }
-export interface CreateProductOptionGroupMutationArgs {
-  
-  input: CreateProductOptionGroupInput;
-}
-export interface UpdateProductOptionGroupMutationArgs {
-  
-  input: UpdateProductOptionGroupInput;
-}
 export interface CreatePromotionMutationArgs {
   
   input: CreatePromotionInput;

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
schema-admin.json


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 426 - 439
schema.json


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov