Difference between revisions of "Widget:DCTList"
From LINKS Community Center
(3 intermediate revisions by the same user not shown) | |||
Line 380: | Line 380: | ||
const dctResponse = await fetch(getQueryUrl(dctQuery)).then(response => response.json()); | const dctResponse = await fetch(getQueryUrl(dctQuery)).then(response => response.json()); | ||
− | |||
− | |||
const dctList = Object.keys(dctResponse.query.results).map(dctName => { | const dctList = Object.keys(dctResponse.query.results).map(dctName => { | ||
Line 455: | Line 453: | ||
? filterState.hasUC === dct.hasUC | ? filterState.hasUC === dct.hasUC | ||
: true; | : true; | ||
+ | const archivedCheck = filterState.showArchived | ||
+ | ? true | ||
+ | : dct.archived !== 'yes'; | ||
− | return sourcesCheck && functionsCheck && businessModelCheck && dmUseCheck && ucCheck; | + | return sourcesCheck && functionsCheck && businessModelCheck && dmUseCheck && ucCheck && archivedCheck; |
} | } | ||
Line 468: | Line 469: | ||
} | } | ||
− | |||
const filterState = {}; | const filterState = {}; | ||
Line 475: | Line 475: | ||
const funcOpts = new Map(); | const funcOpts = new Map(); | ||
functionFilterBlocks.forEach(block => { | functionFilterBlocks.forEach(block => { | ||
− | |||
− | |||
const cat = block.querySelector('input.func-cat'); | const cat = block.querySelector('input.func-cat'); | ||
if (cat.checked) { | if (cat.checked) { | ||
Line 499: | Line 497: | ||
if (document.getElementById('used-by-practitioners').checked) filterState.usedByDmo = 'yes'; | if (document.getElementById('used-by-practitioners').checked) filterState.usedByDmo = 'yes'; | ||
if (document.getElementById('has-use-case').checked) filterState.hasUC = 'yes'; | if (document.getElementById('has-use-case').checked) filterState.hasUC = 'yes'; | ||
+ | if (document.getElementById('show-archived').checked) filterState.showArchived = 'yes'; | ||
table.setFilter(dctFilter, filterState); | table.setFilter(dctFilter, filterState); | ||
Line 586: | Line 585: | ||
/** @type {DCT} */ | /** @type {DCT} */ | ||
const dct = cell.getData(); | const dct = cell.getData(); | ||
− | let out = '<a href="' + dct.url + '">' + dct.name + '</a><br>'; | + | let out = '<a href="' + dct.url + '" translate="no">' + dct.name + '</a><br>'; |
+ | if (dct.archived.toLowerCase() === 'yes') { | ||
+ | out += '<small><span class="badge lcc-badge-grey">Archived</span></small> '; | ||
+ | } | ||
if (dct.businessModel.includes(FREE_KEY)) { | if (dct.businessModel.includes(FREE_KEY)) { | ||
out += '<small><span class="badge lcc-badge-green">' + FREE_KEY + '</span></small> '; | out += '<small><span class="badge lcc-badge-green">' + FREE_KEY + '</span></small> '; | ||
Line 689: | Line 691: | ||
// ... | // ... | ||
} | } | ||
+ | |||
+ | applyFilters(); | ||
}); | }); | ||
Line 995: | Line 999: | ||
<input type="checkbox" id="has-use-case" value="yes"> | <input type="checkbox" id="has-use-case" value="yes"> | ||
<label for="has-use-case">Use case available</label> | <label for="has-use-case">Use case available</label> | ||
+ | </div> | ||
+ | <div> | ||
+ | <input type="checkbox" id="show-archived" value="yes"> | ||
+ | <label for="show-archived">Show archived</label> | ||
</div> | </div> | ||
</div> | </div> |
Latest revision as of 15:30, 19 December 2023
DCT list widget.
Currently in use – do not modify!