Skip to content

Commit 370a2e8

Browse files
committed
📦 Update build artifacts and temp files
1 parent 30f605a commit 370a2e8

13 files changed

+787
-1
lines changed

deployment.zip

1.23 MB
Binary file not shown.

examples/consultation.mmd

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
erDiagram
2+
Consultation ||--o{ ConsultationParticipant : has
3+
SystemUser ||--o{ ConsultationParticipant : participates
4+
Consultation ||--o{ Stakeholder : has
5+
SystemUser ||--o{ Stakeholder : views
6+
Consultation ||--o{ Decision : logs
7+
SystemUser ||--o{ Decision : makes
8+
ConsultationParticipant ||--o{ Decision : targets
9+
10+
Consultation {
11+
uuid ConsultationId PK
12+
string Title
13+
string CaseNumber
14+
int Status "1–8"
15+
string ProblemStatement
16+
string Question
17+
string ProposedSolution
18+
int Category "None, NonPIE, PIE_public, NonPIE_public"
19+
bool Dissens
20+
bool IsClosed
21+
uuid FinalDecisionBy FK
22+
datetime FinalDecisionAt
23+
}
24+
25+
ConsultationParticipant {
26+
uuid ParticipantId PK
27+
uuid ConsultationId FK
28+
uuid UserId FK
29+
int Role "Lead, CoConsultant, Reviewer"
30+
bool IndependenceDeclared
31+
datetime IndependenceAt
32+
bool ApprovalGiven
33+
datetime ApprovalAt
34+
bool CanClose
35+
bool IsActive
36+
string CompositeKey_Consultation_User
37+
}
38+
39+
Stakeholder {
40+
uuid StakeholderId PK
41+
uuid ConsultationId FK
42+
uuid UserId FK
43+
bool NotifyOnStatusChange
44+
}
45+
46+
Decision {
47+
uuid DecisionId PK
48+
uuid ConsultationId FK
49+
uuid ByUserId FK
50+
uuid TargetParticipantId FK
51+
int Type "Independence, Approval, Escalation, FinalDecision"
52+
int Value "Yes, No, Abstain"
53+
string Comment
54+
datetime At
55+
}
56+
57+
SystemUser {
58+
string systemuserid PK "CDM"
59+
string fullname "CDM"
60+
string firstname "CDM"
61+
string lastname "CDM"
62+
string internalemailaddress "CDM"
63+
}

jest-e2e.config.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const path = require('path');
2+
3+
module.exports = {
4+
testEnvironment: 'node',
5+
testMatch: ['**/tests/e2e/**/*.test.js'],
6+
testTimeout: 120000,
7+
globalSetup: path.resolve(__dirname, 'tests/e2e/setup/global-setup.js'),
8+
globalTeardown: path.resolve(__dirname, 'tests/e2e/setup/global-teardown.js'),
9+
setupFilesAfterEnv: [path.resolve(__dirname, 'tests/e2e/setup/jest-setup.js')],
10+
verbose: true,
11+
detectOpenHandles: true,
12+
forceExit: true,
13+
maxWorkers: 1, // Run tests serially for e2e
14+
collectCoverage: false, // Disable coverage for e2e tests
15+
roots: ['<rootDir>/tests/e2e']
16+
};

original_dataverse_import.tsx

Whitespace-only changes.

src/frontend/.tsbuildinfo

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
.headerText {
2+
font-size: 20px;
3+
font-weight: 600;
4+
color: var(--colorNeutralForeground1);
5+
}
6+
7+
.accordionHeaderText {
8+
font-size: 16px;
9+
font-weight: 500;
10+
color: var(--colorNeutralForeground1);
11+
}
12+
13+
.cardContent {
14+
padding: 24px;
15+
}
16+
17+
.accordion {
18+
margin-bottom: 32px;
19+
}
20+
21+
.loadingContainer {
22+
display: flex;
23+
align-items: center;
24+
gap: 12px;
25+
padding: 24px;
26+
justify-content: center;
27+
}
28+
29+
.choicesList {
30+
display: flex;
31+
flex-direction: column;
32+
gap: 12px;
33+
max-height: 400px;
34+
overflow-y: auto;
35+
padding: 8px;
36+
border: 1px solid #e0e0e0;
37+
border-radius: 4px;
38+
background-color: #fafafa;
39+
}
40+
41+
.choiceItem {
42+
padding: 8px 12px;
43+
background-color: white;
44+
border-radius: 4px;
45+
border: 1px solid #e0e0e0;
46+
transition: all 0.2s ease;
47+
}
48+
49+
.choiceItem:hover {
50+
background-color: #f5f5f5;
51+
border-color: #c7c7c7;
52+
}
53+
54+
.fileUpload {
55+
display: flex;
56+
flex-direction: column;
57+
gap: 16px;
58+
}
59+
60+
.uploadDescription {
61+
margin-bottom: 0;
62+
display: block;
63+
color: #6b6b6b;
64+
}
65+
66+
.fileUploadButton {
67+
height: 32px !important;
68+
font-size: 14px !important;
69+
font-weight: 500 !important;
70+
padding: 0 16px !important;
71+
min-width: auto !important;
72+
border-radius: 4px !important;
73+
width: fit-content;
74+
}
75+
76+
.navigationButtons {
77+
display: flex;
78+
justify-content: space-between;
79+
margin-top: 32px;
80+
padding-top: 16px;
81+
border-top: 1px solid var(--colorNeutralStroke2);
82+
}
83+
84+
.nextButton {
85+
min-width: 180px;
86+
}
87+
88+
.previousButton {
89+
min-width: 160px;
90+
}
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
import React, { createContext, useContext, useState, useCallback, ReactNode } from 'react';
2+
3+
export interface DeploymentContextState {
4+
isDeploymentActive: boolean;
5+
isRollbackActive: boolean;
6+
deploymentId: string | null;
7+
rollbackId: string | null;
8+
blockNavigation: boolean;
9+
}
10+
11+
interface DeploymentContextValue extends DeploymentContextState {
12+
startDeployment: (deploymentId: string) => void;
13+
finishDeployment: () => void;
14+
startRollback: (rollbackId: string) => void;
15+
finishRollback: () => void;
16+
setNavigationBlocked: (blocked: boolean) => void;
17+
}
18+
19+
const DeploymentContext = createContext<DeploymentContextValue | undefined>(undefined);
20+
21+
interface DeploymentProviderProps {
22+
children: ReactNode;
23+
}
24+
25+
export const DeploymentProvider: React.FC<DeploymentProviderProps> = ({ children }) => {
26+
const [deploymentState, setDeploymentState] = useState<DeploymentContextState>({
27+
isDeploymentActive: false,
28+
isRollbackActive: false,
29+
deploymentId: null,
30+
rollbackId: null,
31+
blockNavigation: false
32+
});
33+
34+
const startDeployment = useCallback((deploymentId: string) => {
35+
setDeploymentState(prev => ({
36+
...prev,
37+
isDeploymentActive: true,
38+
deploymentId,
39+
blockNavigation: true
40+
}));
41+
}, []);
42+
43+
const finishDeployment = useCallback(() => {
44+
setDeploymentState(prev => ({
45+
...prev,
46+
isDeploymentActive: false,
47+
deploymentId: null,
48+
blockNavigation: false
49+
}));
50+
}, []);
51+
52+
const startRollback = useCallback((rollbackId: string) => {
53+
setDeploymentState(prev => ({
54+
...prev,
55+
isRollbackActive: true,
56+
rollbackId,
57+
blockNavigation: true
58+
}));
59+
}, []);
60+
61+
const finishRollback = useCallback(() => {
62+
setDeploymentState(prev => ({
63+
...prev,
64+
isRollbackActive: false,
65+
rollbackId: null,
66+
blockNavigation: false
67+
}));
68+
}, []);
69+
70+
const setNavigationBlocked = useCallback((blocked: boolean) => {
71+
setDeploymentState(prev => ({
72+
...prev,
73+
blockNavigation: blocked
74+
}));
75+
}, []);
76+
77+
const value: DeploymentContextValue = {
78+
...deploymentState,
79+
startDeployment,
80+
finishDeployment,
81+
startRollback,
82+
finishRollback,
83+
setNavigationBlocked
84+
};
85+
86+
return (
87+
<DeploymentContext.Provider value={value}>
88+
{children}
89+
</DeploymentContext.Provider>
90+
);
91+
};
92+
93+
export const useDeploymentContext = (): DeploymentContextValue => {
94+
const context = useContext(DeploymentContext);
95+
if (context === undefined) {
96+
throw new Error('useDeploymentContext must be used within a DeploymentProvider');
97+
}
98+
return context;
99+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// vite.config.ts
2+
import { defineConfig } from "file:///C:/Users/luise.fixed/devlocal/mermaid-local/src/frontend/node_modules/vite/dist/node/index.js";
3+
import react from "file:///C:/Users/luise.fixed/devlocal/mermaid-local/src/frontend/node_modules/@vitejs/plugin-react/dist/index.js";
4+
var vite_config_default = defineConfig({
5+
plugins: [react()],
6+
server: {
7+
port: 3003,
8+
proxy: {
9+
"/api": {
10+
target: "http://localhost:8080",
11+
changeOrigin: true,
12+
secure: false
13+
},
14+
"/upload": {
15+
target: "http://localhost:8080",
16+
changeOrigin: true,
17+
secure: false
18+
}
19+
}
20+
}
21+
});
22+
export {
23+
vite_config_default as default
24+
};
25+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxsdWlzZS5maXhlZFxcXFxkZXZsb2NhbFxcXFxtZXJtYWlkLWxvY2FsXFxcXHNyY1xcXFxmcm9udGVuZFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcbHVpc2UuZml4ZWRcXFxcZGV2bG9jYWxcXFxcbWVybWFpZC1sb2NhbFxcXFxzcmNcXFxcZnJvbnRlbmRcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL2x1aXNlLmZpeGVkL2RldmxvY2FsL21lcm1haWQtbG9jYWwvc3JjL2Zyb250ZW5kL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSc7XHJcbmltcG9ydCByZWFjdCBmcm9tICdAdml0ZWpzL3BsdWdpbi1yZWFjdCc7XHJcblxyXG4vLyBNaW5pbWFsIFZpdGUgY29uZmlnIGZvciB0ZXN0aW5nXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XHJcbiAgcGx1Z2luczogW3JlYWN0KCldLFxyXG4gIHNlcnZlcjoge1xyXG4gICAgcG9ydDogMzAwMyxcclxuICAgIHByb3h5OiB7XHJcbiAgICAgICcvYXBpJzoge1xyXG4gICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcsXHJcbiAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgIHNlY3VyZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICcvdXBsb2FkJzoge1xyXG4gICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcsXHJcbiAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgIHNlY3VyZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0pO1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXdXLFNBQVMsb0JBQW9CO0FBQ3JZLE9BQU8sV0FBVztBQUdsQixJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDO0FBQUEsRUFDakIsUUFBUTtBQUFBLElBQ04sTUFBTTtBQUFBLElBQ04sT0FBTztBQUFBLE1BQ0wsUUFBUTtBQUFBLFFBQ04sUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFdBQVc7QUFBQSxRQUNULFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=

test-prefix-debug.mmd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
erDiagram
2+
TestEntity {
3+
string test_id PK
4+
string name
5+
string end_date
6+
int status
7+
text description
8+
}

tests/e2e/setup/test-sequencer.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class E2ETestSequencer {
2+
sort(tests) {
3+
// Sort tests to run basic connection tests first
4+
const orderedTests = tests.sort((testA, testB) => {
5+
const orderMap = {
6+
'basic-connection.test.js': 1,
7+
'page-inspection.test.js': 2,
8+
'basic-wizard.test.js': 3,
9+
'wizard-workflow-simple.test.js': 4,
10+
'wizard-workflow.test.js': 5,
11+
'accessibility.test.js': 6
12+
};
13+
14+
const getOrder = (test) => {
15+
const filename = test.path.split(/[/\\]/).pop();
16+
return orderMap[filename] || 999;
17+
};
18+
19+
return getOrder(testA) - getOrder(testB);
20+
});
21+
22+
return orderedTests;
23+
}
24+
}
25+
26+
module.exports = E2ETestSequencer;

0 commit comments

Comments
 (0)