diff --git a/app/javascript/app.router.js b/app/javascript/app.router.js index 6fa75824b..51c44b9e9 100644 --- a/app/javascript/app.router.js +++ b/app/javascript/app.router.js @@ -98,6 +98,17 @@ Vue.use(VueRouter); var con_roles=[], isAdmin=false, hasPowers=false; export const router = new VueRouter({ + scrollBehavior(to) { + console.log(to) + if (to.hash) { + setTimeout(() => { + const element = document.getElementById(to.hash.replace(/#/, '')) + if (element && element.scrollIntoView) { + element.scrollIntoView({block: 'start'}) + } + }, 10) + } + }, routes: [ { path: '/login', diff --git a/app/javascript/reports/reports_screen.vue b/app/javascript/reports/reports_screen.vue index 669d09a9d..3a2242688 100644 --- a/app/javascript/reports/reports_screen.vue +++ b/app/javascript/reports/reports_screen.vue @@ -2,11 +2,11 @@

These are interim reports.

Participants
diff --git a/db/structure.sql b/db/structure.sql index c6ec3094f..34656c4e2 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -1123,7 +1123,11 @@ CREATE VIEW public.person_schedules AS sessions.format_id, sessions.participant_notes, sessions.description, - sessions.environment + sessions.environment, + CASE + WHEN (sa.updated_at > sessions.updated_at) THEN sa.updated_at + ELSE sessions.updated_at + END AS updated_at FROM (((public.session_assignments sa JOIN public.session_assignment_role_type sart ON (((sart.id = sa.session_assignment_role_type_id) AND (sart.role_type = 'participant'::public.assignment_role_enum) AND ((sart.name)::text <> 'Reserve'::text)))) JOIN public.people p ON ((p.id = sa.person_id))) diff --git a/jsconfig.json b/jsconfig.json index a6c92856e..79666df62 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "target": "es6", "allowSyntheticDefaultImports": false, + "jsx": "preserve", "baseUrl": "./", "paths": { "@/*": ["app/javascript/*"],