Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f140a32199 | ||
|
|
e04ff6c5ff | ||
|
|
3b2528d72a | ||
|
|
6d9ae45a2f | ||
|
|
fcecc68c07 | ||
|
|
fe1ed96f7f | ||
|
|
ebd84ec0d5 | ||
|
|
a548ee9174 | ||
|
|
11906d3b6b | ||
|
|
b41790dc56 |
@@ -21,9 +21,19 @@ De grootte in het dashboard zegt dus in welk spoor een rij zit.
|
||||
bin/dev-stub bipp-budgetcode
|
||||
```
|
||||
|
||||
De stub gaat meteen naar het klembord. In Tampermonkey neem je het potlood van de bestaande
|
||||
rij, dan Cmd+A, Cmd+V, Cmd+S. Via de `+`-tab krijg je een tweede rij in plaats van een
|
||||
bijgewerkte, want Tampermonkey herkent een script aan `@namespace` plus `@name`.
|
||||
Claude installeert de stub zelf, Glenn plakt niets. Serveer de stub (`--no-copy`) als
|
||||
`<map>.user.js` vanuit de scratchpad op een vrije poort, open die URL in de Claude-in-Chrome-tab
|
||||
en Tampermonkey opent zijn installatiepagina. Die pagina (`chrome-extension://`) is voor de
|
||||
browsertools onbereikbaar, dus de enige stap voor Glenn is daar op **Install** klikken. Stop de
|
||||
server daarna.
|
||||
|
||||
- **Juiste Chrome-profiel.** BIPP en de Tampermonkey-scripts zitten in het profiel **UA**
|
||||
(Profile 1). Met de Claude-extensie in twee profielen verbindt `list_connected_browsers` met
|
||||
het profiel dat eerst antwoordt; kies UA met `select_browser`. Of je goed zit, zie je aan de
|
||||
`History` van het profiel na een bezoek vanuit de tool.
|
||||
- Een bestaande rij met dezelfde `@namespace` plus `@name` wordt bijgewerkt. Een andere `@name`
|
||||
geeft een tweede rij die dezelfde file nog eens laadt, dus elke sneltoets dubbel: verwijder
|
||||
dan eerst de oude rij.
|
||||
|
||||
`bin/dev-stub --list` toont de scriptmappen, `--no-copy` slaat het klembord over.
|
||||
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
|
||||
| toepassing | wat het doet | |
|
||||
| -------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| **BIPP** | zoekveld in dropdowns met veel opties | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js) |
|
||||
| **BIPP** | budgetcode kiezen en zien in het winkelmandje | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js) |
|
||||
| **BIPP** | "Inclusief niet-raamcontractartikelen" standaard aan | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js) |
|
||||
| **BIPP** | budgetverantwoordelijke en aanvrager standaard op jezelf | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js) |
|
||||
| **iExpense** | alle onkostenrapporten in één doorzoekbare tabel | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/iexpense-search/iexpense-search.user.js) |
|
||||
| **PeopleSoft** | werkende knop "Downloaden naar Excel" | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js) |
|
||||
| **BIPP** | zoekveld in dropdowns met veel opties | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/select-search/select-search.user.js) |
|
||||
| **BIPP** | budgetcode kiezen en zien in het winkelmandje | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js) |
|
||||
| **BIPP** | "Inclusief niet-raamcontractartikelen" standaard aan | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js) |
|
||||
| **BIPP** | budgetverantwoordelijke en aanvrager standaard op jezelf | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js) |
|
||||
| **BIPP** | Ctrl+letter voor Bevestigen, Zoeken, Opslaan en meer | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-sneltoetsen/bipp-sneltoetsen.user.js) |
|
||||
| **iExpense** | alle onkostenrapporten in één doorzoekbare tabel | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/iexpense-search/iexpense-search.user.js) |
|
||||
| **PeopleSoft** | werkende knop "Downloaden naar Excel" | [installeren](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js) |
|
||||
|
||||
## Installatie-instructies
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ BIPP verbergt die code vandaag volledig: na *Creëer*, kiezen, *Opslaan* en *Ter
|
||||
alleen nog `Bekijk`, in het groen, en die kleur blijft ook staan als de code weer leeg is. De
|
||||
gekozen waarde zit wel al in de pagina, maar alleen als tooltip op die link.
|
||||
|
||||
[**Installeren**](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js)
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Gebruik
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name BIPP: budgetcode in het winkelmandje
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.7.0
|
||||
// @version 1.7.1
|
||||
// @description Zet de budgetcode als dropdown in de winkelmandjerij zelf, onder de grootboekrekening, zodat je niet meer via de aparte pagina Selectie analytische velden moet en de gekozen code ook gewoon ziet staan. Slaat op via een achtergrond-postback en zet de code ook in Interne commentaar.
|
||||
// @author Glenn Goossens
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/bipp-budgetcode
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/bipp-budgetcode
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js
|
||||
// @match https://bipp.biotechpartner.be/web/*
|
||||
// @grant none
|
||||
// @run-at document-idle
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Zet in BIPP het filter *Budget verantwoordelijke* op *Aanvraag evalueren* en het filter *Aanvrager* op *Aanvragen* standaard op jezelf in plaats van *Alle*, en start de zoekopdracht.
|
||||
|
||||
[**Installeren**](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js)
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Hoe het werkt
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name BIPP: budgetverantwoordelijke standaard op de ingelogde gebruiker
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.1.0
|
||||
// @version 1.1.1
|
||||
// @description Zet "Budget verantwoordelijke" bij Aanvraag evalueren en "Aanvrager" bij Aanvragen op jezelf in plaats van "Alle" en start de zoekopdracht.
|
||||
// @author glgoose
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/bipp-budgetverantwoordelijke
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/bipp-budgetverantwoordelijke
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-budgetverantwoordelijke/bipp-budgetverantwoordelijke.user.js
|
||||
// @match https://bipp.biotechpartner.be/web/*
|
||||
// @run-at document-idle
|
||||
// @grant none
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Zet het vinkje *Inclusief niet-raamcontractartikelen* op de zoekpagina van BIPP standaard aan.
|
||||
|
||||
[**Installeren**](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js)
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Hoe het werkt
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name BIPP: "Inclusief niet-raamcontractartikelen" standaard aan
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.0.0
|
||||
// @version 1.0.1
|
||||
// @description Vinkt "Inclusief niet-raamcontractartikelen" aan zodra de zoekpagina laadt.
|
||||
// @author glgoose
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/bipp-raamcontract
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/bipp-raamcontract
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-raamcontract/bipp-raamcontract.user.js
|
||||
// @match https://bipp.biotechpartner.be/web/*
|
||||
// @run-at document-idle
|
||||
// @grant none
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# bipp-sneltoetsen
|
||||
|
||||
Ctrl+letter drukt in BIPP op een knop. De letter is onderstreept, de tooltip toont de sneltoets, en zolang je Ctrl ingedrukt houdt verschijnt de sneltoets onder elke knop die er een heeft.
|
||||
|
||||
| toets | knop | waar |
|
||||
| ------ | ---------- | ------------------------------------------------- |
|
||||
| Ctrl+B | Bevestigen | Aanvraag evalueren, bestelbon detail |
|
||||
| Ctrl+Z | Zoeken | Artikelen, Favorietenlijsten, Aanvragen, Bestelbonnen, Ontvangstregistratie |
|
||||
| Ctrl+R | Reset | idem |
|
||||
| Ctrl+N | Nieuw | Artikelen, Favorietenlijsten |
|
||||
| Ctrl+S | Opslaan | Winkelmandje, bestelbon detail |
|
||||
| Ctrl+I | Indienen | Winkelmandje |
|
||||
| Ctrl+T | Terug | detailpagina's |
|
||||
|
||||
Verwijderen, Annuleren en In wachtstand krijgen bewust geen sneltoets: die zijn niet terug te draaien of komen zelden voor.
|
||||
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-sneltoetsen/bipp-sneltoetsen.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Hoe het werkt
|
||||
|
||||
- Het script zoekt op elke pagina onder `/web/` per sneltoets de eerste zichtbare, actieve knop met dat label. Is er geen, dan doet de toets niets en gaat hij gewoon door naar de browser.
|
||||
- Op macOS gebruikt Chrome Cmd voor zijn eigen sneltoetsen, dus Ctrl+letter is vrij. In tekstvelden zijn sommige Ctrl-letters Emacs-bindings (Ctrl+B één teken terug, Ctrl+N volgende regel, Ctrl+T letters wisselen): die heb je in BIPP niet meer.
|
||||
- Zet BIPP zelf al een tooltip op de knop (Bevestigen, Indienen), dan komt de sneltoets op een eigen regel eronder.
|
||||
- De onderstreping en de hints verschuiven niets: ze staan `position:absolute` buiten de flow. Bij een `<input>` kan de letter niet onderstreept worden met HTML, dus komt er een lijntje onder, berekend uit de lettermaat.
|
||||
- Pagina's die hun knoppen later opbouwen krijgen tot 15 seconden de tijd.
|
||||
|
||||
## Licentie
|
||||
|
||||
[GPL-3.0-or-later](../../LICENSE).
|
||||
@@ -0,0 +1,138 @@
|
||||
// ==UserScript==
|
||||
// @name BIPP: sneltoetsen voor knoppen
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.1.2
|
||||
// @description Ctrl+letter drukt op Bevestigen (B), Zoeken (Z), Reset (R), Nieuw (N), Opslaan (S), Indienen (I) en Terug (T). De letter is onderstreept en bij ingedrukte Ctrl verschijnt de sneltoets onder de knop.
|
||||
// @author glgoose
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/bipp-sneltoetsen
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-sneltoetsen/bipp-sneltoetsen.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/bipp-sneltoetsen/bipp-sneltoetsen.user.js
|
||||
// @match https://bipp.biotechpartner.be/web/*
|
||||
// @run-at document-idle
|
||||
// @grant none
|
||||
// ==/UserScript==
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
// Knoplabel (kleine letters), de letter die onderstreept wordt, en de toets.
|
||||
var KEYS = [
|
||||
{ label: 'bevestigen', letter: 'b', code: 'KeyB' },
|
||||
{ label: 'zoeken', letter: 'z', code: 'KeyZ' },
|
||||
{ label: 'reset', letter: 'r', code: 'KeyR' },
|
||||
{ label: 'nieuw', letter: 'n', code: 'KeyN' },
|
||||
{ label: 'opslaan', letter: 's', code: 'KeyS' },
|
||||
{ label: 'indienen', letter: 'i', code: 'KeyI' },
|
||||
{ label: 'terug', letter: 't', code: 'KeyT' }
|
||||
];
|
||||
var MARK = 'data-bipp-sneltoets';
|
||||
|
||||
function hint(k) { return 'Ctrl+' + k.letter.toUpperCase(); }
|
||||
|
||||
function norm(s) { return (s || '').replace(/\s+/g, ' ').trim().toLowerCase(); }
|
||||
|
||||
function visible(el) { return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length); }
|
||||
|
||||
// Eerste zichtbare, actieve knop met dit label. Een postback-pagina kan er verborgen kopieën van hebben.
|
||||
function findButton(k) {
|
||||
var btns = document.querySelectorAll('input[type="submit"], input[type="button"], button');
|
||||
for (var i = 0; i < btns.length; i++) {
|
||||
var b = btns[i];
|
||||
if (norm(b.value || b.textContent) === k.label && !b.disabled && visible(b)) return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// <button>: de letter in een <u>. <input> kan geen HTML bevatten, dus daar komt een lijntje onder de letter.
|
||||
function underline(btn, k) {
|
||||
if (btn.getAttribute(MARK)) return;
|
||||
btn.setAttribute(MARK, k.letter);
|
||||
// BIPP zet soms zelf een title (Bevestigen): dan komt de sneltoets op een eigen regel eronder.
|
||||
btn.title = btn.title ? btn.title + '\n' + hint(k) : hint(k);
|
||||
if (btn.tagName === 'BUTTON' && btn.children.length === 0) {
|
||||
var t = btn.textContent;
|
||||
var i = t.toLowerCase().indexOf(k.letter);
|
||||
btn.textContent = '';
|
||||
btn.appendChild(document.createTextNode(t.slice(0, i)));
|
||||
var u = document.createElement('u');
|
||||
u.textContent = t.charAt(i);
|
||||
btn.appendChild(u);
|
||||
btn.appendChild(document.createTextNode(t.slice(i + 1)));
|
||||
return;
|
||||
}
|
||||
drawLine(btn, k);
|
||||
window.addEventListener('resize', function () { drawLine(btn, k); });
|
||||
}
|
||||
|
||||
function drawLine(btn, k) {
|
||||
var old = btn.nextSibling && btn.nextSibling.getAttribute && btn.nextSibling.getAttribute(MARK + '-line');
|
||||
if (old) btn.parentNode.removeChild(btn.nextSibling);
|
||||
var cs = getComputedStyle(btn);
|
||||
var ctx = document.createElement('canvas').getContext('2d');
|
||||
ctx.font = cs.fontStyle + ' ' + cs.fontWeight + ' ' + cs.fontSize + ' ' + cs.fontFamily;
|
||||
var text = btn.value || btn.textContent;
|
||||
var i = text.toLowerCase().indexOf(k.letter);
|
||||
var before = ctx.measureText(text.slice(0, i)).width;
|
||||
var letter = ctx.measureText(text.charAt(i)).width;
|
||||
var total = ctx.measureText(text).width;
|
||||
var inner = btn.clientWidth - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight);
|
||||
var start = parseFloat(cs.paddingLeft) + btn.clientLeft + Math.max(0, (inner - total) / 2);
|
||||
var line = document.createElement('span');
|
||||
line.setAttribute(MARK + '-line', '1');
|
||||
var fs = parseFloat(cs.fontSize);
|
||||
// position:absolute houdt de lijn buiten de flow, dus er verschuift niets.
|
||||
line.style.cssText = 'position:absolute;pointer-events:none;height:1px;background:currentColor;color:' + cs.color +
|
||||
';left:' + (btn.offsetLeft + start + before) + 'px;width:' + letter + 'px;top:' +
|
||||
(btn.offsetTop + btn.offsetHeight / 2 + fs * 0.55) + 'px';
|
||||
btn.parentNode.insertBefore(line, btn.nextSibling);
|
||||
}
|
||||
|
||||
var tips = [];
|
||||
function showTips() {
|
||||
hideTips();
|
||||
KEYS.forEach(function (k) {
|
||||
var btn = findButton(k);
|
||||
if (!btn) return;
|
||||
var r = btn.getBoundingClientRect();
|
||||
var tip = document.createElement('span');
|
||||
tip.textContent = hint(k);
|
||||
tip.style.cssText = 'position:absolute;z-index:99999;pointer-events:none;white-space:nowrap;' +
|
||||
'font:11px ui-monospace,Menlo,Consolas,monospace;background:#1f2937;color:#fff;border-radius:4px;padding:1px 6px;' +
|
||||
'left:' + (r.left + window.scrollX + r.width / 2) + 'px;top:' + (r.bottom + window.scrollY + 4) + 'px;transform:translateX(-50%)';
|
||||
document.body.appendChild(tip);
|
||||
tips.push(tip);
|
||||
});
|
||||
}
|
||||
function hideTips() {
|
||||
tips.forEach(function (t) { if (t.parentNode) t.parentNode.removeChild(t); });
|
||||
tips = [];
|
||||
}
|
||||
|
||||
document.addEventListener('keydown', function (e) {
|
||||
if (e.key === 'Control') { if (!e.repeat) showTips(); return; }
|
||||
if (!e.ctrlKey || e.metaKey || e.altKey || e.shiftKey) return;
|
||||
for (var i = 0; i < KEYS.length; i++) {
|
||||
if (e.code !== KEYS[i].code) continue;
|
||||
var btn = findButton(KEYS[i]);
|
||||
if (!btn) return;
|
||||
e.preventDefault();
|
||||
hideTips();
|
||||
btn.click();
|
||||
return;
|
||||
}
|
||||
}, true);
|
||||
document.addEventListener('keyup', function (e) { if (e.key === 'Control') hideTips(); }, true);
|
||||
window.addEventListener('blur', hideTips);
|
||||
|
||||
// De pagina bouwt de knoppen soms pas na een postback op: probeer het een paar keer.
|
||||
var tries = 0;
|
||||
(function init() {
|
||||
var left = 0;
|
||||
KEYS.forEach(function (k) {
|
||||
var btn = findButton(k);
|
||||
if (btn) underline(btn, k); else left++;
|
||||
});
|
||||
if (left && ++tries < 30) setTimeout(init, 500);
|
||||
})();
|
||||
})();
|
||||
@@ -4,7 +4,7 @@ Vervangt op Expenses Home de tabel *Update Expense Reports* door dezelfde tabel
|
||||
tegelijk. Zoeken en sorteren gebeurt lokaal, dus zonder de trage stap langs de server die OAF
|
||||
bij elke klik doet.
|
||||
|
||||
[**Installeren**](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/iexpense-search/iexpense-search.user.js)
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/iexpense-search/iexpense-search.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Gebruik
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name iExpense: doorzoekbare rapportentabel
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.8.0
|
||||
// @version 1.8.1
|
||||
// @description Vervangt "Update Expense Reports" op Expenses Home door dezelfde tabel met alle rijen tegelijk, doorzoekbaar en sorteerbaar zonder server round trips, in een scrollvenster van vaste hoogte zodat de pagina niet verspringt, en zet Notifications bovenaan met Track Submitted onderaan
|
||||
// @author Glenn Goossens
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/iexpense-search
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/iexpense-search/iexpense-search.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/iexpense-search/iexpense-search.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/iexpense-search
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/iexpense-search/iexpense-search.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/iexpense-search/iexpense-search.user.js
|
||||
// @match https://ofprd.uantwerpen.be/OA_HTML/*
|
||||
// @grant none
|
||||
// @run-at document-idle
|
||||
|
||||
@@ -6,7 +6,7 @@ script vangt de klik op en bouwt zelf een `.xlsx` uit wat er in de tabel staat.
|
||||
De grid-knop van PeopleSoft zelf levert een bestand op dat Excel niet wil of niet goed leest.
|
||||
Deze aanpak omzeilt de server volledig: wat je op je scherm ziet is wat in het bestand komt.
|
||||
|
||||
[**Installeren**](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js)
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Gebruik
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name PeopleSoft: werkende "Downloaden naar Excel"
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.1.0
|
||||
// @version 1.1.1
|
||||
// @description Vervangt de kapotte PeopleSoft grid-knop "Downloaden naar Excel" door een echte XLSX-export die uit de DOM wordt opgebouwd.
|
||||
// @author Glenn Goossens
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/peoplesoft-excel-download
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/peoplesoft-excel-download
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js
|
||||
// @match https://app.psoft.uantwerpen.be/*
|
||||
// @require https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js
|
||||
// @grant GM_info
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// ==UserScript==
|
||||
// @name Algemeen: UA-proxy waarschuwing op uitgeverspagina's
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.0.0
|
||||
// @version 1.0.1
|
||||
// @description Rode balk op uitgeverspagina's als de UA-proxy uit staat, met een knop om te verbinden.
|
||||
// @author glgoose
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/publisher-uaproxy-banner
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/publisher-uaproxy-banner
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @match *://*.tandfonline.com/*
|
||||
// @match *://*.taylorfrancis.com/*
|
||||
// @match *://*.sagepub.com/*
|
||||
@@ -87,9 +87,9 @@
|
||||
var state = s && s.state;
|
||||
if (state === 'up' || (s && s.on_ua && state === 'down')) { hide(); return; }
|
||||
if (!bar) build();
|
||||
var base = 'UA proxy down: this page loaded without UA access, so a Zotero save gets no PDF.';
|
||||
var base = 'UA proxy down';
|
||||
if (!s) {
|
||||
text.textContent = 'uaproxyd is not running: this page loaded without UA access.';
|
||||
text.textContent = 'uaproxyd is not running';
|
||||
btn.disabled = true;
|
||||
} else if (state === 'connecting') {
|
||||
text.textContent = s.mfa ? 'Enter ' + s.mfa + ' in the Authenticator app.' : 'Connecting to the UA proxy.';
|
||||
@@ -99,6 +99,7 @@
|
||||
btn.disabled = false;
|
||||
}
|
||||
btn.textContent = state === 'connecting' ? 'Connecting' : 'Connect';
|
||||
bar.style.background = state === 'connecting' ? '#b45309' : '#b3261e';
|
||||
}
|
||||
|
||||
function hide() {
|
||||
|
||||
@@ -6,7 +6,7 @@ letters, dus "Poule" vinden in "Restaurant Poule & Poulette B.V." lukt niet. Met
|
||||
Het originele `<select>` blijft de bron van waarheid en wordt enkel verborgen. Het formulier
|
||||
verstuurt dus exact hetzelfde als voorheen.
|
||||
|
||||
[**Installeren**](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js)
|
||||
[**Installeren**](https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/select-search/select-search.user.js)
|
||||
· gebeurt er niets, zie de [installatie-uitleg](../../README.md).
|
||||
|
||||
## Gebruik
|
||||
@@ -81,6 +81,7 @@ stil: is de opslag vol of geblokkeerd, dan verdwijnt het recent-blok en werkt de
|
||||
| | |
|
||||
|---|---|
|
||||
| `data-ss-recent-key="..."` | Eigen veldsleutel, in plaats van die uit `name` of `id`. Nodig bij een `<select>` zonder allebei. |
|
||||
| `data-ss-recent="off"` | Geen recent-blok en niets onthouden voor dit veld, zoeken blijft werken. Op een pagina die op `Login.aspx` eindigt staat dit standaard aan. |
|
||||
| `data-ss-recent="manual"` | Het blok en `Delete` werken, maar kiezen onthoudt niets. Voor wie pas mag onthouden na een bevestiging van de server. |
|
||||
| `window.selectSearch.remember(selectOfSleutel, value, label)` | Zet een waarde in recent en tekent het blok opnieuw. |
|
||||
| `window.selectSearch.forget(selectOfSleutel, value)` | Haalt ze er weer uit. |
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name BIPP: doorzoekbare dropdowns
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.8.3
|
||||
// @version 1.8.5
|
||||
// @description Geeft elke <select> met veel opties een zoekveld met substring-zoeken.
|
||||
// @author glgoose
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/select-search
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/select-search
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/select-search/select-search.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/select-search/select-search.user.js
|
||||
// @match https://bipp.biotechpartner.be/web/*
|
||||
// @run-at document-idle
|
||||
// @grant none
|
||||
@@ -136,7 +136,12 @@
|
||||
// BIPP rendert ids als ctl00_..._resultTable_ctl03_interfaceAccountList. Rij 3 en rij 4 zijn
|
||||
// hetzelfde veld en horen dus één lijst te delen: de rij- en volgnummers gaan eruit. Levert dat
|
||||
// niets op, dan krijgt die select geen recent-blok en blijft hij gewoon doorzoekbaar.
|
||||
// Uit op de loginpagina: daar kiest iedereen een participant uit een lange lijst en schuift een
|
||||
// recent-blok enkel gewoonte-keuzes bovenaan. Zoeken blijft werken. `data-ss-recent="off"` doet
|
||||
// hetzelfde voor één veld.
|
||||
function recentKey(select) {
|
||||
if (select.getAttribute && select.getAttribute('data-ss-recent') === 'off') return '';
|
||||
if (/\/login\.aspx$/i.test((select.ownerDocument.defaultView || window).location.pathname)) return '';
|
||||
var expliciet = select.getAttribute && select.getAttribute('data-ss-recent-key');
|
||||
if (expliciet) return expliciet;
|
||||
var ruw = select.name || select.id || '';
|
||||
|
||||
@@ -120,7 +120,12 @@
|
||||
// BIPP rendert ids als ctl00_..._resultTable_ctl03_interfaceAccountList. Rij 3 en rij 4 zijn
|
||||
// hetzelfde veld en horen dus één lijst te delen: de rij- en volgnummers gaan eruit. Levert dat
|
||||
// niets op, dan krijgt die select geen recent-blok en blijft hij gewoon doorzoekbaar.
|
||||
// Uit op de loginpagina: daar kiest iedereen een participant uit een lange lijst en schuift een
|
||||
// recent-blok enkel gewoonte-keuzes bovenaan. Zoeken blijft werken. `data-ss-recent="off"` doet
|
||||
// hetzelfde voor één veld.
|
||||
function recentKey(select) {
|
||||
if (select.getAttribute && select.getAttribute('data-ss-recent') === 'off') return '';
|
||||
if (/\/login\.aspx$/i.test((select.ownerDocument.defaultView || window).location.pathname)) return '';
|
||||
var expliciet = select.getAttribute && select.getAttribute('data-ss-recent-key');
|
||||
if (expliciet) return expliciet;
|
||||
var ruw = select.name || select.id || '';
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// ==UserScript==
|
||||
// @name BIPP: doorzoekbare dropdowns
|
||||
// @namespace https://github.com/glgoose/ua-userscripts
|
||||
// @version 1.8.3
|
||||
// @version 1.8.5
|
||||
// @description Geeft elke <select> met veel opties een zoekveld met substring-zoeken.
|
||||
// @author glgoose
|
||||
// @license GPL-3.0-or-later
|
||||
// @homepageURL https://github.com/glgoose/ua-userscripts/tree/main/scripts/select-search
|
||||
// @supportURL https://github.com/glgoose/ua-userscripts/issues
|
||||
// @downloadURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js
|
||||
// @updateURL https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js
|
||||
// @homepageURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/src/branch/main/scripts/select-search
|
||||
// @supportURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/issues
|
||||
// @downloadURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/select-search/select-search.user.js
|
||||
// @updateURL https://gitea.flw.uantwerpen.be/glenn/ua-userscripts/raw/branch/main/scripts/select-search/select-search.user.js
|
||||
// @match https://bipp.biotechpartner.be/web/*
|
||||
// @run-at document-idle
|
||||
// @grant none
|
||||
|
||||
Reference in New Issue
Block a user