bdsa-react-components 0.1.21 → 0.1.25
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/CHANGELOG.md +31 -0
- package/CURSOR_INTEGRATION.md +25 -3
- package/INTEGRATION.md +0 -0
- package/README.md +0 -0
- package/dist/auth/DsaAuthProvider.d.ts +92 -0
- package/dist/auth/DsaAuthProvider.d.ts.map +1 -0
- package/dist/auth/DsaAuthStore.d.ts +5 -0
- package/dist/auth/DsaAuthStore.d.ts.map +1 -1
- package/dist/auth/index.d.ts +3 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/types.d.ts +43 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/bdsa-schema.json +896 -0
- package/dist/components/DsaAuthManager/DsaAuthManager.d.ts +49 -4
- package/dist/components/DsaAuthManager/DsaAuthManager.d.ts.map +1 -1
- package/dist/components/DsaErrorBoundary/DsaErrorBoundary.d.ts +73 -0
- package/dist/components/DsaErrorBoundary/DsaErrorBoundary.d.ts.map +1 -0
- package/dist/components/DsaErrorBoundary/index.d.ts +3 -0
- package/dist/components/DsaErrorBoundary/index.d.ts.map +1 -0
- package/dist/components/FolderBrowser/FolderBrowser.d.ts.map +1 -1
- package/dist/components/FolderBrowser/FolderBrowser.types.d.ts +139 -2
- package/dist/components/FolderBrowser/FolderBrowser.types.d.ts.map +1 -1
- package/dist/components/FolderBrowser/useFolderBrowserDataFetching.d.ts +2 -0
- package/dist/components/FolderBrowser/useFolderBrowserDataFetching.d.ts.map +1 -1
- package/dist/components/FolderThumbnailBrowser/FolderThumbnailBrowser.d.ts +30 -0
- package/dist/components/FolderThumbnailBrowser/FolderThumbnailBrowser.d.ts.map +1 -1
- package/dist/components/ProtocolManager/ProtocolCard.d.ts +8 -0
- package/dist/components/ProtocolManager/ProtocolCard.d.ts.map +1 -0
- package/dist/components/ProtocolManager/ProtocolContext.d.ts +46 -0
- package/dist/components/ProtocolManager/ProtocolContext.d.ts.map +1 -0
- package/dist/components/ProtocolManager/ProtocolList.d.ts +8 -0
- package/dist/components/ProtocolManager/ProtocolList.d.ts.map +1 -0
- package/dist/components/ProtocolManager/ProtocolManager.d.ts +38 -0
- package/dist/components/ProtocolManager/ProtocolManager.d.ts.map +1 -0
- package/dist/components/ProtocolManager/ProtocolManager.types.d.ts +139 -0
- package/dist/components/ProtocolManager/ProtocolManager.types.d.ts.map +1 -0
- package/dist/components/ProtocolManager/ProtocolModal.d.ts +10 -0
- package/dist/components/ProtocolManager/ProtocolModal.d.ts.map +1 -0
- package/dist/components/ProtocolManager/ProtocolsTab.d.ts +10 -0
- package/dist/components/ProtocolManager/ProtocolsTab.d.ts.map +1 -0
- package/dist/components/ProtocolManager/adapters/DsaSyncAdapter.d.ts +76 -0
- package/dist/components/ProtocolManager/adapters/DsaSyncAdapter.d.ts.map +1 -0
- package/dist/components/ProtocolManager/storage/protocolStorage.d.ts +39 -0
- package/dist/components/ProtocolManager/storage/protocolStorage.d.ts.map +1 -0
- package/dist/components/ProtocolManager/testData.d.ts +23 -0
- package/dist/components/ProtocolManager/testData.d.ts.map +1 -0
- package/dist/components/ProtocolManager/utils/schemaValidator.d.ts +99 -0
- package/dist/components/ProtocolManager/utils/schemaValidator.d.ts.map +1 -0
- package/dist/components/SlideViewer/SlideViewer.d.ts +1 -1
- package/dist/components/SlideViewer/SlideViewer.d.ts.map +1 -1
- package/dist/components/SlideViewer/SlideViewer.types.d.ts +254 -21
- package/dist/components/SlideViewer/SlideViewer.types.d.ts.map +1 -1
- package/dist/components/SlideViewer/hooks/index.d.ts +2 -0
- package/dist/components/SlideViewer/hooks/index.d.ts.map +1 -1
- package/dist/components/SlideViewer/hooks/useAnnotationFetching.d.ts +2 -1
- package/dist/components/SlideViewer/hooks/useAnnotationFetching.d.ts.map +1 -1
- package/dist/components/SlideViewer/hooks/useOverlayTileSources.d.ts +9 -0
- package/dist/components/SlideViewer/hooks/useOverlayTileSources.d.ts.map +1 -0
- package/dist/components/SlideViewer/hooks/useViewportChange.d.ts +14 -0
- package/dist/components/SlideViewer/hooks/useViewportChange.d.ts.map +1 -0
- package/dist/components/ThumbnailGrid/ThumbnailGrid.d.ts +30 -0
- package/dist/components/ThumbnailGrid/ThumbnailGrid.d.ts.map +1 -1
- package/dist/index.cjs +55 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19916 -17906
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/utils/apiErrorHandling.d.ts +44 -0
- package/dist/utils/apiErrorHandling.d.ts.map +1 -0
- package/dist/utils/patchOsdPaperjs.d.ts.map +1 -1
- package/package.json +3 -3
- package/patches/osd-paperjs-annotation+0.4.14.patch +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Manager Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for protocol management components
|
|
5
|
+
*/
|
|
6
|
+
export type ProtocolType = 'stain' | 'region';
|
|
7
|
+
export interface Protocol {
|
|
8
|
+
id: string;
|
|
9
|
+
type: ProtocolType;
|
|
10
|
+
name: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
_isDefault?: boolean;
|
|
13
|
+
_localModified?: boolean;
|
|
14
|
+
_remoteVersion?: string;
|
|
15
|
+
stainType?: string;
|
|
16
|
+
antibody?: string;
|
|
17
|
+
technique?: string;
|
|
18
|
+
phosphoSpecific?: string;
|
|
19
|
+
dilution?: string;
|
|
20
|
+
vendor?: string;
|
|
21
|
+
chromogen?: string;
|
|
22
|
+
regionType?: string;
|
|
23
|
+
landmarks?: string[];
|
|
24
|
+
hemisphere?: string;
|
|
25
|
+
sliceOrientation?: string;
|
|
26
|
+
sliceThickness?: number;
|
|
27
|
+
damage?: string[];
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
export interface ProtocolStorage {
|
|
31
|
+
load(): Promise<Protocol[]>;
|
|
32
|
+
save(protocols: Protocol[]): Promise<void>;
|
|
33
|
+
clear(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
export interface DsaSyncAdapter {
|
|
36
|
+
checkAvailability(): Promise<{
|
|
37
|
+
isAvailable: boolean;
|
|
38
|
+
reason?: string;
|
|
39
|
+
}>;
|
|
40
|
+
pullProtocols(): Promise<{
|
|
41
|
+
success: boolean;
|
|
42
|
+
pulled?: {
|
|
43
|
+
stainProtocols: number;
|
|
44
|
+
regionProtocols: number;
|
|
45
|
+
};
|
|
46
|
+
error?: string;
|
|
47
|
+
}>;
|
|
48
|
+
pushProtocols(stainProtocols: Protocol[], regionProtocols: Protocol[]): Promise<{
|
|
49
|
+
success: boolean;
|
|
50
|
+
pushed?: {
|
|
51
|
+
stainProtocols: number;
|
|
52
|
+
regionProtocols: number;
|
|
53
|
+
};
|
|
54
|
+
error?: string;
|
|
55
|
+
}>;
|
|
56
|
+
getSyncStatus(): Promise<{
|
|
57
|
+
lastSync: string | null;
|
|
58
|
+
hasLocalChanges: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
61
|
+
export interface SchemaValidator {
|
|
62
|
+
loaded?: boolean;
|
|
63
|
+
loadSchemas(schemaUrl?: string, schemaData?: unknown): Promise<boolean>;
|
|
64
|
+
getStainTypeOptions(): Array<{
|
|
65
|
+
value: string;
|
|
66
|
+
label: string;
|
|
67
|
+
}>;
|
|
68
|
+
getAntibodyOptions(stainType: string): string[];
|
|
69
|
+
getTechniqueOptions(stainType: string): string[];
|
|
70
|
+
getPhosphoSpecificOptions(stainType: string): string[];
|
|
71
|
+
getDilutionPattern?(stainType: string): string | null;
|
|
72
|
+
getVendorPattern?(stainType: string): string | null;
|
|
73
|
+
getRegionTypeOptions(): Array<{
|
|
74
|
+
value: string;
|
|
75
|
+
label: string;
|
|
76
|
+
}>;
|
|
77
|
+
getLandmarkOptions(regionType: string): string[];
|
|
78
|
+
getHemisphereOptions(): string[];
|
|
79
|
+
getSliceOrientationOptions(): string[];
|
|
80
|
+
validateStainProtocol(data: Partial<Protocol>): Record<string, string>;
|
|
81
|
+
validateRegionProtocol(data: Partial<Protocol>): Record<string, string>;
|
|
82
|
+
}
|
|
83
|
+
export interface ProtocolContextValue {
|
|
84
|
+
protocols: Protocol[];
|
|
85
|
+
loading: boolean;
|
|
86
|
+
error: string | null;
|
|
87
|
+
addProtocol: (protocol: Protocol) => void;
|
|
88
|
+
updateProtocol: (protocol: Protocol) => void;
|
|
89
|
+
deleteProtocol: (id: string) => void;
|
|
90
|
+
clearAllProtocols: () => Promise<void>;
|
|
91
|
+
getProtocolsByType: (type: ProtocolType) => Protocol[];
|
|
92
|
+
getProtocolById: (id: string) => Protocol | undefined;
|
|
93
|
+
stainProtocols: Protocol[];
|
|
94
|
+
regionProtocols: Protocol[];
|
|
95
|
+
}
|
|
96
|
+
export interface ProtocolProviderProps {
|
|
97
|
+
children: React.ReactNode;
|
|
98
|
+
storage?: ProtocolStorage;
|
|
99
|
+
}
|
|
100
|
+
export interface ProtocolCardProps {
|
|
101
|
+
protocol: Protocol;
|
|
102
|
+
onEdit?: (protocol: Protocol) => void;
|
|
103
|
+
onDelete?: (protocol: Protocol) => void;
|
|
104
|
+
readOnly?: boolean;
|
|
105
|
+
showSync?: boolean;
|
|
106
|
+
}
|
|
107
|
+
export interface ProtocolListProps {
|
|
108
|
+
protocols?: Protocol[];
|
|
109
|
+
type?: ProtocolType;
|
|
110
|
+
onAdd?: () => void;
|
|
111
|
+
onEdit?: (protocol: Protocol) => void;
|
|
112
|
+
onDelete?: (protocol: Protocol) => void;
|
|
113
|
+
readOnly?: boolean;
|
|
114
|
+
showSync?: boolean;
|
|
115
|
+
title?: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface ProtocolModalProps {
|
|
119
|
+
protocol: Protocol | null;
|
|
120
|
+
type: ProtocolType;
|
|
121
|
+
onSave: (formData: Partial<Protocol>) => Promise<void>;
|
|
122
|
+
onClose: () => void;
|
|
123
|
+
schemaValidator: SchemaValidator;
|
|
124
|
+
}
|
|
125
|
+
export interface ProtocolsTabProps {
|
|
126
|
+
dsaSyncAdapter?: DsaSyncAdapter | null;
|
|
127
|
+
schemaValidator: SchemaValidator;
|
|
128
|
+
title?: string;
|
|
129
|
+
description?: string;
|
|
130
|
+
showDsaSync?: boolean | null;
|
|
131
|
+
onProtocolChange?: (data: {
|
|
132
|
+
stainProtocols: Protocol[];
|
|
133
|
+
regionProtocols: Protocol[];
|
|
134
|
+
total: number;
|
|
135
|
+
}) => void;
|
|
136
|
+
customProtocolList?: React.ComponentType<ProtocolListProps>;
|
|
137
|
+
customProtocolModal?: React.ComponentType<ProtocolModalProps>;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=ProtocolManager.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolManager.types.d.ts","sourceRoot":"","sources":["../../../src/components/ProtocolManager/ProtocolManager.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ProtocolModalProps } from './ProtocolManager.types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ProtocolModal Component
|
|
5
|
+
*
|
|
6
|
+
* A modal for creating and editing protocol data with schema-driven validation.
|
|
7
|
+
*/
|
|
8
|
+
export declare function ProtocolModal({ protocol, type, onSave, onClose, schemaValidator, }: ProtocolModalProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default ProtocolModal;
|
|
10
|
+
//# sourceMappingURL=ProtocolModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolModal.d.ts","sourceRoot":"","sources":["../../../src/components/ProtocolManager/ProtocolModal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAY,MAAM,yBAAyB,CAAC;AAC5E,OAAO,qBAAqB,CAAC;AAmB7B;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC1B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,OAAO,EACP,eAAe,GAClB,EAAE,kBAAkB,2CAqgBpB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ProtocolsTabProps } from './ProtocolManager.types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ProtocolsTab - Main component for managing stain and region protocols
|
|
5
|
+
*/
|
|
6
|
+
export declare function ProtocolsTab({ dsaSyncAdapter, schemaValidator, // Required - must be provided to load options from BDSA schema
|
|
7
|
+
title, description, showDsaSync, // null = auto-detect from adapter
|
|
8
|
+
onProtocolChange, customProtocolList, customProtocolModal, }: ProtocolsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default ProtocolsTab;
|
|
10
|
+
//# sourceMappingURL=ProtocolsTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtocolsTab.d.ts","sourceRoot":"","sources":["../../../src/components/ProtocolManager/ProtocolsTab.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAA4B,MAAM,yBAAyB,CAAC;AAC3F,OAAO,oBAAoB,CAAC;AAE5B;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,cAAqB,EACrB,eAAe,EAAE,+DAA+D;AAChF,KAAmB,EACnB,WAA4E,EAC5E,WAAkB,EAAE,kCAAkC;AACtD,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACtB,EAAE,iBAAiB,2CAgVnB;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Protocol, DsaSyncAdapter as IDsaSyncAdapter } from '../ProtocolManager.types';
|
|
2
|
+
|
|
3
|
+
export declare class DsaSyncAdapter implements IDsaSyncAdapter {
|
|
4
|
+
/**
|
|
5
|
+
* Check if DSA sync is available (authenticated and configured)
|
|
6
|
+
* @returns {Promise<{isAvailable: boolean, reason?: string}>}
|
|
7
|
+
*/
|
|
8
|
+
checkAvailability(): Promise<{
|
|
9
|
+
isAvailable: boolean;
|
|
10
|
+
reason?: string;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* Pull protocols from DSA server
|
|
14
|
+
* @returns {Promise<{success: boolean, pulled?: {stainProtocols: number, regionProtocols: number}, error?: string}>}
|
|
15
|
+
*/
|
|
16
|
+
pullProtocols(): Promise<{
|
|
17
|
+
success: boolean;
|
|
18
|
+
pulled?: {
|
|
19
|
+
stainProtocols: number;
|
|
20
|
+
regionProtocols: number;
|
|
21
|
+
};
|
|
22
|
+
error?: string;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Push protocols to DSA server
|
|
26
|
+
* @param {Protocol[]} _stainProtocols - Array of stain protocol objects
|
|
27
|
+
* @param {Protocol[]} _regionProtocols - Array of region protocol objects
|
|
28
|
+
* @returns {Promise<{success: boolean, pushed?: {stainProtocols: number, regionProtocols: number}, error?: string}>}
|
|
29
|
+
*/
|
|
30
|
+
pushProtocols(_stainProtocols: Protocol[], _regionProtocols: Protocol[]): Promise<{
|
|
31
|
+
success: boolean;
|
|
32
|
+
pushed?: {
|
|
33
|
+
stainProtocols: number;
|
|
34
|
+
regionProtocols: number;
|
|
35
|
+
};
|
|
36
|
+
error?: string;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Get sync status information
|
|
40
|
+
* @returns {Promise<{lastSync: string|null, hasLocalChanges: boolean}>}
|
|
41
|
+
*/
|
|
42
|
+
getSyncStatus(): Promise<{
|
|
43
|
+
lastSync: string | null;
|
|
44
|
+
hasLocalChanges: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* No-op adapter for applications that don't need DSA sync
|
|
49
|
+
*/
|
|
50
|
+
export declare class NoOpDsaSyncAdapter extends DsaSyncAdapter {
|
|
51
|
+
checkAvailability(): Promise<{
|
|
52
|
+
isAvailable: boolean;
|
|
53
|
+
reason?: string;
|
|
54
|
+
}>;
|
|
55
|
+
pullProtocols(): Promise<{
|
|
56
|
+
success: boolean;
|
|
57
|
+
pulled?: {
|
|
58
|
+
stainProtocols: number;
|
|
59
|
+
regionProtocols: number;
|
|
60
|
+
};
|
|
61
|
+
error?: string;
|
|
62
|
+
}>;
|
|
63
|
+
pushProtocols(): Promise<{
|
|
64
|
+
success: boolean;
|
|
65
|
+
pushed?: {
|
|
66
|
+
stainProtocols: number;
|
|
67
|
+
regionProtocols: number;
|
|
68
|
+
};
|
|
69
|
+
error?: string;
|
|
70
|
+
}>;
|
|
71
|
+
getSyncStatus(): Promise<{
|
|
72
|
+
lastSync: string | null;
|
|
73
|
+
hasLocalChanges: boolean;
|
|
74
|
+
}>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=DsaSyncAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DsaSyncAdapter.d.ts","sourceRoot":"","sources":["../../../../src/components/ProtocolManager/adapters/DsaSyncAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE5F,qBAAa,cAAe,YAAW,eAAe;IAClD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7E;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAIF;;;;;OAKG;IACG,aAAa,CACf,eAAe,EAAE,QAAQ,EAAE,EAC3B,gBAAgB,EAAE,QAAQ,EAAE,GAC7B,OAAO,CAAC;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAIF;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KAC5B,CAAC;CAGL;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAC5C,iBAAiB,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE,aAAa,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAII,aAAa,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAII,aAAa,IAAI,OAAO,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KAC5B,CAAC;CAGL"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Protocol, ProtocolStorage } from '../ProtocolManager.types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generate a unique ID for a protocol
|
|
5
|
+
*/
|
|
6
|
+
export declare const generateProtocolId: () => string;
|
|
7
|
+
/**
|
|
8
|
+
* LocalStorage implementation of protocol storage
|
|
9
|
+
*/
|
|
10
|
+
export declare class LocalStorageProtocolStorage implements ProtocolStorage {
|
|
11
|
+
/**
|
|
12
|
+
* Load all protocols from storage
|
|
13
|
+
* @returns {Promise<Protocol[]>} Array of protocol objects
|
|
14
|
+
*/
|
|
15
|
+
load(): Promise<Protocol[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Save all protocols to storage
|
|
18
|
+
* @param {Protocol[]} protocols - Array of protocol objects
|
|
19
|
+
*/
|
|
20
|
+
save(protocols: Protocol[]): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Clear all protocols from storage
|
|
23
|
+
*/
|
|
24
|
+
clear(): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* In-memory implementation (useful for testing)
|
|
28
|
+
*/
|
|
29
|
+
export declare class InMemoryProtocolStorage implements ProtocolStorage {
|
|
30
|
+
private protocols;
|
|
31
|
+
load(): Promise<Protocol[]>;
|
|
32
|
+
save(protocols: Protocol[]): Promise<void>;
|
|
33
|
+
clear(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Default storage instance
|
|
37
|
+
*/
|
|
38
|
+
export declare const defaultStorage: LocalStorageProtocolStorage;
|
|
39
|
+
//# sourceMappingURL=protocolStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolStorage.d.ts","sourceRoot":"","sources":["../../../../src/components/ProtocolManager/storage/protocolStorage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI1E;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAIrC,CAAC;AAEF;;GAEG;AACH,qBAAa,2BAA4B,YAAW,eAAe;IAC/D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUjC;;;OAGG;IACG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/B;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,eAAe;IAC3D,OAAO,CAAC,SAAS,CAAkB;IAE7B,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,6BAAoC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Protocol } from './ProtocolManager.types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Sample stain protocols
|
|
5
|
+
*/
|
|
6
|
+
export declare const sampleStainProtocols: Protocol[];
|
|
7
|
+
/**
|
|
8
|
+
* Sample region protocols
|
|
9
|
+
*/
|
|
10
|
+
export declare const sampleRegionProtocols: Protocol[];
|
|
11
|
+
/**
|
|
12
|
+
* All sample protocols (stain + region)
|
|
13
|
+
*/
|
|
14
|
+
export declare const sampleProtocols: Protocol[];
|
|
15
|
+
/**
|
|
16
|
+
* Minimal test protocols for quick testing
|
|
17
|
+
*/
|
|
18
|
+
export declare const minimalTestProtocols: Protocol[];
|
|
19
|
+
/**
|
|
20
|
+
* Helper function to create a protocol with auto-generated ID
|
|
21
|
+
*/
|
|
22
|
+
export declare function createTestProtocol(overrides: Partial<Protocol>): Protocol;
|
|
23
|
+
//# sourceMappingURL=testData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testData.d.ts","sourceRoot":"","sources":["../../../src/components/ProtocolManager/testData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,EAuG1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,EAmE3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,EAGrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,EAoB1C,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAWzE"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Protocol, SchemaValidator as ISchemaValidator } from '../ProtocolManager.types';
|
|
2
|
+
|
|
3
|
+
interface BDSASchema {
|
|
4
|
+
properties?: {
|
|
5
|
+
stainIDs?: {
|
|
6
|
+
items?: {
|
|
7
|
+
properties?: Record<string, StainTypeDefinition>;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
regionIDs?: {
|
|
11
|
+
properties?: RegionSchemaDefinition;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
interface StainTypeDefinition {
|
|
16
|
+
title?: string;
|
|
17
|
+
properties?: {
|
|
18
|
+
antibody?: {
|
|
19
|
+
enum?: string[];
|
|
20
|
+
};
|
|
21
|
+
technique?: {
|
|
22
|
+
enum?: string[];
|
|
23
|
+
};
|
|
24
|
+
'phospho-specific'?: {
|
|
25
|
+
enum?: string[];
|
|
26
|
+
};
|
|
27
|
+
dilution?: {
|
|
28
|
+
pattern?: string;
|
|
29
|
+
};
|
|
30
|
+
vendor?: {
|
|
31
|
+
pattern?: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
required?: string[];
|
|
35
|
+
}
|
|
36
|
+
interface RegionSchemaDefinition {
|
|
37
|
+
regions?: {
|
|
38
|
+
properties?: Record<string, RegionTypeDefinition>;
|
|
39
|
+
};
|
|
40
|
+
hemisphere?: {
|
|
41
|
+
enum?: string[];
|
|
42
|
+
};
|
|
43
|
+
sliceOrientation?: {
|
|
44
|
+
enum?: string[];
|
|
45
|
+
};
|
|
46
|
+
damage?: {
|
|
47
|
+
items?: {
|
|
48
|
+
enum?: string[];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
interface RegionTypeDefinition {
|
|
53
|
+
title?: string;
|
|
54
|
+
items?: {
|
|
55
|
+
enum?: string[];
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export declare class SchemaValidator implements ISchemaValidator {
|
|
59
|
+
private schema;
|
|
60
|
+
private stainSchema;
|
|
61
|
+
private regionSchema;
|
|
62
|
+
loaded: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Load schemas from a URL or use provided schema object
|
|
65
|
+
* @param schemaUrl - URL to fetch schema from (e.g., '/bdsa-schema.json')
|
|
66
|
+
* @param schemaData - Optional schema data object (if already loaded)
|
|
67
|
+
*/
|
|
68
|
+
loadSchemas(schemaUrl?: string, schemaData?: BDSASchema): Promise<boolean>;
|
|
69
|
+
getStainTypeOptions(): Array<{
|
|
70
|
+
value: string;
|
|
71
|
+
label: string;
|
|
72
|
+
}>;
|
|
73
|
+
getStainTypeDefinition(stainType: string): StainTypeDefinition | null;
|
|
74
|
+
getStainTypeProperties(stainType: string): Record<string, unknown>;
|
|
75
|
+
getStainTypeRequiredFields(stainType: string): string[];
|
|
76
|
+
getAntibodyOptions(stainType: string): string[];
|
|
77
|
+
getTechniqueOptions(stainType: string): string[];
|
|
78
|
+
getPhosphoSpecificOptions(stainType: string): string[];
|
|
79
|
+
getDilutionPattern(stainType: string): string | null;
|
|
80
|
+
getVendorPattern(stainType: string): string | null;
|
|
81
|
+
getRegionTypeOptions(): Array<{
|
|
82
|
+
value: string;
|
|
83
|
+
label: string;
|
|
84
|
+
}>;
|
|
85
|
+
getRegionTypeDefinition(regionType: string): RegionTypeDefinition | null;
|
|
86
|
+
getLandmarkOptions(regionType: string): string[];
|
|
87
|
+
getHemisphereOptions(): string[];
|
|
88
|
+
getSliceOrientationOptions(): string[];
|
|
89
|
+
getDamageOptions(): string[];
|
|
90
|
+
validateStainProtocol(data: Partial<Protocol>): Record<string, string>;
|
|
91
|
+
validateRegionProtocol(data: Partial<Protocol>): Record<string, string>;
|
|
92
|
+
isLoaded(): boolean;
|
|
93
|
+
getSchema(): BDSASchema | null;
|
|
94
|
+
getStainSchema(): Record<string, StainTypeDefinition> | null;
|
|
95
|
+
getRegionSchema(): RegionSchemaDefinition | null;
|
|
96
|
+
}
|
|
97
|
+
export declare function createSchemaValidator(): SchemaValidator;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=schemaValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaValidator.d.ts","sourceRoot":"","sources":["../../../../src/components/ProtocolManager/utils/schemaValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { SlideViewerProps } from './SlideViewer.types';
|
|
3
3
|
|
|
4
|
-
export type { SlideImageInfo, AnnotationFeature, AnnotationInfoProperty, AnnotationInfoConfig, SlideViewerProps } from './SlideViewer.types';
|
|
4
|
+
export type { SlideImageInfo, AnnotationFeature, AnnotationInfoProperty, AnnotationInfoConfig, SlideViewerProps, ViewportBounds, OverlayTileSource } from './SlideViewer.types';
|
|
5
5
|
/**
|
|
6
6
|
* A slide viewer component that integrates OpenSeadragon with Paper.js annotations
|
|
7
7
|
* for viewing Digital Slide Archive images with annotation overlays.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../../src/components/SlideViewer/SlideViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAOhF,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAA;AAO9E,OAAO,mBAAmB,CAAA;AAG1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../../src/components/SlideViewer/SlideViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAOhF,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAA;AAO9E,OAAO,mBAAmB,CAAA;AAG1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE/K;;;GAGG;AACH,eAAO,MAAM,WAAW,yFA21BvB,CAAA"}
|