@ampath/esm-reports-app 1.0.0-next.6 → 1.0.0-next.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/197.js +1 -1
- package/dist/282.js +1 -1
- package/dist/282.js.map +1 -1
- package/dist/295.css +1 -0
- package/dist/295.css.map +1 -0
- package/dist/295.js +1 -0
- package/dist/295.js.map +1 -0
- package/dist/300.js +1 -1
- package/dist/311.js +1 -1
- package/dist/311.js.map +1 -1
- package/dist/335.js +1 -1
- package/dist/353.js +1 -1
- package/dist/353.js.map +1 -1
- package/dist/410.js +1 -0
- package/dist/410.js.map +1 -0
- package/dist/478.js +1 -1
- package/dist/478.js.map +1 -1
- package/dist/540.js +1 -1
- package/dist/540.js.map +1 -1
- package/dist/55.js +1 -1
- package/dist/580.js +1 -0
- package/dist/580.js.map +1 -0
- package/dist/652.js +1 -1
- package/dist/876.css +1 -0
- package/dist/876.css.map +1 -0
- package/dist/876.js +1 -0
- package/dist/876.js.map +1 -0
- package/dist/907.js +2 -0
- package/dist/907.js.LICENSE.txt +35 -0
- package/dist/907.js.map +1 -0
- package/dist/961.js +1 -1
- package/dist/961.js.map +1 -1
- package/dist/99.js +1 -1
- package/dist/ampath-esm-reports-app.js +1 -1
- package/dist/ampath-esm-reports-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +2 -2
- package/src/common/daily-summary-table.tsx +55 -0
- package/src/common/linelist-table/index.ts +3 -0
- package/src/common/linelist-table/linelist-columns.ts +48 -0
- package/src/common/linelist-table/linelist-table.component.tsx +442 -0
- package/src/common/linelist-table/linelist-table.scss +306 -0
- package/src/common/linelist-table/linelist-table.test.tsx +120 -0
- package/src/common/linelist-table/use-all-rows.ts +93 -0
- package/src/common/linelist-table/use-column-layout.ts +123 -0
- package/src/common/report-error/index.ts +1 -0
- package/src/common/report-error/show-report-error.ts +25 -0
- package/src/common/report-filters/date-range.ts +137 -0
- package/src/common/report-filters/index.ts +4 -0
- package/src/common/report-filters/report-filters.component.tsx +297 -100
- package/src/common/report-filters/report-filters.scss +255 -32
- package/src/common/report-filters/types.ts +66 -0
- package/src/common/report-filters/use-restore-period.ts +43 -0
- package/src/common/report-header/index.ts +1 -0
- package/src/common/report-header/use-location-details.ts +58 -0
- package/src/common/report-page/index.ts +2 -0
- package/src/common/report-page/report-page.component.tsx +32 -0
- package/src/common/report-page/report-page.scss +45 -0
- package/src/common/report-page/use-page-scale.ts +60 -0
- package/src/common/report-placeholder/has-report-data.ts +15 -0
- package/src/common/report-placeholder/index.ts +3 -0
- package/src/common/report-placeholder/report-placeholder.component.tsx +81 -0
- package/src/common/report-placeholder/report-placeholder.scss +48 -0
- package/src/common/report-placeholder/use-generated-location.ts +62 -0
- package/src/common/report-register/index.ts +6 -0
- package/src/common/report-register/register-columns.ts +46 -0
- package/src/common/report-register/register-layout.component.tsx +265 -0
- package/src/common/report-register/register-layout.scss +150 -0
- package/src/common/report-register/register-table.scss +71 -0
- package/src/common/report-register/report-parents.ts +27 -0
- package/src/common/report-register/rows-to-csv.ts +89 -0
- package/src/common/report-register/use-location-name.ts +54 -0
- package/src/common/report-register/use-patient-list.ts +92 -0
- package/src/common/report-skeleton/index.ts +1 -0
- package/src/common/report-skeleton/report-skeleton.component.tsx +46 -0
- package/src/common/report-skeleton/report-skeleton.scss +29 -0
- package/src/config-schema.ts +9 -1
- package/src/dashboard/report-catalog.ts +173 -0
- package/src/dashboard/reports-dasboard.tsx +101 -17
- package/src/dashboard/reports-dashboard.module.scss +269 -11
- package/src/index.ts +13 -1
- package/src/reports/datatable-wrapper/datatable-wrapper.component.tsx +69 -0
- package/src/reports/moh-240/moh-240-header.component.tsx +62 -0
- package/src/reports/moh-240/moh-240.columns.ts +113 -0
- package/src/reports/moh-240/moh-240.component.tsx +75 -0
- package/src/reports/moh-240/moh-240.scss +40 -0
- package/src/reports/moh-240/sub-reports/moh-240-register.component.tsx +36 -0
- package/src/reports/moh-240/sub-reports/page-summary.component.tsx +148 -0
- package/src/reports/moh-505/moh-505-header.component.tsx +67 -0
- package/src/reports/moh-505/moh-505.component.tsx +441 -0
- package/src/reports/moh-505/moh-505.scss +117 -0
- package/src/reports/moh-705B/moh-204b-register.component.tsx +244 -0
- package/src/reports/moh-705B/moh-204b.columns.ts +39 -0
- package/src/reports/moh-705B/moh-705b.component.tsx +658 -0
- package/src/reports/moh-705B/moh-705b.scss +172 -0
- package/src/reports/moh-705a/moh-705a.component.tsx +660 -0
- package/src/reports/moh-705a/moh-705a.scss +172 -0
- package/src/reports/moh-705a/registers/moh-204a-register.component.tsx +329 -0
- package/src/reports/moh-705a/registers/moh-204a.columns.ts +57 -0
- package/src/reports/moh-705a/type.ts +6 -0
- package/src/reports/moh-706/moh-706-header.component.tsx +66 -0
- package/src/reports/moh-706/moh-706.component.tsx +150 -24
- package/src/reports/moh-706/moh-706.scss +119 -11
- package/src/reports/moh-706/sub-reports/bacteriology/bacteriology.component.tsx +36 -44
- package/src/reports/moh-706/sub-reports/blood-chemistry/blood-chemistry.component.tsx +232 -318
- package/src/reports/moh-706/sub-reports/drug-susceptibility-testing/drug-susceptibility-testing.component.tsx +32 -47
- package/src/reports/moh-706/sub-reports/haematology/haematology.component.tsx +44 -52
- package/src/reports/moh-706/sub-reports/histology-and-cytology/histology-and-cytology.component.tsx +25 -40
- package/src/reports/moh-706/sub-reports/parasitology/parasitology.component.tsx +31 -39
- package/src/reports/moh-706/sub-reports/serology/serology.component.tsx +26 -34
- package/src/reports/moh-706/sub-reports/specimen-referral-to-higher-levels/specimen-referral-to-higher-levels.component.tsx +10 -25
- package/src/reports/moh-706/sub-reports/urine-analysis/urine-analysis.component.tsx +42 -50
- package/src/reports/moh-710/moh-710.component.tsx +799 -632
- package/src/reports/moh-710/moh-710.scss +142 -21
- package/src/reports/moh-710/registers/moh-510/moh-510.columns.ts +40 -0
- package/src/reports/moh-710/registers/moh-510/moh-510.component.tsx +144 -0
- package/src/reports/moh-710/registers/moh-510/moh-510.scss +130 -0
- package/src/reports/moh-710/registers/moh-511-710-register.component.tsx +268 -0
- package/src/reports/moh-710/registers/moh-511-710.columns.ts +52 -0
- package/src/reports/moh-710/registers/type.ts +31 -0
- package/src/reports/moh-711/moh-711.component.tsx +138 -1269
- package/src/reports/moh-711/moh711.scss +135 -20
- package/src/reports/moh-711/registers/moh-333-register.component.tsx +637 -0
- package/src/reports/moh-711/registers/moh-333.columns.ts +119 -0
- package/src/reports/moh-711/registers/moh-405-register.component.tsx +520 -0
- package/src/reports/moh-711/registers/moh-405.columns.ts +120 -0
- package/src/reports/moh-711/registers/moh-406-register.component.tsx +530 -0
- package/src/reports/moh-711/registers/moh-406.columns.ts +133 -0
- package/src/reports/moh-711/registers/moh-510-register.component.tsx +55 -0
- package/src/reports/moh-711/registers/moh-511-register.component.tsx +270 -0
- package/src/reports/moh-711/registers/moh-511.columns.ts +59 -0
- package/src/reports/moh-711/registers/type.ts +192 -0
- package/src/reports/moh-711/sections/anc.component.tsx +159 -0
- package/src/reports/moh-711/sections/cervical-cancer.component.tsx +148 -0
- package/src/reports/moh-711/sections/chanis.component.tsx +366 -0
- package/src/reports/moh-711/sections/family-planning.component.tsx +221 -0
- package/src/reports/moh-711/sections/gbv.component.tsx +115 -0
- package/src/reports/moh-711/sections/maternity.component.tsx +321 -0
- package/src/reports/moh-711/sections/medical-social-work.component.tsx +73 -0
- package/src/reports/moh-711/sections/other.component.tsx +47 -0
- package/src/reports/moh-711/sections/physiotherapy.component.tsx +61 -0
- package/src/reports/moh-711/sections/pnc.component.tsx +127 -0
- package/src/reports/moh-711/sections/post-abortion.component.tsx +42 -0
- package/src/reports/moh-711/sections/rehabilitation.component.tsx +57 -0
- package/src/reports/moh-711/sections/report-compiled-by.component.tsx +50 -0
- package/src/reports/moh-711/sections/tb-screening.component.tsx +57 -0
- package/src/reports/moh-717/moh-717.component.tsx +149 -985
- package/src/reports/moh-717/moh717.scss +217 -21
- package/src/reports/moh-717/registers/nutrition-register.component.tsx +48 -0
- package/src/reports/moh-717/sections/finance.component.tsx +42 -0
- package/src/reports/moh-717/sections/inpatient.component.tsx +374 -0
- package/src/reports/moh-717/sections/maternity.component.tsx +126 -0
- package/src/reports/moh-717/sections/medical-records.component.tsx +35 -0
- package/src/reports/moh-717/sections/mortuary.component.tsx +43 -0
- package/src/reports/moh-717/sections/operations.component.tsx +53 -0
- package/src/reports/moh-717/sections/orthopaedic-trauma.component.tsx +98 -0
- package/src/reports/moh-717/sections/outpatient.component.tsx +597 -0
- package/src/reports/moh-717/sections/pharmacy.component.tsx +43 -0
- package/src/reports/moh-717/sections/preparedby.component.tsx +52 -0
- package/src/reports/moh-717/sections/special-services.component.tsx +114 -0
- package/src/reports/moh-731/linelist/moh-731-indicators.ts +1040 -0
- package/src/reports/moh-731/linelist/moh-731-linelist-sections.ts +423 -0
- package/src/reports/moh-731/linelist/moh-731-linelist.component.tsx +102 -0
- package/src/reports/moh-731/linelist/use-open-moh-731-linelist.ts +50 -0
- package/src/reports/moh-731/moh-731.component.tsx +251 -0
- package/src/reports/moh-731/moh-731.scss +493 -0
- package/src/reports/moh-731/registers/moh-366.columns.ts +38 -0
- package/src/reports/moh-731/registers/moh-366.component.tsx +471 -0
- package/src/reports/moh-731/registers/prep-register.component.tsx +284 -0
- package/src/reports/moh-731/registers/prep.columns.ts +34 -0
- package/src/reports/moh-731/sections/hiv-and-tb-treatment.component.tsx +1209 -0
- package/src/reports/moh-731/sections/hiv-testing-and-pre-exposure.component.tsx +727 -0
- package/src/reports/moh-731/sections/pmtct.component.tsx +572 -0
- package/src/reports/moh-731/summary/moh-731-summary.component.tsx +313 -0
- package/src/reports/moh-731/summary/moh-731-summary.config.ts +520 -0
- package/src/reports/moh-731/summary/moh-731-summary.scss +242 -0
- package/src/reports/moh-740/moh-740.component.scss +202 -0
- package/src/reports/moh-740/moh-740.component.tsx +1312 -0
- package/src/reports/moh-740/moh-740.resource.ts +49 -0
- package/src/reports/moh-740/registers/moh-222-daily-register/moh-222-daily-register.tsx +89 -0
- package/src/reports/moh-740/registers/moh-270-permanent-register/moh-270-permanent-register.tsx +61 -0
- package/src/reports/moh-740/registers/moh-740-patient-list.scss +0 -0
- package/src/reports/moh-740/registers/moh-740-patient-list.tsx +95 -0
- package/src/reports/moh-740/registers/moh-740.columns.ts +52 -0
- package/src/reports/moh-740/shared/data-cell/data-cell.scss +6 -0
- package/src/reports/moh-740/shared/data-cell/data-cell.tsx +23 -0
- package/src/reports/moh-740/shared/utils/indicator-register-map.ts +157 -0
- package/src/reports/moh-740/types/index.ts +220 -0
- package/src/reports/moh-745/moh-745.component.tsx +1021 -0
- package/src/reports/moh-745/moh-745.scss +132 -0
- package/src/reports/moh-745/registers/moh-412-register.component.tsx +199 -0
- package/src/reports/moh-745/registers/moh-412.columns.ts +52 -0
- package/src/reports/moh-745/registers/type.ts +181 -0
- package/src/reports/table-wrapper/table-row-mapper.component.tsx +53 -0
- package/src/reports/table-wrapper/table-wrapper.component.tsx +30 -0
- package/src/reports/{moh-706/table-wrapper → table-wrapper}/table-wrapper.scss +1 -16
- package/src/resources/moh-505.resource.ts +69 -0
- package/src/resources/moh-705.resource.ts +106 -0
- package/src/resources/moh-706.resource.ts +80 -0
- package/src/resources/moh-710.resource.ts +32 -9
- package/src/resources/moh-711.resource.ts +137 -9
- package/src/resources/moh-717.resource.ts +26 -9
- package/src/resources/moh-731.resource.ts +90 -0
- package/src/resources/moh-745.resource.ts +76 -0
- package/src/resources/patient-list-page.ts +65 -0
- package/src/root.component.tsx +50 -7
- package/src/root.scss +36 -0
- package/src/routes.json +3 -1
- package/src/utils/format-indicator.ts +22 -0
- package/src/utils/get-base-url.ts +39 -7
- package/src/utils/utils.ts +36 -0
- package/tsconfig.json +1 -1
- package/webpack.config.js +22 -1
- package/dist/184.js +0 -2
- package/dist/184.js.LICENSE.txt +0 -14
- package/dist/184.js.map +0 -1
- package/dist/260.js +0 -1
- package/dist/260.js.map +0 -1
- package/dist/402.js +0 -1
- package/dist/402.js.map +0 -1
- package/dist/812.js +0 -1
- package/dist/812.js.map +0 -1
- package/dist/959.js +0 -2
- package/dist/959.js.LICENSE.txt +0 -20
- package/dist/959.js.map +0 -1
- package/dist/ampath-esm-reports-app.js.buildmanifest.json +0 -539
- package/dist/main.js +0 -1
- package/dist/main.js.map +0 -1
- package/src/reports/moh-706/table-wrapper/table-wrapper.component.tsx +0 -21
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { openmrsFetch } from '@openmrs/esm-framework';
|
|
2
|
+
import { buildEtlUrl } from '../utils/get-base-url';
|
|
3
|
+
import {
|
|
4
|
+
PAGE_SIZE,
|
|
5
|
+
pageParams,
|
|
6
|
+
toPatientListPage,
|
|
7
|
+
type PatientListPage,
|
|
8
|
+
type PatientListParams,
|
|
9
|
+
} from './patient-list-page';
|
|
10
|
+
import {type Moh745reponse, type CancerScreeningResult } from '../reports/moh-745/registers/type';
|
|
11
|
+
|
|
12
|
+
interface Moh745Params {
|
|
13
|
+
locationUuids: string;
|
|
14
|
+
startDate?: string;
|
|
15
|
+
endDate?: string;
|
|
16
|
+
indicator?: string | string[];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export async function getMoh745(params: Moh745Params): Promise<CancerScreeningResult> {
|
|
20
|
+
const url = await buildEtlUrl('moh-745', {
|
|
21
|
+
locationUuids: params.locationUuids || '',
|
|
22
|
+
startDate: params.startDate || '',
|
|
23
|
+
endDate: params.endDate || '',
|
|
24
|
+
});
|
|
25
|
+
try {
|
|
26
|
+
const response = await openmrsFetch(url);
|
|
27
|
+
|
|
28
|
+
const data = await response.json() as Moh745reponse;
|
|
29
|
+
return data?.result[0] ?? null;
|
|
30
|
+
} catch (error: any) {
|
|
31
|
+
throw new Error(`An error occurred while fetching the MOH-710 report: ${error.message}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export async function getMoh412PatientList(params: PatientListParams): Promise<PatientListPage> {
|
|
36
|
+
const url = await buildEtlUrl('moh-412-patient-list', {
|
|
37
|
+
locationUuids: params.locationUuids || '',
|
|
38
|
+
startDate: params.startDate || '',
|
|
39
|
+
endDate: params.endDate || '',
|
|
40
|
+
indicator: Array.isArray(params.indicator) ? params.indicator.join(',') : params.indicator || '',
|
|
41
|
+
...pageParams(params),
|
|
42
|
+
});
|
|
43
|
+
try {
|
|
44
|
+
const response = await openmrsFetch(url);
|
|
45
|
+
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
const errorText = await response.text();
|
|
48
|
+
throw new Error(`Failed to fetch patient list: ${response.status} - ${errorText}`);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const data = await response.json();
|
|
52
|
+
|
|
53
|
+
return toPatientListPage(data, params.startIndex ?? 0, params.limit ?? PAGE_SIZE);
|
|
54
|
+
} catch (error: any) {
|
|
55
|
+
console.error('Failed to fetch MOH 412 PATIENT LIST data', error);
|
|
56
|
+
throw new Error(`An error occurred while fetching the MOH-705 patient list: ${error.message}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export async function fetchMoh745PatientList(params: PatientListParams): Promise<any[]> {
|
|
61
|
+
const url = await buildEtlUrl('moh-412-patient-list', {
|
|
62
|
+
locationUuids: params.locationUuids || '',
|
|
63
|
+
startDate: params.startDate || '',
|
|
64
|
+
endDate: params.endDate || '',
|
|
65
|
+
indicators: Array.isArray(params.indicators) ? params.indicators.join(',') : params.indicators || '',
|
|
66
|
+
limit:1000
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
const response = await openmrsFetch(url);
|
|
70
|
+
const data = await response.json();
|
|
71
|
+
return data?.result ?? [];
|
|
72
|
+
} catch (error: any) {
|
|
73
|
+
console.error('Failed to fetch MOH 412 PATIENT LIST data', error);
|
|
74
|
+
throw new Error(`An error occurred while fetching the MOH-705 patient list: ${error.message}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/** How many rows a register asks for at a time */
|
|
2
|
+
export const PAGE_SIZE = 50;
|
|
3
|
+
|
|
4
|
+
export interface PatientListParams {
|
|
5
|
+
locationUuids: string;
|
|
6
|
+
startDate?: string;
|
|
7
|
+
endDate?: string;
|
|
8
|
+
indicator?: string;
|
|
9
|
+
indicators?: string;
|
|
10
|
+
gender?: string;
|
|
11
|
+
/** MOH-711 endpoints scope the list by report */
|
|
12
|
+
reportName?: string;
|
|
13
|
+
/** Row to start at, 0-based, as the ETL expects */
|
|
14
|
+
startIndex?: number;
|
|
15
|
+
limit?: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface PatientListPage {
|
|
19
|
+
results: Array<Record<string, any>>;
|
|
20
|
+
/** Rows across every page */
|
|
21
|
+
total: number;
|
|
22
|
+
/** `false` when the total had to be inferred rather than read from the response */
|
|
23
|
+
isTotalExact: boolean;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** The paging arguments every patient-list endpoint takes */
|
|
27
|
+
export function pageParams(params: PatientListParams) {
|
|
28
|
+
return {
|
|
29
|
+
startIndex: String(params.startIndex ?? 0),
|
|
30
|
+
limit: String(params.limit ?? PAGE_SIZE),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Normalises a patient-list response into a page of rows plus a total.
|
|
36
|
+
*
|
|
37
|
+
* The endpoints nest their payload differently and do not all report a count,
|
|
38
|
+
* so the total is read from whichever field carries it and inferred otherwise:
|
|
39
|
+
* a short page means we are on the last one, a full page means there is at
|
|
40
|
+
* least one more. Inferring keeps the pager usable without ever overstating
|
|
41
|
+
* what we know -- `isTotalExact` says which it is.
|
|
42
|
+
*/
|
|
43
|
+
export function toPatientListPage(data: any, startIndex: number, limit: number): PatientListPage {
|
|
44
|
+
const container = data?.results ?? data ?? {};
|
|
45
|
+
const results: Array<Record<string, any>> = Array.isArray(container?.results)
|
|
46
|
+
? container.results
|
|
47
|
+
: Array.isArray(container)
|
|
48
|
+
? container
|
|
49
|
+
: [];
|
|
50
|
+
const reported = [container?.total, container?.totalCount, container?.count, data?.total, data?.totalCount].find(
|
|
51
|
+
(value) => typeof value === 'number',
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
if (typeof reported === 'number') {
|
|
55
|
+
return { results, total: reported, isTotalExact: true };
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const isLastPage = results.length < limit;
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
results,
|
|
62
|
+
total: isLastPage ? startIndex + results.length : startIndex + results.length + 1,
|
|
63
|
+
isTotalExact: isLastPage,
|
|
64
|
+
};
|
|
65
|
+
}
|
package/src/root.component.tsx
CHANGED
|
@@ -5,19 +5,62 @@ import Moh710Report from './reports/moh-710/moh-710.component';
|
|
|
5
5
|
import Moh711Report from './reports/moh-711/moh-711.component';
|
|
6
6
|
import Moh717Report from './reports/moh-717/moh-717.component';
|
|
7
7
|
import MoH706Report from './reports/moh-706/moh-706.component';
|
|
8
|
+
import Moh240Report from './reports/moh-240/moh-240.component';
|
|
9
|
+
import Moh505Report from './reports/moh-505/moh-505.component';
|
|
10
|
+
import Moh705BComponent from './reports/moh-705B/moh-705b.component';
|
|
11
|
+
import Moh705AComponent from './reports/moh-705a/moh-705a.component';
|
|
12
|
+
import Moh745Component from './reports/moh-745/moh-745.component';
|
|
13
|
+
import Moh740Report from './reports/moh-740/moh-740.component';
|
|
14
|
+
import Moh204ARegisterComponent from './reports/moh-705a/registers/moh-204a-register.component';
|
|
15
|
+
import Moh204BRegisterComponent from './reports/moh-705B/moh-204b-register.component';
|
|
16
|
+
import Moh412Register from './reports/moh-745/registers/moh-412-register.component';
|
|
17
|
+
import Moh405Register from './reports/moh-711/registers/moh-405-register.component';
|
|
18
|
+
import Moh406Register from './reports/moh-711/registers/moh-406-register.component';
|
|
19
|
+
import Moh333Register from './reports/moh-711/registers/moh-333-register.component';
|
|
20
|
+
import Moh511Register from './reports/moh-711/registers/moh-511-register.component';
|
|
21
|
+
import Moh510Register from './reports/moh-711/registers/moh-510-register.component';
|
|
22
|
+
import Moh511710Register from './reports/moh-710/registers/moh-511-710-register.component';
|
|
23
|
+
import Moh731Report from './reports/moh-731/moh-731.component';
|
|
24
|
+
import Moh366Register from './reports/moh-731/registers/moh-366.component';
|
|
25
|
+
import PrepRegisterComponent from './reports/moh-731/registers/prep-register.component';
|
|
26
|
+
import Moh731Linelist from './reports/moh-731/linelist/moh-731-linelist.component';
|
|
27
|
+
import styles from './root.scss';
|
|
28
|
+
import Moh510RegisterComponent from './reports/moh-710/registers/moh-510/moh-510.component';
|
|
8
29
|
|
|
9
30
|
const RootComponent: React.FC = () => {
|
|
10
31
|
const baseName = window.getOpenmrsSpaBase() + 'home/reports';
|
|
11
32
|
|
|
12
33
|
return (
|
|
13
34
|
<BrowserRouter basename={baseName}>
|
|
14
|
-
<
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
35
|
+
<div className={styles.page}>
|
|
36
|
+
<Routes>
|
|
37
|
+
<Route path="/" element={<ReportsDashboard />} />
|
|
38
|
+
<Route path="/moh-710" element={<Moh710Report />} />
|
|
39
|
+
<Route path="/moh-711" element={<Moh711Report />} />
|
|
40
|
+
<Route path="/moh-717" element={<Moh717Report />} />
|
|
41
|
+
<Route path="/moh-706" element={<MoH706Report />} />
|
|
42
|
+
<Route path="/moh-240" element={<Moh240Report />} />
|
|
43
|
+
<Route path="/moh-505" element={<Moh505Report />} />
|
|
44
|
+
<Route path="/moh-705a" element={<Moh705AComponent />} />
|
|
45
|
+
<Route path="/moh-705b" element={<Moh705BComponent />} />
|
|
46
|
+
<Route path="/moh-745" element={<Moh745Component />} />
|
|
47
|
+
<Route path="/moh-740" element={<Moh740Report />} />
|
|
48
|
+
<Route path="/moh-412-register" element={<Moh412Register />} />
|
|
49
|
+
<Route path="/moh-204b" element={<Moh204BRegisterComponent />} />
|
|
50
|
+
<Route path="/moh-204a" element={<Moh204ARegisterComponent />} />
|
|
51
|
+
<Route path="/moh-405-register" element={<Moh405Register />} />
|
|
52
|
+
<Route path="/moh-406-register" element={<Moh406Register />} />
|
|
53
|
+
<Route path="/moh-333-register" element={<Moh333Register />} />
|
|
54
|
+
<Route path="/moh-511-register" element={<Moh511Register />} />
|
|
55
|
+
<Route path="/moh-510-register" element={<Moh510Register />} />
|
|
56
|
+
<Route path="/moh-511-710-register" element={<Moh511710Register />} />
|
|
57
|
+
<Route path="/moh-731" element={<Moh731Report />} />
|
|
58
|
+
<Route path="/moh-731-linelist" element={<Moh731Linelist />} />
|
|
59
|
+
<Route path="/moh-366-register" element={<Moh366Register />} />
|
|
60
|
+
<Route path="/prep-register" element={<PrepRegisterComponent />} />
|
|
61
|
+
<Route path="/moh-510-register" element={<Moh510RegisterComponent />} />
|
|
62
|
+
</Routes>
|
|
63
|
+
</div>
|
|
21
64
|
</BrowserRouter>
|
|
22
65
|
);
|
|
23
66
|
};
|
package/src/root.scss
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
@use '@carbon/layout';
|
|
2
2
|
@use '@carbon/type';
|
|
3
|
+
@use '@openmrs/esm-styleguide/src/vars' as *;
|
|
4
|
+
|
|
5
|
+
/* Single gutter for every route, so the dashboard and the individual reports
|
|
6
|
+
all clear the left nav by the same amount. */
|
|
7
|
+
.page {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
min-height: 100%;
|
|
10
|
+
padding: 0 layout.$spacing-06;
|
|
11
|
+
}
|
|
3
12
|
|
|
4
13
|
.container {
|
|
5
14
|
padding: layout.$spacing-07;
|
|
6
15
|
}
|
|
7
16
|
|
|
17
|
+
@media (max-width: $breakpoint-tablet-max) {
|
|
18
|
+
.page {
|
|
19
|
+
padding: 0 layout.$spacing-05;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
8
23
|
.welcome {
|
|
9
24
|
@include type.type-style('heading-04');
|
|
10
25
|
margin: layout.$spacing-05 0;
|
|
@@ -13,3 +28,24 @@
|
|
|
13
28
|
.explainer {
|
|
14
29
|
margin-bottom: layout.$spacing-07;
|
|
15
30
|
}
|
|
31
|
+
|
|
32
|
+
/* Printing a report should put the report on the paper, not the application
|
|
33
|
+
around it. Every route renders inside `.page`, so the chrome is hidden once
|
|
34
|
+
here; the filter bar hides itself (see report-filters.scss), and a report
|
|
35
|
+
with its own sheet geometry (MOH-731) refines this further. */
|
|
36
|
+
|
|
37
|
+
@media print {
|
|
38
|
+
|
|
39
|
+
.page,
|
|
40
|
+
.page * {
|
|
41
|
+
visibility: visible;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.page {
|
|
45
|
+
position: absolute;
|
|
46
|
+
top: 0;
|
|
47
|
+
left: 0;
|
|
48
|
+
width: 100%;
|
|
49
|
+
padding: 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/routes.json
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"name": "ampath-reports-dashboard-link",
|
|
10
10
|
"component": "reportsDashboardLink",
|
|
11
11
|
"slot": "homepage-dashboard-slot",
|
|
12
|
+
"privileges": ["O3 View Reports Dashboard"],
|
|
12
13
|
"meta": {
|
|
13
14
|
"name": "reports",
|
|
14
15
|
"slot": "ampath-reports-dashboard-slot",
|
|
@@ -20,7 +21,8 @@
|
|
|
20
21
|
{
|
|
21
22
|
"component": "root",
|
|
22
23
|
"name": "ampath-reports-dashboard-root",
|
|
23
|
-
"slot": "ampath-reports-dashboard-slot"
|
|
24
|
+
"slot": "ampath-reports-dashboard-slot",
|
|
25
|
+
"privileges": ["O3 View Reports Dashboard"]
|
|
24
26
|
}
|
|
25
27
|
],
|
|
26
28
|
"pages": []
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function formatIndicatorName(indicator: string): string {
|
|
2
|
+
if (!indicator) {
|
|
3
|
+
return '';
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const parts = indicator.includes("__")
|
|
7
|
+
? indicator.split("__").slice(1)
|
|
8
|
+
: [indicator];
|
|
9
|
+
|
|
10
|
+
return parts
|
|
11
|
+
.map(part =>
|
|
12
|
+
part
|
|
13
|
+
.split("_")
|
|
14
|
+
.map(word =>
|
|
15
|
+
word.length === 1
|
|
16
|
+
? word.toUpperCase()
|
|
17
|
+
: word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
|
|
18
|
+
)
|
|
19
|
+
.join(" ")
|
|
20
|
+
)
|
|
21
|
+
.join(" ");
|
|
22
|
+
}
|
|
@@ -1,12 +1,44 @@
|
|
|
1
1
|
import { getConfig } from '@openmrs/esm-framework';
|
|
2
|
-
import {
|
|
2
|
+
import { configSectionName } from '../index';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The ETL host every report reads from, taken from this module's frontend
|
|
6
|
+
* configuration (`etlBaseUrl`).
|
|
7
|
+
*
|
|
8
|
+
* Throws when it is unset rather than returning an empty string: an empty base
|
|
9
|
+
* collapses every report URL onto the OpenMRS root, which surfaces as a bare
|
|
10
|
+
* 404 that reads like a missing endpoint instead of missing configuration.
|
|
11
|
+
*/
|
|
12
|
+
export async function getEtlBaseUrl(): Promise<string> {
|
|
13
|
+
const { etlBaseUrl } = await getConfig(configSectionName);
|
|
14
|
+
const baseUrl = typeof etlBaseUrl === 'string' ? etlBaseUrl.trim() : '';
|
|
15
|
+
|
|
16
|
+
if (!baseUrl) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
`The ETL base URL is not configured. Set "etlBaseUrl" for ${configSectionName} in the frontend configuration.`,
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// trailing slash trimmed so callers can join with a leading slash safely
|
|
23
|
+
return baseUrl.replace(/\/+$/, '');
|
|
7
24
|
}
|
|
8
25
|
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
26
|
+
export type EtlQueryParams = Record<string, string | number | undefined | null>;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Builds a report URL from the configured ETL base, a path and its query
|
|
30
|
+
* parameters. Blank parameters are dropped rather than sent as empty values.
|
|
31
|
+
*/
|
|
32
|
+
export async function buildEtlUrl(path: string, params: EtlQueryParams = {}): Promise<string> {
|
|
33
|
+
const baseUrl = await getEtlBaseUrl();
|
|
34
|
+
|
|
35
|
+
const query = new URLSearchParams(
|
|
36
|
+
Object.entries(params)
|
|
37
|
+
.filter(([, value]) => value !== undefined && value !== null && value !== '')
|
|
38
|
+
.map(([key, value]) => [key, String(value)]),
|
|
39
|
+
).toString();
|
|
40
|
+
|
|
41
|
+
const url = `${baseUrl}/${path.replace(/^\/+/, '')}`;
|
|
42
|
+
|
|
43
|
+
return query ? `${url}?${query}` : url;
|
|
12
44
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { openmrsFetch } from '@openmrs/esm-framework';
|
|
2
|
+
|
|
3
|
+
export const getCell = (key = "", label = "", colSpan = 1, rowSpan = 1, strong = false) => ({
|
|
4
|
+
key,
|
|
5
|
+
label,
|
|
6
|
+
strong,
|
|
7
|
+
colSpan,
|
|
8
|
+
rowSpan
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
export async function getJson<T>(url: string, payload: Record<string, unknown> | null = null): Promise<T> {
|
|
12
|
+
let requestUrl = url;
|
|
13
|
+
|
|
14
|
+
if (payload && Object.keys(payload).length > 0) {
|
|
15
|
+
const queryString = new URLSearchParams(
|
|
16
|
+
Object.entries(payload).filter(([, value]) => value !== undefined && value !== null) as Array<[string, string]>,
|
|
17
|
+
).toString();
|
|
18
|
+
|
|
19
|
+
if (queryString) {
|
|
20
|
+
requestUrl = `${url}?${queryString}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const response = await openmrsFetch(requestUrl);
|
|
25
|
+
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
const errorText = await response.text();
|
|
28
|
+
throw new Error(`Request failed with ${response.status}: ${errorText}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (response.status === 204 || response.headers.get('content-length') === '0') {
|
|
32
|
+
return Promise.resolve({} as T);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return response.json() as Promise<T>;
|
|
36
|
+
}
|
package/tsconfig.json
CHANGED
package/webpack.config.js
CHANGED
|
@@ -1 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const config = (module.exports = require('openmrs/default-webpack-config'));
|
|
3
|
+
config.watchConfig.ignored = ['.git', 'test-results', `${path.resolve(__dirname, 'dist')}/**`];
|
|
4
|
+
config.overrides.resolve = {
|
|
5
|
+
fallback: {
|
|
6
|
+
crypto: false,
|
|
7
|
+
stream: false,
|
|
8
|
+
os: false,
|
|
9
|
+
path: false,
|
|
10
|
+
zlib: false,
|
|
11
|
+
https: false,
|
|
12
|
+
http: false,
|
|
13
|
+
util: false,
|
|
14
|
+
url: false,
|
|
15
|
+
},
|
|
16
|
+
extensions: ['.tsx', '.ts', '.jsx', '.js', '.scss'],
|
|
17
|
+
alias: {
|
|
18
|
+
'@openmrs/esm-framework': '@openmrs/esm-framework/src/internal',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
module.exports = config;
|
package/dist/184.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 184.js.LICENSE.txt */
|
|
2
|
-
"use strict";(globalThis.webpackChunk_ampath_esm_reports_app=globalThis.webpackChunk_ampath_esm_reports_app||[]).push([[184],{3184(t,e,r){r.r(e),r.d(e,{ArgumentOutOfRangeError:()=>St,AsyncSubject:()=>ot,BehaviorSubject:()=>Y,ConnectableObservable:()=>C,EMPTY:()=>W,EmptyError:()=>It,GroupedObservable:()=>V,NEVER:()=>me,Notification:()=>tt,NotificationKind:()=>G,ObjectUnsubscribedError:()=>I,Observable:()=>E,ReplaySubject:()=>nt,Scheduler:()=>q,Subject:()=>N,Subscriber:()=>v,Subscription:()=>p,TimeoutError:()=>Tt,UnsubscriptionError:()=>f,VirtualAction:()=>xt,VirtualTimeScheduler:()=>_t,animationFrame:()=>wt,animationFrameScheduler:()=>mt,asap:()=>pt,asapScheduler:()=>ft,async:()=>bt,asyncScheduler:()=>dt,bindCallback:()=>kt,bindNodeCallback:()=>Pt,combineLatest:()=>Bt,concat:()=>ie,config:()=>u,defer:()=>oe,empty:()=>z,forkJoin:()=>se,from:()=>Qt,fromEvent:()=>ce,fromEventPattern:()=>ae,generate:()=>le,identity:()=>_,iif:()=>pe,interval:()=>be,isObservable:()=>Et,merge:()=>ye,never:()=>we,noop:()=>gt,observable:()=>w,of:()=>X,onErrorResumeNext:()=>_e,pairs:()=>xe,partition:()=>je,pipe:()=>x,queue:()=>L,queueScheduler:()=>H,race:()=>Ne,range:()=>Ae,scheduled:()=>Kt,throwError:()=>Z,timer:()=>Pe,using:()=>Fe,zip:()=>Ye});var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)};function i(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function o(t){return"function"==typeof t}var s=!1,u={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){t&&(new Error).stack,s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function c(t){setTimeout(function(){throw t},0)}var h={closed:!0,next:function(t){},error:function(t){if(u.useDeprecatedSynchronousErrorHandling)throw t;c(t)},complete:function(){}},a=function(){return Array.isArray||function(t){return t&&"number"==typeof t.length}}();function l(t){return null!==t&&"object"==typeof t}var f=function(){function t(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t}(),p=function(){function t(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var e;if(!this.closed){var r=this,n=r._parentOrParents,i=r._ctorUnsubscribe,s=r._unsubscribe,u=r._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof t)n.remove(this);else if(null!==n)for(var c=0;c<n.length;++c)n[c].remove(this);if(o(s)){i&&(this._unsubscribe=void 0);try{s.call(this)}catch(t){e=t instanceof f?d(t.errors):[t]}}if(a(u)){c=-1;for(var h=u.length;++c<h;){var p=u[c];if(l(p))try{p.unsubscribe()}catch(t){e=e||[],t instanceof f?e=e.concat(d(t.errors)):e.push(t)}}}if(e)throw new f(e)}},t.prototype.add=function(e){var r=e;if(!e)return t.EMPTY;switch(typeof e){case"function":r=new t(e);case"object":if(r===this||r.closed||"function"!=typeof r.unsubscribe)return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof t)){var n=r;(r=new t)._subscriptions=[n]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}var i=r._parentOrParents;if(null===i)r._parentOrParents=this;else if(i instanceof t){if(i===this)return r;r._parentOrParents=[i,this]}else{if(-1!==i.indexOf(this))return r;i.push(this)}var o=this._subscriptions;return null===o?this._subscriptions=[r]:o.push(r),r},t.prototype.remove=function(t){var e=this._subscriptions;if(e){var r=e.indexOf(t);-1!==r&&e.splice(r,1)}},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();function d(t){return t.reduce(function(t,e){return t.concat(e instanceof f?e.errors:e)},[])}var b=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}(),v=function(t){function e(r,n,i){var o=t.call(this)||this;switch(o.syncErrorValue=null,o.syncErrorThrown=!1,o.syncErrorThrowable=!1,o.isStopped=!1,arguments.length){case 0:o.destination=h;break;case 1:if(!r){o.destination=h;break}if("object"==typeof r){r instanceof e?(o.syncErrorThrowable=r.syncErrorThrowable,o.destination=r,r.add(o)):(o.syncErrorThrowable=!0,o.destination=new y(o,r));break}default:o.syncErrorThrowable=!0,o.destination=new y(o,r,n,i)}return o}return i(e,t),e.prototype[b]=function(){return this},e.create=function(t,r,n){var i=new e(t,r,n);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this},e}(p),y=function(t){function e(e,r,n,i){var s,u=t.call(this)||this;u._parentSubscriber=e;var c=u;return o(r)?s=r:r&&(s=r.next,n=r.error,i=r.complete,r!==h&&(o((c=Object.create(r)).unsubscribe)&&u.add(c.unsubscribe.bind(c)),c.unsubscribe=u.unsubscribe.bind(u))),u._context=c,u._next=s,u._error=n,u._complete=i,u}return i(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;u.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber,r=u.useDeprecatedSynchronousErrorHandling;if(this._error)r&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)r?(e.syncErrorValue=t,e.syncErrorThrown=!0):c(t),this.unsubscribe();else{if(this.unsubscribe(),r)throw t;c(t)}}},e.prototype.complete=function(){var t=this;if(!this.isStopped){var e=this._parentSubscriber;if(this._complete){var r=function(){return t._complete.call(t._context)};u.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,r),this.unsubscribe()):(this.__tryOrUnsub(r),this.unsubscribe())}else this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),u.useDeprecatedSynchronousErrorHandling)throw t;c(t)}},e.prototype.__tryOrSetError=function(t,e,r){if(!u.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,r)}catch(e){return u.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(c(e),!0)}return!1},e.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},e}(v);function m(t){for(;t;){var e=t,r=e.closed,n=e.destination,i=e.isStopped;if(r||i)return!1;t=n&&n instanceof v?n:null}return!0}var w=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();function _(t){return t}function x(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return g(t)}function g(t){return 0===t.length?_:1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}}var E=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var r=new t;return r.source=this,r.operator=e,r},t.prototype.subscribe=function(t,e,r){var n=this.operator,i=function(t,e,r){if(t){if(t instanceof v)return t;if(t[b])return t[b]()}return t||e||r?new v(t,e,r):new v(h)}(t,e,r);if(n?i.add(n.call(i,this.source)):i.add(this.source||u.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),u.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){u.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),m(t)?t.error(e):console.warn(e)}},t.prototype.forEach=function(t,e){var r=this;return new(e=S(e))(function(e,n){var i;i=r.subscribe(function(e){try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})},t.prototype._subscribe=function(t){var e=this.source;return e&&e.subscribe(t)},t.prototype[w]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?this:g(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=S(t))(function(t,r){var n;e.subscribe(function(t){return n=t},function(t){return r(t)},function(){return t(n)})})},t.create=function(e){return new t(e)},t}();function S(t){if(t||(t=u.Promise||Promise),!t)throw new Error("no Promise impl found");return t}var I=function(){function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t}(),T=function(t){function e(e,r){var n=t.call(this)||this;return n.subject=e,n.subscriber=r,n.closed=!1,n}return i(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var r=e.indexOf(this.subscriber);-1!==r&&e.splice(r,1)}}},e}(p),j=function(t){function e(e){var r=t.call(this,e)||this;return r.destination=e,r}return i(e,t),e}(v),N=function(t){function e(){var e=t.call(this)||this;return e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return i(e,t),e.prototype[b]=function(){return new j(this)},e.prototype.lift=function(t){var e=new O(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new I;if(!this.isStopped)for(var e=this.observers,r=e.length,n=e.slice(),i=0;i<r;i++)n[i].next(t)},e.prototype.error=function(t){if(this.closed)throw new I;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var e=this.observers,r=e.length,n=e.slice(),i=0;i<r;i++)n[i].error(t);this.observers.length=0},e.prototype.complete=function(){if(this.closed)throw new I;this.isStopped=!0;for(var t=this.observers,e=t.length,r=t.slice(),n=0;n<e;n++)r[n].complete();this.observers.length=0},e.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},e.prototype._trySubscribe=function(e){if(this.closed)throw new I;return t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){if(this.closed)throw new I;return this.hasError?(t.error(this.thrownError),p.EMPTY):this.isStopped?(t.complete(),p.EMPTY):(this.observers.push(t),new T(this,t))},e.prototype.asObservable=function(){var t=new E;return t.source=this,t},e.create=function(t,e){return new O(t,e)},e}(E),O=function(t){function e(e,r){var n=t.call(this)||this;return n.destination=e,n.source=r,n}return i(e,t),e.prototype.next=function(t){var e=this.destination;e&&e.next&&e.next(t)},e.prototype.error=function(t){var e=this.destination;e&&e.error&&this.destination.error(t)},e.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},e.prototype._subscribe=function(t){return this.source?this.source.subscribe(t):p.EMPTY},e}(N),k=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var r=this.connectable;r._refCount++;var n=new A(t,r),i=e.subscribe(n);return n.closed||(n.connection=r.connect()),i},t}(),A=function(t){function e(e,r){var n=t.call(this,e)||this;return n.connectable=r,n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var r=this.connection,n=t._connection;this.connection=null,!n||r&&n!==r||n.unsubscribe()}}else this.connection=null},e}(v),C=function(t){function e(e,r){var n=t.call(this)||this;return n.source=e,n.subjectFactory=r,n._refCount=0,n._isComplete=!1,n}return i(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new p).add(this.source.subscribe(new P(this.getSubject(),this))),t.closed&&(this._connection=null,t=p.EMPTY)),t},e.prototype.refCount=function(){return(t=this).lift(new k(t));var t},e}(E),P=function(t){function e(e,r){var n=t.call(this,e)||this;return n.connectable=r,n}return i(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(j),V=function(t){function e(e,r,n){var i=t.call(this)||this;return i.key=e,i.groupSubject=r,i.refCountSubscription=n,i}return i(e,t),e.prototype._subscribe=function(t){var e=new p,r=this.refCountSubscription,n=this.groupSubject;return r&&!r.closed&&e.add(new F(r)),e.add(n.subscribe(t)),e},e}(E),F=function(t){function e(e){var r=t.call(this)||this;return r.parent=e,e.count++,r}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;e.closed||this.closed||(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(p),Y=function(t){function e(e){var r=t.call(this)||this;return r._value=e,r}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var r=t.prototype._subscribe.call(this,e);return r&&!r.closed&&e.next(this._value),r},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new I;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(N),M=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n.pending=!1,n}return i(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var r=this.id,n=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(n,r,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(n,this.id,e),this},e.prototype.requestAsyncId=function(t,e,r){return void 0===r&&(r=0),setInterval(t.flush.bind(t,this),r)},e.prototype.recycleAsyncId=function(t,e,r){if(void 0===r&&(r=0),null!==r&&this.delay===r&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(t,e);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var r=!1,n=void 0;try{this.work(t)}catch(t){r=!0,n=!!t&&t||new Error(t)}if(r)return this.unsubscribe(),n},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,r=e.actions,n=r.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==n&&r.splice(n,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,r){return t.call(this)||this}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(p)),R=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n}return i(e,t),e.prototype.schedule=function(e,r){return void 0===r&&(r=0),r>0?t.prototype.schedule.call(this,e,r):(this.delay=r,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,r){return r>0||this.closed?t.prototype.execute.call(this,e,r):this._execute(e,r)},e.prototype.requestAsyncId=function(e,r,n){return void 0===n&&(n=0),null!==n&&n>0||null===n&&this.delay>0?t.prototype.requestAsyncId.call(this,e,r,n):e.flush(this)},e}(M),q=function(){function t(e,r){void 0===r&&(r=t.now),this.SchedulerAction=e,this.now=r}return t.prototype.schedule=function(t,e,r){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(r,e)},t.now=function(){return Date.now()},t}(),D=function(t){function e(r,n){void 0===n&&(n=q.now);var i=t.call(this,r,function(){return e.delegate&&e.delegate!==i?e.delegate.now():n()})||this;return i.actions=[],i.active=!1,i.scheduled=void 0,i}return i(e,t),e.prototype.schedule=function(r,n,i){return void 0===n&&(n=0),e.delegate&&e.delegate!==this?e.delegate.schedule(r,n,i):t.prototype.schedule.call(this,r,n,i)},e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var r;this.active=!0;do{if(r=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,r){for(;t=e.shift();)t.unsubscribe();throw r}}},e}(q),U=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(D),H=new U(R),L=H,W=new E(function(t){return t.complete()});function z(t){return t?function(t){return new E(function(e){return t.schedule(function(){return e.complete()})})}(t):W}function B(t){return t&&"function"==typeof t.schedule}var G,J=function(t){return function(e){for(var r=0,n=t.length;r<n&&!e.closed;r++)e.next(t[r]);e.complete()}};function K(t,e){return new E(function(r){var n=new p,i=0;return n.add(e.schedule(function(){i!==t.length?(r.next(t[i++]),r.closed||n.add(this.schedule())):r.complete()})),n})}function Q(t,e){return e?K(t,e):new E(J(t))}function X(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=t[t.length-1];return B(r)?(t.pop(),K(t,r)):Q(t)}function Z(t,e){return new E(e?function(r){return e.schedule($,0,{error:t,subscriber:r})}:function(e){return e.error(t)})}function $(t){var e=t.error;t.subscriber.error(e)}G||(G={});var tt=function(){function t(t,e,r){this.kind=t,this.value=e,this.error=r,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,r){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return r&&r()}},t.prototype.accept=function(t,e,r){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,r)},t.prototype.toObservable=function(){switch(this.kind){case"N":return X(this.value);case"E":return Z(this.error);case"C":return z()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}(),et=function(t){function e(e,r,n){void 0===n&&(n=0);var i=t.call(this,e)||this;return i.scheduler=r,i.delay=n,i}return i(e,t),e.dispatch=function(t){var e=t.notification,r=t.destination;e.observe(r),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.destination.add(this.scheduler.schedule(e.dispatch,this.delay,new rt(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(tt.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(tt.createError(t)),this.unsubscribe()},e.prototype._complete=function(){this.scheduleMessage(tt.createComplete()),this.unsubscribe()},e}(v),rt=function(){return function(t,e){this.notification=t,this.destination=e}}(),nt=function(t){function e(e,r,n){void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===r&&(r=Number.POSITIVE_INFINITY);var i=t.call(this)||this;return i.scheduler=n,i._events=[],i._infiniteTimeWindow=!1,i._bufferSize=e<1?1:e,i._windowTime=r<1?1:r,r===Number.POSITIVE_INFINITY?(i._infiniteTimeWindow=!0,i.next=i.nextInfiniteTimeWindow):i.next=i.nextTimeWindow,i}return i(e,t),e.prototype.nextInfiniteTimeWindow=function(e){if(!this.isStopped){var r=this._events;r.push(e),r.length>this._bufferSize&&r.shift()}t.prototype.next.call(this,e)},e.prototype.nextTimeWindow=function(e){this.isStopped||(this._events.push(new it(this._getNow(),e)),this._trimBufferThenGetEvents()),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){var e,r=this._infiniteTimeWindow,n=r?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,o=n.length;if(this.closed)throw new I;if(this.isStopped||this.hasError?e=p.EMPTY:(this.observers.push(t),e=new T(this,t)),i&&t.add(t=new et(t,i)),r)for(var s=0;s<o&&!t.closed;s++)t.next(n[s]);else for(s=0;s<o&&!t.closed;s++)t.next(n[s].value);return this.hasError?t.error(this.thrownError):this.isStopped&&t.complete(),e},e.prototype._getNow=function(){return(this.scheduler||L).now()},e.prototype._trimBufferThenGetEvents=function(){for(var t=this._getNow(),e=this._bufferSize,r=this._windowTime,n=this._events,i=n.length,o=0;o<i&&!(t-n[o].time<r);)o++;return i>e&&(o=Math.max(o,i-e)),o>0&&n.splice(0,o),n},e}(N),it=function(){return function(t,e){this.time=t,this.value=e}}(),ot=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.value=null,e.hasNext=!1,e.hasCompleted=!1,e}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),p.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),p.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(N),st=1,ut=function(){return Promise.resolve()}(),ct={};function ht(t){return t in ct&&(delete ct[t],!0)}var at=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n}return i(e,t),e.prototype.requestAsyncId=function(e,r,n){return void 0===n&&(n=0),null!==n&&n>0?t.prototype.requestAsyncId.call(this,e,r,n):(e.actions.push(this),e.scheduled||(e.scheduled=(i=e.flush.bind(e,null),o=st++,ct[o]=!0,ut.then(function(){return ht(o)&&i()}),o)));var i,o},e.prototype.recycleAsyncId=function(e,r,n){if(void 0===n&&(n=0),null!==n&&n>0||null===n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,r,n);0===e.actions.length&&(ht(r),e.scheduled=void 0)},e}(M),lt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,r=this.actions,n=-1,i=r.length;t=t||r.shift();do{if(e=t.execute(t.state,t.delay))break}while(++n<i&&(t=r.shift()));if(this.active=!1,e){for(;++n<i&&(t=r.shift());)t.unsubscribe();throw e}},e}(D),ft=new lt(at),pt=ft,dt=new D(M),bt=dt,vt=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.scheduler=e,n.work=r,n}return i(e,t),e.prototype.requestAsyncId=function(e,r,n){return void 0===n&&(n=0),null!==n&&n>0?t.prototype.requestAsyncId.call(this,e,r,n):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(function(){return e.flush(null)})))},e.prototype.recycleAsyncId=function(e,r,n){if(void 0===n&&(n=0),null!==n&&n>0||null===n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,r,n);0===e.actions.length&&(cancelAnimationFrame(r),e.scheduled=void 0)},e}(M),yt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,r=this.actions,n=-1,i=r.length;t=t||r.shift();do{if(e=t.execute(t.state,t.delay))break}while(++n<i&&(t=r.shift()));if(this.active=!1,e){for(;++n<i&&(t=r.shift());)t.unsubscribe();throw e}},e}(D),mt=new yt(vt),wt=mt,_t=function(t){function e(e,r){void 0===e&&(e=xt),void 0===r&&(r=Number.POSITIVE_INFINITY);var n=t.call(this,e,function(){return n.frame})||this;return n.maxFrames=r,n.frame=0,n.index=-1,n}return i(e,t),e.prototype.flush=function(){for(var t,e,r=this.actions,n=this.maxFrames;(e=r[0])&&e.delay<=n&&(r.shift(),this.frame=e.delay,!(t=e.execute(e.state,e.delay))););if(t){for(;e=r.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(D),xt=function(t){function e(e,r,n){void 0===n&&(n=e.index+=1);var i=t.call(this,e,r)||this;return i.scheduler=e,i.work=r,i.index=n,i.active=!0,i.index=e.index=n,i}return i(e,t),e.prototype.schedule=function(r,n){if(void 0===n&&(n=0),!this.id)return t.prototype.schedule.call(this,r,n);this.active=!1;var i=new e(this.scheduler,this.work);return this.add(i),i.schedule(r,n)},e.prototype.requestAsyncId=function(t,r,n){void 0===n&&(n=0),this.delay=t.frame+n;var i=t.actions;return i.push(this),i.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,r){void 0===r&&(r=0)},e.prototype._execute=function(e,r){if(!0===this.active)return t.prototype._execute.call(this,e,r)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(M);function gt(){}function Et(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}var St=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}(),It=function(){function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t}(),Tt=function(){function t(){return Error.call(this),this.message="Timeout has occurred",this.name="TimeoutError",this}return t.prototype=Object.create(Error.prototype),t}();function jt(t,e){return function(r){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return r.lift(new Nt(t,e))}}var Nt=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new Ot(t,this.project,this.thisArg))},t}(),Ot=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.project=r,i.count=0,i.thisArg=n||i,i}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)},e}(v);function kt(t,e,r){if(e){if(!B(e))return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];return kt(t,r).apply(void 0,n).pipe(jt(function(t){return a(t)?e.apply(void 0,t):e(t)}))};r=e}return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var i,o=this,s={context:o,subject:i,callbackFunc:t,scheduler:r};return new E(function(n){if(r){var u={args:e,subscriber:n,params:s};return r.schedule(At,0,u)}if(!i){i=new ot;try{t.apply(o,e.concat([function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];i.next(t.length<=1?t[0]:t),i.complete()}]))}catch(t){m(i)?i.error(t):console.warn(t)}}return i.subscribe(n)})}}function At(t){var e=this,r=t.args,n=t.subscriber,i=t.params,o=i.callbackFunc,s=i.context,u=i.scheduler,c=i.subject;if(!c){c=i.subject=new ot;try{o.apply(s,r.concat([function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n=t.length<=1?t[0]:t;e.add(u.schedule(Ct,0,{value:n,subject:c}))}]))}catch(t){c.error(t)}}this.add(c.subscribe(n))}function Ct(t){var e=t.value,r=t.subject;r.next(e),r.complete()}function Pt(t,e,r){if(e){if(!B(e))return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];return Pt(t,r).apply(void 0,n).pipe(jt(function(t){return a(t)?e.apply(void 0,t):e(t)}))};r=e}return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var i={subject:void 0,args:e,callbackFunc:t,scheduler:r,context:this};return new E(function(n){var o=i.context,s=i.subject;if(r)return r.schedule(Vt,0,{params:i,subscriber:n,context:o});if(!s){s=i.subject=new ot;try{t.apply(o,e.concat([function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=t.shift();r?s.error(r):(s.next(t.length<=1?t[0]:t),s.complete())}]))}catch(t){m(s)?s.error(t):console.warn(t)}}return s.subscribe(n)})}}function Vt(t){var e=this,r=t.params,n=t.subscriber,i=t.context,o=r.callbackFunc,s=r.args,u=r.scheduler,c=r.subject;if(!c){c=r.subject=new ot;try{o.apply(i,s.concat([function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n=t.shift();if(n)e.add(u.schedule(Yt,0,{err:n,subject:c}));else{var i=t.length<=1?t[0]:t;e.add(u.schedule(Ft,0,{value:i,subject:c}))}}]))}catch(t){this.add(u.schedule(Yt,0,{err:t,subject:c}))}}this.add(c.subscribe(n))}function Ft(t){var e=t.value,r=t.subject;r.next(e),r.complete()}function Yt(t){var e=t.err;t.subject.error(e)}var Mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.notifyNext=function(t,e,r,n,i){this.destination.next(e)},e.prototype.notifyError=function(t,e){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.destination.complete()},e}(v),Rt=function(t){function e(e,r,n){var i=t.call(this)||this;return i.parent=e,i.outerValue=r,i.outerIndex=n,i.index=0,i}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(v);function qt(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}var Dt=qt(),Ut=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};function Ht(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}var Lt=function(t){if(t&&"function"==typeof t[w])return n=t,function(t){var e=n[w]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)};if(Ut(t))return J(t);if(Ht(t))return r=t,function(t){return r.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,c),t};if(t&&"function"==typeof t[Dt])return e=t,function(t){for(var r=e[Dt]();;){var n=void 0;try{n=r.next()}catch(e){return t.error(e),t}if(n.done){t.complete();break}if(t.next(n.value),t.closed)break}return"function"==typeof r.return&&t.add(function(){r.return&&r.return()}),t};var e,r,n,i=l(t)?"an invalid object":"'"+t+"'";throw new TypeError("You provided "+i+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")};function Wt(t,e,r,n,i){if(void 0===i&&(i=new Rt(t,r,n)),!i.closed)return e instanceof E?e.subscribe(i):Lt(e)(i)}var zt={};function Bt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=void 0,n=void 0;return B(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(r=t.pop()),1===t.length&&a(t[0])&&(t=t[0]),Q(t,n).lift(new Gt(r))}var Gt=function(){function t(t){this.resultSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new Jt(t,this.resultSelector))},t}(),Jt=function(t){function e(e,r){var n=t.call(this,e)||this;return n.resultSelector=r,n.active=0,n.values=[],n.observables=[],n}return i(e,t),e.prototype._next=function(t){this.values.push(zt),this.observables.push(t)},e.prototype._complete=function(){var t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(var r=0;r<e;r++){var n=t[r];this.add(Wt(this,n,void 0,r))}}},e.prototype.notifyComplete=function(t){0==(this.active-=1)&&this.destination.complete()},e.prototype.notifyNext=function(t,e,r){var n=this.values,i=n[r],o=this.toRespond?i===zt?--this.toRespond:this.toRespond:0;n[r]=e,0===o&&(this.resultSelector?this._tryResultSelector(n):this.destination.next(n.slice()))},e.prototype._tryResultSelector=function(t){var e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)},e}(Mt);function Kt(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(function(r){var n=new p;return n.add(e.schedule(function(){var i=t[w]();n.add(i.subscribe({next:function(t){n.add(e.schedule(function(){return r.next(t)}))},error:function(t){n.add(e.schedule(function(){return r.error(t)}))},complete:function(){n.add(e.schedule(function(){return r.complete()}))}}))})),n})}(t,e);if(Ht(t))return function(t,e){return new E(function(r){var n=new p;return n.add(e.schedule(function(){return t.then(function(t){n.add(e.schedule(function(){r.next(t),n.add(e.schedule(function(){return r.complete()}))}))},function(t){n.add(e.schedule(function(){return r.error(t)}))})})),n})}(t,e);if(Ut(t))return K(t,e);if(function(t){return t&&"function"==typeof t[Dt]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(function(r){var n,i=new p;return i.add(function(){n&&"function"==typeof n.return&&n.return()}),i.add(e.schedule(function(){n=t[Dt](),i.add(e.schedule(function(){if(!r.closed){var t,e;try{var i=n.next();t=i.value,e=i.done}catch(t){return void r.error(t)}e?r.complete():(r.next(t),this.schedule())}}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function Qt(t,e){return e?Kt(t,e):t instanceof E?t:new E(Lt(t))}var Xt=function(t){function e(e){var r=t.call(this)||this;return r.parent=e,r}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(t)},e.prototype._error=function(t){this.parent.notifyError(t),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},e}(v),Zt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.notifyNext=function(t){this.destination.next(t)},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(){this.destination.complete()},e}(v);function $t(t,e){if(!e.closed){if(t instanceof E)return t.subscribe(e);var r;try{r=Lt(t)(e)}catch(t){e.error(t)}return r}}function te(t,e,r){return void 0===r&&(r=Number.POSITIVE_INFINITY),"function"==typeof e?function(n){return n.pipe(te(function(r,n){return Qt(t(r,n)).pipe(jt(function(t,i){return e(r,t,n,i)}))},r))}:("number"==typeof e&&(r=e),function(e){return e.lift(new ee(t,r))})}var ee=function(){function t(t,e){void 0===e&&(e=Number.POSITIVE_INFINITY),this.project=t,this.concurrent=e}return t.prototype.call=function(t,e){return e.subscribe(new re(t,this.project,this.concurrent))},t}(),re=function(t){function e(e,r,n){void 0===n&&(n=Number.POSITIVE_INFINITY);var i=t.call(this,e)||this;return i.project=r,i.concurrent=n,i.hasCompleted=!1,i.buffer=[],i.active=0,i.index=0,i}return i(e,t),e.prototype._next=function(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)},e.prototype._tryNext=function(t){var e,r=this.index++;try{e=this.project(t,r)}catch(t){return void this.destination.error(t)}this.active++,this._innerSub(e)},e.prototype._innerSub=function(t){var e=new Xt(this),r=this.destination;r.add(e);var n=$t(t,e);n!==e&&r.add(n)},e.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()},e.prototype.notifyNext=function(t){this.destination.next(t)},e.prototype.notifyComplete=function(){var t=this.buffer;this.active--,t.length>0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(Zt);function ne(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),te(_,t)}function ie(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return ne(1)(X.apply(void 0,t))}function oe(t){return new E(function(e){var r;try{r=t()}catch(t){return void e.error(t)}return(r?Qt(r):z()).subscribe(e)})}function se(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(1===t.length){var r=t[0];if(a(r))return ue(r,null);if(l(r)&&Object.getPrototypeOf(r)===Object.prototype){var n=Object.keys(r);return ue(n.map(function(t){return r[t]}),n)}}if("function"==typeof t[t.length-1]){var i=t.pop();return ue(t=1===t.length&&a(t[0])?t[0]:t,null).pipe(jt(function(t){return i.apply(void 0,t)}))}return ue(t,null)}function ue(t,e){return new E(function(r){var n=t.length;if(0!==n)for(var i=new Array(n),o=0,s=0,u=function(u){var c=Qt(t[u]),h=!1;r.add(c.subscribe({next:function(t){h||(h=!0,s++),i[u]=t},error:function(t){return r.error(t)},complete:function(){++o!==n&&h||(s===n&&r.next(e?e.reduce(function(t,e,r){return t[e]=i[r],t},{}):i),r.complete())}}))},c=0;c<n;c++)u(c);else r.complete()})}function ce(t,e,r,n){return o(r)&&(n=r,r=void 0),n?ce(t,e,r).pipe(jt(function(t){return a(t)?n.apply(void 0,t):n(t)})):new E(function(n){he(t,e,function(t){arguments.length>1?n.next(Array.prototype.slice.call(arguments)):n.next(t)},n,r)})}function he(t,e,r,n,i){var o;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){var s=t;t.addEventListener(e,r,i),o=function(){return s.removeEventListener(e,r,i)}}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){var u=t;t.on(e,r),o=function(){return u.off(e,r)}}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){var c=t;t.addListener(e,r),o=function(){return c.removeListener(e,r)}}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(var h=0,a=t.length;h<a;h++)he(t[h],e,r,n,i)}n.add(o)}function ae(t,e,r){return r?ae(t,e).pipe(jt(function(t){return a(t)?r.apply(void 0,t):r(t)})):new E(function(r){var n,i=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.next(1===t.length?t[0]:t)};try{n=t(i)}catch(t){return void r.error(t)}if(o(e))return function(){return e(i,n)}})}function le(t,e,r,n,i){var o,s;if(1==arguments.length){var u=t;s=u.initialState,e=u.condition,r=u.iterate,o=u.resultSelector||_,i=u.scheduler}else void 0===n||B(n)?(s=t,o=_,i=n):(s=t,o=n);return new E(function(t){var n=s;if(i)return i.schedule(fe,0,{subscriber:t,iterate:r,condition:e,resultSelector:o,state:n});for(;;){if(e){var u=void 0;try{u=e(n)}catch(e){return void t.error(e)}if(!u){t.complete();break}}var c=void 0;try{c=o(n)}catch(e){return void t.error(e)}if(t.next(c),t.closed)break;try{n=r(n)}catch(e){return void t.error(e)}}})}function fe(t){var e=t.subscriber,r=t.condition;if(!e.closed){if(t.needIterate)try{t.state=t.iterate(t.state)}catch(t){return void e.error(t)}else t.needIterate=!0;if(r){var n=void 0;try{n=r(t.state)}catch(t){return void e.error(t)}if(!n)return void e.complete();if(e.closed)return}var i;try{i=t.resultSelector(t.state)}catch(t){return void e.error(t)}if(!e.closed&&(e.next(i),!e.closed))return this.schedule(t)}}function pe(t,e,r){return void 0===e&&(e=W),void 0===r&&(r=W),oe(function(){return t()?e:r})}function de(t){return!a(t)&&t-parseFloat(t)+1>=0}function be(t,e){return void 0===t&&(t=0),void 0===e&&(e=bt),(!de(t)||t<0)&&(t=0),e&&"function"==typeof e.schedule||(e=bt),new E(function(r){return r.add(e.schedule(ve,t,{subscriber:r,counter:0,period:t})),r})}function ve(t){var e=t.subscriber,r=t.counter,n=t.period;e.next(r),this.schedule({subscriber:e,counter:r+1,period:n},n)}function ye(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return B(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(r=t.pop())):"number"==typeof i&&(r=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:ne(r)(Q(t,n))}var me=new E(gt);function we(){return me}function _e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(0===t.length)return W;var r=t[0],n=t.slice(1);return 1===t.length&&a(r)?_e.apply(void 0,r):new E(function(t){var e=function(){return t.add(_e.apply(void 0,n).subscribe(t))};return Qt(r).subscribe({next:function(e){t.next(e)},error:e,complete:e})})}function xe(t,e){return new E(e?function(r){var n=Object.keys(t),i=new p;return i.add(e.schedule(ge,0,{keys:n,index:0,subscriber:r,subscription:i,obj:t})),i}:function(e){for(var r=Object.keys(t),n=0;n<r.length&&!e.closed;n++){var i=r[n];t.hasOwnProperty(i)&&e.next([i,t[i]])}e.complete()})}function ge(t){var e=t.keys,r=t.index,n=t.subscriber,i=t.subscription,o=t.obj;if(!n.closed)if(r<e.length){var s=e[r];n.next([s,o[s]]),i.add(this.schedule({keys:e,index:r+1,subscriber:n,subscription:i,obj:o}))}else n.complete()}function Ee(t,e){function r(){return!r.pred.apply(r.thisArg,arguments)}return r.pred=t,r.thisArg=e,r}function Se(t,e){return function(r){return r.lift(new Ie(t,e))}}var Ie=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new Te(t,this.predicate,this.thisArg))},t}(),Te=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.predicate=r,i.thisArg=n,i.count=0,i}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}e&&this.destination.next(t)},e}(v);function je(t,e,r){return[Se(e,r)(new E(Lt(t))),Se(Ee(e,r))(new E(Lt(t)))]}function Ne(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(1===t.length){if(!a(t[0]))return t[0];t=t[0]}return Q(t,void 0).lift(new Oe)}var Oe=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new ke(t))},t}(),ke=function(t){function e(e){var r=t.call(this,e)||this;return r.hasFirst=!1,r.observables=[],r.subscriptions=[],r}return i(e,t),e.prototype._next=function(t){this.observables.push(t)},e.prototype._complete=function(){var t=this.observables,e=t.length;if(0===e)this.destination.complete();else{for(var r=0;r<e&&!this.hasFirst;r++){var n=Wt(this,t[r],void 0,r);this.subscriptions&&this.subscriptions.push(n),this.add(n)}this.observables=null}},e.prototype.notifyNext=function(t,e,r){if(!this.hasFirst){this.hasFirst=!0;for(var n=0;n<this.subscriptions.length;n++)if(n!==r){var i=this.subscriptions[n];i.unsubscribe(),this.remove(i)}this.subscriptions=null}this.destination.next(e)},e}(Mt);function Ae(t,e,r){return void 0===t&&(t=0),new E(function(n){void 0===e&&(e=t,t=0);var i=0,o=t;if(r)return r.schedule(Ce,0,{index:i,count:e,start:t,subscriber:n});for(;;){if(i++>=e){n.complete();break}if(n.next(o++),n.closed)break}})}function Ce(t){var e=t.start,r=t.index,n=t.count,i=t.subscriber;r>=n?i.complete():(i.next(e),i.closed||(t.index=r+1,t.start=e+1,this.schedule(t)))}function Pe(t,e,r){void 0===t&&(t=0);var n=-1;return de(e)?n=Number(e)<1?1:Number(e):B(e)&&(r=e),B(r)||(r=bt),new E(function(e){var i=de(t)?t:+t-r.now();return r.schedule(Ve,i,{index:0,period:n,subscriber:e})})}function Ve(t){var e=t.index,r=t.period,n=t.subscriber;if(n.next(e),!n.closed){if(-1===r)return n.complete();t.index=e+1,this.schedule(t,r)}}function Fe(t,e){return new E(function(r){var n,i;try{n=t()}catch(t){return void r.error(t)}try{i=e(n)}catch(t){return void r.error(t)}var o=(i?Qt(i):W).subscribe(r);return function(){o.unsubscribe(),n&&n.unsubscribe()}})}function Ye(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=t[t.length-1];return"function"==typeof r&&t.pop(),Q(t,void 0).lift(new Me(r))}var Me=function(){function t(t){this.resultSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new Re(t,this.resultSelector))},t}(),Re=function(t){function e(e,r,n){void 0===n&&(n=Object.create(null));var i=t.call(this,e)||this;return i.resultSelector=r,i.iterators=[],i.active=0,i.resultSelector="function"==typeof r?r:void 0,i}return i(e,t),e.prototype._next=function(t){var e=this.iterators;a(t)?e.push(new De(t)):"function"==typeof t[Dt]?e.push(new qe(t[Dt]())):e.push(new Ue(this.destination,this,t))},e.prototype._complete=function(){var t=this.iterators,e=t.length;if(this.unsubscribe(),0!==e){this.active=e;for(var r=0;r<e;r++){var n=t[r];n.stillUnsubscribed?this.destination.add(n.subscribe()):this.active--}}else this.destination.complete()},e.prototype.notifyInactive=function(){this.active--,0===this.active&&this.destination.complete()},e.prototype.checkIterators=function(){for(var t=this.iterators,e=t.length,r=this.destination,n=0;n<e;n++)if("function"==typeof(s=t[n]).hasValue&&!s.hasValue())return;var i=!1,o=[];for(n=0;n<e;n++){var s,u=(s=t[n]).next();if(s.hasCompleted()&&(i=!0),u.done)return void r.complete();o.push(u.value)}this.resultSelector?this._tryresultSelector(o):r.next(o),i&&r.complete()},e.prototype._tryresultSelector=function(t){var e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)},e}(v),qe=function(){function t(t){this.iterator=t,this.nextResult=t.next()}return t.prototype.hasValue=function(){return!0},t.prototype.next=function(){var t=this.nextResult;return this.nextResult=this.iterator.next(),t},t.prototype.hasCompleted=function(){var t=this.nextResult;return Boolean(t&&t.done)},t}(),De=function(){function t(t){this.array=t,this.index=0,this.length=0,this.length=t.length}return t.prototype[Dt]=function(){return this},t.prototype.next=function(t){var e=this.index++,r=this.array;return e<this.length?{value:r[e],done:!1}:{value:null,done:!0}},t.prototype.hasValue=function(){return this.array.length>this.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),Ue=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.parent=r,i.observable=n,i.stillUnsubscribed=!0,i.buffer=[],i.isComplete=!1,i}return i(e,t),e.prototype[Dt]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t){this.buffer.push(t),this.parent.checkIterators()},e.prototype.subscribe=function(){return $t(this.observable,new Xt(this))},e}(Zt)}}]);
|
package/dist/184.js.LICENSE.txt
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/*! *****************************************************************************
|
|
2
|
-
Copyright (c) Microsoft Corporation.
|
|
3
|
-
|
|
4
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
-
purpose with or without fee is hereby granted.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */
|