Ver Fonte

refactor(admin-ui): Slim down payload of GetCountryList & GetZones

Michael Bromley há 7 anos atrás
pai
commit
ca0bde3a76

+ 11 - 4
admin-ui/src/app/data/definitions/settings-definitions.ts

@@ -18,12 +18,14 @@ export const GET_COUNTRY_LIST = gql`
     query GetCountryList($options: CountryListOptions) {
         countries(options: $options) {
             items {
-                ...Country
+                id
+                code
+                name
+                enabled
             }
             totalItems
         }
     }
-    ${COUNTRY_FRAGMENT}
 `;
 
 export const GET_COUNTRY = gql`
@@ -67,10 +69,15 @@ export const ZONE_FRAGMENT = gql`
 export const GET_ZONES = gql`
     query GetZones {
         zones {
-            ...Zone
+            id
+            name
+            members {
+                id
+                name
+                code
+            }
         }
     }
-    ${ZONE_FRAGMENT}
 `;
 
 export const GET_ZONE = gql`

+ 4 - 8
admin-ui/src/app/settings/components/country-list/country-list.component.ts

@@ -1,7 +1,7 @@
 import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';
 import { combineLatest, Observable, of, Subject } from 'rxjs';
 import { map, mergeMap, take, tap } from 'rxjs/operators';
-import { Country, Zone } from 'shared/generated-types';
+import { Country, GetCountryList, GetZones, Zone } from 'shared/generated-types';
 
 import { _ } from '../../../core/providers/i18n/mark-for-extraction';
 import { NotificationService } from '../../../core/providers/notification/notification.service';
@@ -9,10 +9,6 @@ import { DataService } from '../../../data/providers/data.service';
 import { ModalService } from '../../../shared/providers/modal/modal.service';
 import { ZoneSelectorDialogComponent } from '../zone-selector-dialog/zone-selector-dialog.component';
 
-export interface CountryWithZones extends Country.Fragment {
-    zones: Zone.Fragment[];
-}
-
 @Component({
     selector: 'vdr-country-list',
     templateUrl: './country-list.component.html',
@@ -20,11 +16,11 @@ export interface CountryWithZones extends Country.Fragment {
     changeDetection: ChangeDetectionStrategy.OnPush,
 })
 export class CountryListComponent implements OnInit, OnDestroy {
-    countriesWithZones$: Observable<CountryWithZones[]>;
-    zones$: Observable<Zone.Fragment[]>;
+    countriesWithZones$: Observable<Array<GetCountryList.Items & { zones: GetZones.Zones[] }>>;
+    zones$: Observable<GetZones.Zones[]>;
 
     selectedCountryIds: string[] = [];
-    private countries: Country.Fragment[] = [];
+    private countries: GetCountryList.Items[] = [];
     private destroy$ = new Subject();
 
     constructor(

+ 2 - 2
admin-ui/src/app/settings/components/tax-rate-detail/tax-rate-detail.component.ts

@@ -6,11 +6,11 @@ import { mergeMap, take } from 'rxjs/operators';
 import {
     CreateTaxRateInput,
     CustomerGroup,
+    GetZones,
     LanguageCode,
     TaxCategory,
     TaxRate,
     UpdateTaxRateInput,
-    Zone,
 } from 'shared/generated-types';
 
 import { BaseDetailComponent } from '../../../common/base-detail.component';
@@ -28,7 +28,7 @@ import { ServerConfigService } from '../../../data/server-config';
 export class TaxRateDetailComponent extends BaseDetailComponent<TaxRate.Fragment>
     implements OnInit, OnDestroy {
     taxCategories$: Observable<TaxCategory.Fragment[]>;
-    zones$: Observable<Zone.Fragment[]>;
+    zones$: Observable<GetZones.Zones[]>;
     groups$: Observable<CustomerGroup[]>;
     taxRateForm: FormGroup;
 

+ 5 - 5
admin-ui/src/app/settings/components/zone-selector-dialog/zone-selector-dialog.component.ts

@@ -1,5 +1,5 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { Zone } from 'shared/generated-types';
+import { Component } from '@angular/core';
+import { GetZones } from 'shared/generated-types';
 
 import { Dialog } from '../../../shared/providers/modal/modal.service';
 
@@ -8,10 +8,10 @@ import { Dialog } from '../../../shared/providers/modal/modal.service';
     templateUrl: './zone-selector-dialog.component.html',
     styleUrls: ['./zone-selector-dialog.component.scss'],
 })
-export class ZoneSelectorDialogComponent implements Dialog<Zone.Fragment | { name: string }> {
-    allZones: Zone.Fragment[];
+export class ZoneSelectorDialogComponent implements Dialog<GetZones.Zones | { name: string }> {
+    allZones: GetZones.Zones[];
     canCreateNewZone = false;
-    resolveWith: (result?: Zone.Fragment | { name: string }) => void;
+    resolveWith: (result?: GetZones.Zones | { name: string }) => void;
     selected: any;
 
     onChange(e) {

+ 20 - 2
shared/generated-types.ts

@@ -5201,7 +5201,13 @@ export namespace GetCountryList {
         totalItems: number;
     };
 
-    export type Items = Country.Fragment;
+    export type Items = {
+        __typename?: 'Country';
+        id: string;
+        code: string;
+        name: string;
+        enabled: boolean;
+    };
 }
 
 export namespace GetCountry {
@@ -5251,7 +5257,19 @@ export namespace GetZones {
         zones: Zones[];
     };
 
-    export type Zones = Zone.Fragment;
+    export type Zones = {
+        __typename?: 'Zone';
+        id: string;
+        name: string;
+        members: Members[];
+    };
+
+    export type Members = {
+        __typename?: 'Country';
+        id: string;
+        name: string;
+        code: string;
+    };
 }
 
 export namespace GetZone {