convert settings loaders to modules
This commit is contained in:
parent
ae079a0b26
commit
e887d4e046
5 changed files with 26 additions and 9 deletions
|
|
@ -496,7 +496,7 @@
|
||||||
<script type="module" src="/js/notes.js"></script>
|
<script type="module" src="/js/notes.js"></script>
|
||||||
<script type="module" src="/js/diagrams.js"></script>
|
<script type="module" src="/js/diagrams.js"></script>
|
||||||
<script type="module" src="/js/clinicalAssistant.js"></script>
|
<script type="module" src="/js/clinicalAssistant.js"></script>
|
||||||
<script defer src="/js/nextcloud.js"></script>
|
<script type="module" src="/js/nextcloud.js"></script>
|
||||||
<script type="module" src="/js/wellVisit.js"></script>
|
<script type="module" src="/js/wellVisit.js"></script>
|
||||||
<script defer src="/js/shadess.js"></script>
|
<script defer src="/js/shadess.js"></script>
|
||||||
<script type="module" src="/js/sickVisit.js"></script>
|
<script type="module" src="/js/sickVisit.js"></script>
|
||||||
|
|
@ -504,7 +504,7 @@
|
||||||
<script defer src="/js/encounters.js"></script>
|
<script defer src="/js/encounters.js"></script>
|
||||||
<script defer src="/js/memories.js"></script>
|
<script defer src="/js/memories.js"></script>
|
||||||
<script defer src="/js/admin-docs.js"></script>
|
<script defer src="/js/admin-docs.js"></script>
|
||||||
<script defer src="/js/documents.js"></script>
|
<script type="module" src="/js/documents.js"></script>
|
||||||
<script defer src="/js/calc-math.js"></script>
|
<script defer src="/js/calc-math.js"></script>
|
||||||
<script defer src="/js/drugs-loader.js"></script>
|
<script defer src="/js/drugs-loader.js"></script>
|
||||||
<script type="module" src="/js/calculators.js"></script>
|
<script type="module" src="/js/calculators.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@
|
||||||
// DOCUMENTS.JS — S3 document upload & management UI
|
// DOCUMENTS.JS — S3 document upload & management UI
|
||||||
// ============================================================
|
// ============================================================
|
||||||
|
|
||||||
(function() {
|
|
||||||
|
|
||||||
function loadDocuments() {
|
function loadDocuments() {
|
||||||
var container = document.getElementById('documents-list');
|
var container = document.getElementById('documents-list');
|
||||||
if (!container) return;
|
if (!container) return;
|
||||||
|
|
@ -124,4 +122,3 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Documents module loaded');
|
console.log('Documents module loaded');
|
||||||
})();
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,24 @@
|
||||||
(function() {
|
|
||||||
var _inited = false;
|
var _inited = false;
|
||||||
document.addEventListener('tabChanged', function(e) {
|
document.addEventListener('tabChanged', function(e) {
|
||||||
if (e.detail.tab !== 'settings' || _inited) return;
|
if (e.detail.tab !== 'settings' || _inited) return;
|
||||||
_inited = true;
|
_inited = true;
|
||||||
|
function setNextcloudConnectedStatus(url, user) {
|
||||||
|
var statusEl = document.getElementById('nc-status');
|
||||||
|
if (!statusEl) return;
|
||||||
|
statusEl.textContent = 'Connected to ';
|
||||||
|
var strong = document.createElement('strong');
|
||||||
|
strong.textContent = url || '';
|
||||||
|
statusEl.appendChild(strong);
|
||||||
|
statusEl.appendChild(document.createTextNode(' as ' + (user || '')));
|
||||||
|
}
|
||||||
|
|
||||||
function loadNextcloudStatus() {
|
function loadNextcloudStatus() {
|
||||||
fetch('/api/auth/me', { headers: getAuthHeaders() })
|
fetch('/api/auth/me', { headers: getAuthHeaders() })
|
||||||
.then(function(r) { return r.json(); })
|
.then(function(r) { return r.json(); })
|
||||||
.then(function(data) {
|
.then(function(data) {
|
||||||
var pathSection = document.getElementById('nc-webdav-path-section');
|
var pathSection = document.getElementById('nc-webdav-path-section');
|
||||||
if (data.user && data.user.nextcloud_url) {
|
if (data.user && data.user.nextcloud_url) {
|
||||||
document.getElementById('nc-status').innerHTML = '✅ Connected to <strong>' + data.user.nextcloud_url + '</strong> as ' + data.user.nextcloud_user;
|
setNextcloudConnectedStatus(data.user.nextcloud_url, data.user.nextcloud_user);
|
||||||
document.getElementById('nc-url').value = data.user.nextcloud_url;
|
document.getElementById('nc-url').value = data.user.nextcloud_url;
|
||||||
document.getElementById('nc-user').value = data.user.nextcloud_user;
|
document.getElementById('nc-user').value = data.user.nextcloud_user;
|
||||||
document.getElementById('btn-nc-disconnect').classList.remove('hidden');
|
document.getElementById('btn-nc-disconnect').classList.remove('hidden');
|
||||||
|
|
@ -72,4 +81,3 @@
|
||||||
|
|
||||||
console.log('✅ Nextcloud module loaded');
|
console.log('✅ Nextcloud module loaded');
|
||||||
});
|
});
|
||||||
})();
|
|
||||||
|
|
|
||||||
|
|
@ -137,3 +137,13 @@ test('chart review preserves pasted note coverage cues', () => {
|
||||||
assert.match(prompts, /avoid copying whole notes/);
|
assert.match(prompts, /avoid copying whole notes/);
|
||||||
assert.match(prompts, /Pending tests, labs, referrals, medication changes, or action items/);
|
assert.match(prompts, /Pending tests, labs, referrals, medication changes, or action items/);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('settings scripts expose loaders without rendering account values as HTML', () => {
|
||||||
|
const nextcloud = read('public/js/nextcloud.js');
|
||||||
|
const documents = read('public/js/documents.js');
|
||||||
|
assert.match(nextcloud, /window\.loadNextcloudStatus = loadNextcloudStatus/);
|
||||||
|
assert.match(documents, /window\.loadDocuments = loadDocuments/);
|
||||||
|
assert.match(nextcloud, /function setNextcloudConnectedStatus\(url, user\)/);
|
||||||
|
assert.match(nextcloud, /strong\.textContent = url \|\| ''/);
|
||||||
|
assert.doesNotMatch(nextcloud, /nc-status'\)\.innerHTML/);
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,12 @@ const moduleEntrypoints = [
|
||||||
'public/js/ed-encounters.js',
|
'public/js/ed-encounters.js',
|
||||||
'public/js/hospitalCourse.js',
|
'public/js/hospitalCourse.js',
|
||||||
'public/js/milestones.js',
|
'public/js/milestones.js',
|
||||||
|
'public/js/nextcloud.js',
|
||||||
'public/js/notes.js',
|
'public/js/notes.js',
|
||||||
'public/js/sickVisit.js',
|
'public/js/sickVisit.js',
|
||||||
'public/js/soap.js',
|
'public/js/soap.js',
|
||||||
'public/js/wellVisit.js'
|
'public/js/wellVisit.js',
|
||||||
|
'public/js/documents.js'
|
||||||
];
|
];
|
||||||
|
|
||||||
const iifeFreeEntrypoints = [
|
const iifeFreeEntrypoints = [
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue