{"version":3,"file":"navigation-B8BrEazQ.js","sources":["../src/components/UserListSendButton.svelte","../src/components/UserProfileSendButton.svelte","../src/navigation.ts"],"sourcesContent":["\n\n\n\n\n{#if course}\n
\n \n \n {strings.sendmail}\n \n
\n {#each ['to', 'cc', 'bcc'] as role (role)}\n \n {strings[role]}\n \n {/each}\n
\n
\n{/if}\n","\n\n\n\n\n{#if id != userid && course}\n \n \n {strings.sendmail}\n \n{/if}\n","/*\n * SPDX-FileCopyrightText: 2023-2024 Proyecto UNIMOODLE \n * SPDX-FileCopyrightText: 2024 Albert Gasset \n *\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n\nimport Navbar from './components/Navbar.svelte';\nimport UserListSendButton from './components/UserListSendButton.svelte';\nimport UserProfileSendButton from './components/UserProfileSendButton.svelte';\nimport type { Course, Label, Settings, Strings, ViewParams } from './lib/state';\nimport { createUrl, viewUrl } from './lib/url';\nimport './global.css';\n\nasync function init() {\n // Get needed data from script tag, to avoid doing web service requests.\n const data = window.local_mail_navbar_data;\n if (!data) {\n return;\n }\n\n initNavbar(data);\n\n const url = window.location.origin + window.location.pathname;\n const params = new URLSearchParams(window.location.search);\n\n if (url == window.M.cfg.wwwroot + '/user/view.php') {\n initUserProfile(\n data,\n parseInt(params.get('id') || ''),\n parseInt(params.get('course') || ''),\n );\n } else if (url == window.M.cfg.wwwroot + '/user/index.php') {\n initUserList(data, parseInt(params.get('id') || ''));\n } else if (url == window.M.cfg.wwwroot + '/blocks/completion_progress/overview.php') {\n initUserList(data, parseInt(params.get('courseid') || ''));\n }\n}\n\nfunction initNavbar(data: Record) {\n const target = document.getElementById('local-mail-navbar');\n if (target) {\n // Remove fallback link created in local_mail_render_navbar_output.\n target.innerHTML = '';\n\n const navbar = new Navbar({\n target,\n props: {\n settings: data.settings as Settings,\n strings: data.strings as Strings,\n courses: data.courses as Course[],\n labels: data.labels as Label[],\n params: { courseid: data.courseid as number },\n loading: false,\n onClick: (params: ViewParams) => {\n window.location.href = viewUrl(params);\n },\n onComposeClick: (courseid?: number) => {\n window.location.href = createUrl(courseid);\n },\n onCourseChange: (courseid?: number) => {\n navbar.$set({ params: { courseid } });\n },\n },\n });\n }\n}\n\nfunction initUserList(data: Record, courseid: number) {\n const target = document.querySelector('#formactionid')?.parentElement;\n const form = document.querySelector('#participantsform') as HTMLFormElement;\n if (courseid && target && form) {\n new UserListSendButton({\n target,\n props: {\n userid: data.userid as number,\n strings: data.strings as Strings,\n courses: data.courses as Course[],\n courseid,\n form: document.querySelector('#participantsform') as HTMLFormElement,\n },\n });\n }\n}\n\nfunction initUserProfile(data: Record, id: number, courseid: number) {\n const header = document.querySelector('.userprofile .page-context-header');\n if (id && courseid && header) {\n let target = header.querySelector('.header-button-group');\n if (!target) {\n target = document.createElement('div');\n target.classList.add('btn-group', 'header-button-group');\n header.append(target);\n }\n new UserProfileSendButton({\n target,\n props: {\n userid: data.userid as number,\n strings: data.strings as Strings,\n courses: data.courses as Course[],\n id,\n courseid,\n },\n });\n }\n}\n\ninit();\n"],"names":["t1_value","ctx","button","button_disabled_value","insert","target","div1","anchor","append","i","div0","dirty","set_data","t1","t0_value","attr","a","a_href_value","createUrl","t0","create_if_block","strings","$$props","courses","userid","courseid","form","recipients","onMount","loadModule","updateRecipients","onDestroy","$$invalidate","formData","name","match","id","course","init","data","initNavbar","url","params","initUserProfile","initUserList","navbar","Navbar","viewUrl","_a","UserListSendButton","header","UserProfileSendButton"],"mappings":"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"}