Skip to content

Commit

Permalink
Merge branch 'features' into staging
Browse files Browse the repository at this point in the history
  • Loading branch information
acoffman committed Mar 28, 2024
2 parents 62e36fd + 81115aa commit 71e97df
Show file tree
Hide file tree
Showing 12 changed files with 311 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*ngIf="tagDisplay != 'hideUser'"></cvc-user-tag>

<!-- verb -->
<span nz-typography>{{ event.action | eventVerbiage : 'feed' }}&nbsp;</span>
<span nz-typography>{{ event.action | eventVerbiage: 'feed' }}&nbsp;</span>

<!-- originating object -->
<ng-container *ngIf="event.originatingObject as object">
Expand Down Expand Up @@ -76,7 +76,10 @@
*ngSwitchCase="'EvidenceItem'"
[evidence]="subject"></cvc-evidence-tag>
<cvc-feature-variant-tag
*ngSwitchCase="'Variant'"
*ngSwitchCase="'GeneVariant'"
[variant]="subject"></cvc-feature-variant-tag>
<cvc-feature-variant-tag
*ngSwitchCase="'FactorVariant'"
[variant]="subject"></cvc-feature-variant-tag>
<cvc-revision-tag
*ngSwitchCase="'Revision'"
Expand Down
3 changes: 3 additions & 0 deletions client/src/app/core/pipes/typename-to-icon.pipe.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import { Maybe } from '@app/generated/civic.apollo'
export class TypenameToIconPipe implements PipeTransform {
transform(value: Maybe<string>): string {
if (!value) return ''
if (value.endsWith('Variant')) {
return 'civic-variant'
}
return `civic-${value.replace(/_/g, '').toLowerCase()}`
}
}
2 changes: 2 additions & 0 deletions client/src/app/core/utilities/get-entity-color.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ export const EntityColors = new Map<string, string>([
['Source', '#f9ba45'],
['Therapy', '#ac3996'],
['Variant', '#74d34c'],
['GeneVariant', '#74d34c'],
['FactorVariant', '#74d34c'],
['VariantGroup', '#74d34c'],
['VariantType', '#74d34c'],

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<nz-select
[disabled]="!props.canChangeFeatureType"
[(ngModel)]="selectedFeatureType"
(ngModelChange)="this.onFeatureType$?.next($event)">
(ngModelChange)="this.onFeatureType$.next($event)">
<nz-option
nzValue="GENE"
nzLabel="Gene"></nz-option>
Expand Down
12 changes: 10 additions & 2 deletions client/src/app/forms/types/feature-select/feature-select.type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ import { FormlyFieldProps } from '@ngx-formly/ng-zorro-antd/form-field'
import { NzSelectOptionInterface } from 'ng-zorro-antd/select'
import mixin from 'ts-mixin-extended'
import { FeatureIdWithCreationStatus } from './feature-quick-add/feature-quick-add.form'
import { BehaviorSubject } from 'rxjs'
import { BehaviorSubject, Subscription } from 'rxjs'
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'

export type CvcFeatureSelectFieldOption = Partial<
FieldTypeConfig<Partial<CvcFeatureSelectFieldProps>>
Expand Down Expand Up @@ -67,6 +68,7 @@ const FeatureSelectMixin = mixin(
>()
)

@UntilDestroy()
@Component({
selector: 'cvc-feature-select',
templateUrl: './feature-select.type.html',
Expand Down Expand Up @@ -94,7 +96,7 @@ export class CvcFeatureSelectField
optionTemplates?: QueryList<TemplateRef<any>>

selectedFeatureType?: FeatureInstanceTypes = this.props.featureType
onFeatureType$?: BehaviorSubject<Maybe<FeatureInstanceTypes>> =
onFeatureType$: BehaviorSubject<Maybe<FeatureInstanceTypes>> =
new BehaviorSubject<Maybe<FeatureInstanceTypes>>(undefined)

constructor(
Expand All @@ -107,6 +109,12 @@ export class CvcFeatureSelectField

ngAfterViewInit(): void {
this.selectedFeatureType = this.props.featureType
if (this.props.featureTypeCallback) {
this.onFeatureType$
.pipe(untilDestroyed(this))
.subscribe((ft) => this.props.featureTypeCallback(ft))
this.onFeatureType$.next(this.selectedFeatureType)
}
this.configureBaseField() // mixin fn
this.configureEntitySelectField({
// mixin fn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,19 @@ import {
import { UntypedFormGroup } from '@angular/forms'
import { EntityFieldSubjectMap } from '@app/forms/states/base.state'
import { CvcFormRowWrapperProps } from '@app/forms/wrappers/form-row/form-row.wrapper'
import { MolecularProfile, Variant } from '@app/generated/civic.apollo'
import {
CreateableFeatureTypes,
MolecularProfile,
Variant,
} from '@app/generated/civic.apollo'
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core'
import { Apollo, gql } from 'apollo-angular'
import { Maybe } from 'graphql/jsutils/Maybe'
import { NzFormLayoutType } from 'ng-zorro-antd/form'
import { BehaviorSubject } from 'rxjs'
import { tag } from 'rxjs-spy/operators'
import { CvcVariantSelectFieldOption } from '../../variant-select/variant-select.type'
import { EnumToTitlePipe } from '@app/core/pipes/enum-to-title-pipe'

type MpFinderModel = {
featureId?: number
Expand All @@ -40,6 +45,7 @@ export class MpFinderComponent {
model: MpFinderModel
form: UntypedFormGroup
config: FormlyFieldConfig[]
featureType?: CreateableFeatureTypes

finderState: MpFinderState = {
formLayout: 'horizontal',
Expand Down Expand Up @@ -76,6 +82,9 @@ export class MpFinderComponent {
showExtra: false,
showErrorTip: false,
required: true,
featureTypeCallback: (ft: CreateableFeatureTypes) => {
this.featureType = ft
},
},
},
<CvcVariantSelectFieldOption>{
Expand Down Expand Up @@ -110,10 +119,11 @@ export class MpFinderComponent {

getSelectedVariant(variantId: Maybe<number>): Maybe<Variant> {
if (!variantId) return
const feature = new EnumToTitlePipe().transform(this.featureType)
const fragment = {
id: `Variant:${variantId}`,
id: `${feature}Variant:${variantId}`,
fragment: gql`
fragment VariantSelectQuery on Variant {
fragment VariantSelectQuery on ${feature}Variant {
id
name
link
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,15 @@ query VariantSelectTypeahead($name: String!, $featureId: Int) {

query VariantSelectTag($variantId: Int!) {
variant(id: $variantId) {
...VariantSelectTypeaheadFields
... on Variant {
...VariantSelectTypeaheadFields
}
... on GeneVariant {
...VariantSelectTypeaheadFields
}
... on FactorVariant {
...VariantSelectTypeaheadFields
}
}
}

Expand Down
21 changes: 21 additions & 0 deletions client/src/app/generated/civic.apollo-helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2125,6 +2125,19 @@ export type VariantAliasKeySpecifier = ('name' | VariantAliasKeySpecifier)[];
export type VariantAliasFieldPolicy = {
name?: FieldPolicy<any> | FieldReadFunction<any>
};
export type VariantConnectionKeySpecifier = ('edges' | 'nodes' | 'pageCount' | 'pageInfo' | 'totalCount' | VariantConnectionKeySpecifier)[];
export type VariantConnectionFieldPolicy = {
edges?: FieldPolicy<any> | FieldReadFunction<any>,
nodes?: FieldPolicy<any> | FieldReadFunction<any>,
pageCount?: FieldPolicy<any> | FieldReadFunction<any>,
pageInfo?: FieldPolicy<any> | FieldReadFunction<any>,
totalCount?: FieldPolicy<any> | FieldReadFunction<any>
};
export type VariantEdgeKeySpecifier = ('cursor' | 'node' | VariantEdgeKeySpecifier)[];
export type VariantEdgeFieldPolicy = {
cursor?: FieldPolicy<any> | FieldReadFunction<any>,
node?: FieldPolicy<any> | FieldReadFunction<any>
};
export type VariantGroupKeySpecifier = ('comments' | 'description' | 'events' | 'flagged' | 'flags' | 'id' | 'lastAcceptedRevisionEvent' | 'lastCommentEvent' | 'lastSubmittedRevisionEvent' | 'link' | 'name' | 'revisions' | 'sources' | 'variants' | VariantGroupKeySpecifier)[];
export type VariantGroupFieldPolicy = {
comments?: FieldPolicy<any> | FieldReadFunction<any>,
Expand Down Expand Up @@ -3038,6 +3051,14 @@ export type StrictTypedTypePolicies = {
keyFields?: false | VariantAliasKeySpecifier | (() => undefined | VariantAliasKeySpecifier),
fields?: VariantAliasFieldPolicy,
},
VariantConnection?: Omit<TypePolicy, "fields" | "keyFields"> & {
keyFields?: false | VariantConnectionKeySpecifier | (() => undefined | VariantConnectionKeySpecifier),
fields?: VariantConnectionFieldPolicy,
},
VariantEdge?: Omit<TypePolicy, "fields" | "keyFields"> & {
keyFields?: false | VariantEdgeKeySpecifier | (() => undefined | VariantEdgeKeySpecifier),
fields?: VariantEdgeFieldPolicy,
},
VariantGroup?: Omit<TypePolicy, "fields" | "keyFields"> & {
keyFields?: false | VariantGroupKeySpecifier | (() => undefined | VariantGroupKeySpecifier),
fields?: VariantGroupFieldPolicy,
Expand Down
Loading

0 comments on commit 71e97df

Please sign in to comment.