feat(marketplace): extract common components (#1338)

* feat(marketplace): extract common components

* chore: fix service provide

* feat(markdown): allow Observable content

* chore: remove unnecessary module import

* minor styling for marketplacee list

* only show loading for marketplace show if version change

* chore: get rid of unnecessary server request

* chore: fix version switching

Co-authored-by: Matt Hill <matthewonthemoon@gmail.com>
This commit is contained in:
Alex Inkin
2022-03-21 22:50:06 +03:00
committed by GitHub
parent 8b286431e6
commit 7ea3aefdd5
111 changed files with 1064 additions and 803 deletions

View File

@@ -1,3 +1,4 @@
import { AbstractApiService } from '@start9labs/shared'
import { Subject, Observable } from 'rxjs'
import {
Http,
@@ -13,7 +14,10 @@ import { DataModel } from 'src/app/services/patch-db/data-model'
import { RequestError } from '../http.service'
import { map } from 'rxjs/operators'
export abstract class ApiService implements Source<DataModel>, Http<DataModel> {
export abstract class ApiService
extends AbstractApiService
implements Source<DataModel>, Http<DataModel>
{
protected readonly sync$ = new Subject<Update<DataModel>>()
/** PatchDb Source interface. Post/Patch requests provide a source of patches to the db. */
@@ -24,9 +28,6 @@ export abstract class ApiService implements Source<DataModel>, Http<DataModel> {
.pipe(map(result => ({ result, jsonrpc: '2.0' })))
}
// for getting static files: ex icons, instructions, licenses
abstract getStatic(url: string): Promise<string>
// db
abstract getRevisions(since: number): Promise<RR.GetRevisionsRes>