Charlie Tran 843a6c5bbb
feat(frontend): update datahub-web client UI code (#1806)
* Releases updated version of datahub-web client UI code

* Fix typo in yarn lock

* Change yarn lock to match yarn registry directories

* Previous commit missed some paths

* Even more changes to yarnlock missing in previous commit

* Include codegen file for typings

* Add files to get parity for datahub-web and current OS datahub-midtier

* Add in typo fix from previous commit - change to proper license

* Implement proper OS fix for person entity picture url

* Workarounds for open source DH issues

* Fixes institutional memory api and removes unopensourced tabs for datasets

* Fixes search dataset deprecation and user search issue as a result of changes

* Remove internal only options in the avatar menu
2020-08-26 15:44:50 -07:00

48 lines
1.9 KiB
TypeScript

import Component from '@ember/component';
import { set } from '@ember/object';
import { task } from 'ember-concurrency';
import { readDownstreamDatasetsByUrn } from 'datahub-web/utils/api/datasets/lineage';
import { DatasetLineageList } from '@datahub/metadata-types/types/entity/dataset/lineage';
import { containerDataSource } from '@datahub/utils/api/data-source';
import { ETaskPromise } from '@datahub/utils/types/concurrency';
import { IDatasetLineage } from '@datahub/metadata-types/types/entity/dataset/lineage';
import { map } from '@ember/object/computed';
@containerDataSource<DatasetLineageDownstreamsContainer>('getDatasetDownstreamsTask', ['urn'])
export default class DatasetLineageDownstreamsContainer extends Component {
/**
* Urn string for the related dataset, supplied as an external attribute
* @type {string}
* @memberof DatasetLineageDownstreamsContainer
*/
urn!: string;
/**
* List of downstreams datasets for this urn
* @memberof DatasetLineageDownstreamsContainer
*/
downstreams: DatasetLineageList = [];
/**
* A map returning the dataset urns from the downstreams list
*/
@map('downstreams', (downstream: IDatasetLineage): string => downstream.dataset.uri)
downstreamUrns!: Array<string>;
/**
* Task to request and set dataset downstreams for this urn
* @type {TaskProperty<Promise<Relationships>> & {perform: (a?: {} | undefined) => TaskInstance<Promise<Relationships>>}}
* @memberof DatasetLineageDownstreamsContainer
*/
@task(function*(this: DatasetLineageDownstreamsContainer): IterableIterator<Promise<DatasetLineageList>> {
let downstreams: DatasetLineageList = [];
try {
downstreams = ((yield readDownstreamDatasetsByUrn(this.urn)) as unknown) as DatasetLineageList;
} finally {
set(this, 'downstreams', downstreams);
}
})
getDatasetDownstreamsTask!: ETaskPromise<DatasetLineageList>;
}