hmgr 0.0.44 → 0.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aenderungen.json +3 -0
- package/dist/cli/main.js +6 -3
- package/dist/gui/main.js +3 -0
- package/dist/gui/renderer/renderer.js +29 -4
- package/package.json +1 -1
package/dist/aenderungen.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"fassung": 1,
|
|
3
3
|
"versionen": {
|
|
4
|
+
"0.0.45": [
|
|
5
|
+
"MCP-Server und die Listen in den Einstellungen (Harnesses, zusätzliche Homedirs) erscheinen jetzt alphabetisch sortiert, ebenso in hmgr mcp list."
|
|
6
|
+
],
|
|
4
7
|
"0.0.44": [
|
|
5
8
|
"Läuft gerade eine Aktualisierung, zeigt hmgr ein im Terminal hinzugefügtes Verzeichnis trotzdem sofort an, statt bis zum Ende der Aktualisierung zu warten."
|
|
6
9
|
],
|
package/dist/cli/main.js
CHANGED
|
@@ -702,7 +702,10 @@ export async function ausfuehren(argv, umgebung, optionen = {}) {
|
|
|
702
702
|
const uebersicht = await anwendungsfaelle.mcpUebersicht();
|
|
703
703
|
if (uebersicht.katalog.length === 0)
|
|
704
704
|
console.log('Kein MCP im Katalog. hmgr help mcp zeigt das Format von ~/.hmgr/mcp.yaml.');
|
|
705
|
-
|
|
705
|
+
// E113: alphabetisch nach Name (Kopie, die Lieferreihenfolge der Daten bleibt).
|
|
706
|
+
const nachName = (a, b) => a.localeCompare(b, 'de', { sensitivity: 'base' });
|
|
707
|
+
const katalogSortiert = [...uebersicht.katalog].sort((a, b) => nachName(a.eintrag.name, b.eintrag.name));
|
|
708
|
+
for (const { eintrag, eingehaengt, geteilteFundorte } of katalogSortiert) {
|
|
706
709
|
console.log(`${eintrag.name} ${eintrag.beschreibung}`);
|
|
707
710
|
if (eingehaengt.length === 0 && geteilteFundorte.length === 0)
|
|
708
711
|
console.log(' nirgends eingehängt');
|
|
@@ -714,9 +717,9 @@ export async function ausfuehren(argv, umgebung, optionen = {}) {
|
|
|
714
717
|
}
|
|
715
718
|
if (uebersicht.unbekannt.length > 0 || uebersicht.unbekannteGeteilteFundorte.length > 0) {
|
|
716
719
|
console.log('Nicht im Katalog, aber eingehängt (hmgr fasst sie nicht an):');
|
|
717
|
-
for (const { ziel, name } of uebersicht.unbekannt)
|
|
720
|
+
for (const { ziel, name } of [...uebersicht.unbekannt].sort((a, b) => nachName(a.name, b.name)))
|
|
718
721
|
console.log(` ${name} ${ziel.harness} ${beschreibeOrt(ziel.ort)}`);
|
|
719
|
-
for (const f of uebersicht.unbekannteGeteilteFundorte)
|
|
722
|
+
for (const f of [...uebersicht.unbekannteGeteilteFundorte].sort((a, b) => nachName(a.name, b.name)))
|
|
720
723
|
console.log(` ${f.name} ${f.ziel.harness} ${beschreibeOrt(f.ziel.ort)} ${f.datei} · Scope ${f.scope}`);
|
|
721
724
|
}
|
|
722
725
|
return 0;
|
package/dist/gui/main.js
CHANGED
|
@@ -962,6 +962,8 @@ function fensterOeffnen() {
|
|
|
962
962
|
document.querySelector('[data-ansicht="mcp"]')?.click();
|
|
963
963
|
var mcpKartenText = document.getElementById('mcpliste')?.textContent
|
|
964
964
|
?.replace(/\\s+/g, ' ').trim() ?? null;
|
|
965
|
+
var mcpKartenNamen = Array.from(document.querySelectorAll('#mcpliste .mcpkopf > b'))
|
|
966
|
+
.map((b) => b.textContent).join(',');
|
|
965
967
|
var mcpHeimLinkVorhanden = document.querySelector('#mcpliste .mcpkopf .qlink') !== null;
|
|
966
968
|
var mcpWarnzeileVorhanden = document.querySelector('#mcpliste .mcp .ruhezeile') !== null;
|
|
967
969
|
// F46: die Orte-Liste je Karte und der Fremdkasten der Ansicht sind ganz weg, nicht nur
|
|
@@ -1273,6 +1275,7 @@ function fensterOeffnen() {
|
|
|
1273
1275
|
skillOrdnerFehler,
|
|
1274
1276
|
navReihenfolge,
|
|
1275
1277
|
mcpKartenText,
|
|
1278
|
+
mcpKartenNamen,
|
|
1276
1279
|
mcpHeimLinkVorhanden,
|
|
1277
1280
|
mcpWarnzeileVorhanden,
|
|
1278
1281
|
mcpOrteVorhanden,
|
|
@@ -3356,7 +3356,12 @@
|
|
|
3356
3356
|
var w = $('mcpliste');
|
|
3357
3357
|
w.textContent = '';
|
|
3358
3358
|
if (MCP_KATALOG.length === 0) w.appendChild(mcpEinladung());
|
|
3359
|
-
else
|
|
3359
|
+
else {
|
|
3360
|
+
// E113: Kopie nach Name, MCP_KATALOG selbst bleibt in Lieferreihenfolge (F105).
|
|
3361
|
+
MCP_KATALOG.slice().sort(function (a, b) {
|
|
3362
|
+
return a.eintrag.name.localeCompare(b.eintrag.name, 'de', { sensitivity: 'base' });
|
|
3363
|
+
}).forEach(function (k) { w.appendChild(mcpKarte(k)); });
|
|
3364
|
+
}
|
|
3360
3365
|
$('navzahlmcp').textContent = MCP_KATALOG.length;
|
|
3361
3366
|
}
|
|
3362
3367
|
|
|
@@ -3388,6 +3393,12 @@
|
|
|
3388
3393
|
// Die Plätze kommen aus dem Kern (F42, E16): die Fähigkeit hängt am Adapter, nicht am
|
|
3389
3394
|
// Harness-Namen, hier wird nicht selbst entschieden, wer welche Ebene kennt.
|
|
3390
3395
|
var plaetze = await rufe(function () { return window.hmgr.mcpPlaetze(); });
|
|
3396
|
+
// E113: nach angezeigtem Titel (Harness · Ort), bei Gleichstand nach der Dateispur. Die Kopie
|
|
3397
|
+
// ist zugleich die Auswahlliste, damit der Radio-Index zur sortierten Reihenfolge passt.
|
|
3398
|
+
plaetze = plaetze.slice().sort(function (a, b) {
|
|
3399
|
+
return zielTitel({ ziel: a }).localeCompare(zielTitel({ ziel: b }), 'de', { sensitivity: 'base' })
|
|
3400
|
+
|| mcpOrtSpur(a).localeCompare(mcpOrtSpur(b), 'de', { sensitivity: 'base' });
|
|
3401
|
+
});
|
|
3391
3402
|
mcpPlaetzeAuswahl = plaetze;
|
|
3392
3403
|
plaetze.forEach(function (ziel, i) {
|
|
3393
3404
|
var schon = k.eingehaengt.some(function (z) { return zielKey(z) === zielKey(ziel); });
|
|
@@ -3522,7 +3533,13 @@
|
|
|
3522
3533
|
box.appendChild(e('p', 'ohne', 'Noch kein Server im Katalog. hmgr liest ihn aus '
|
|
3523
3534
|
+ pfadSchreibweise('~/.hmgr/mcp.yaml') + ' und schreibt die Datei nie.'));
|
|
3524
3535
|
}
|
|
3525
|
-
|
|
3536
|
+
// E113: nach Name sortiert. Der Wert der Checkbox bleibt der Index in MCP_KATALOG (Lieferreihenfolge),
|
|
3537
|
+
// den die Auswertung beim Absenden dort nachschlägt.
|
|
3538
|
+
MCP_KATALOG.map(function (k, i) { return { k: k, i: i }; }).sort(function (a, b) {
|
|
3539
|
+
return a.k.eintrag.name.localeCompare(b.k.eintrag.name, 'de', { sensitivity: 'base' });
|
|
3540
|
+
}).forEach(function (p) {
|
|
3541
|
+
var k = p.k;
|
|
3542
|
+
var i = p.i;
|
|
3526
3543
|
var schon = k.eingehaengt.some(function (z) { return zielKey(z) === zielKey(ziel); });
|
|
3527
3544
|
var label = e('label', 'wahlzeile');
|
|
3528
3545
|
var input = document.createElement('input');
|
|
@@ -3648,7 +3665,12 @@
|
|
|
3648
3665
|
var eintrag = null;
|
|
3649
3666
|
HARNESS_HEIME.forEach(function (x) { if (x.harness === h) eintrag = x; });
|
|
3650
3667
|
if (!eintrag) return kasten;
|
|
3651
|
-
|
|
3668
|
+
// E113: das primäre Homedir (ohne Adresse) bleibt oben, die zusätzlichen folgen nach Adresse sortiert.
|
|
3669
|
+
var heimeSortiert = eintrag.heime.filter(function (x) { return !x.adresse; }).concat(
|
|
3670
|
+
eintrag.heime.filter(function (x) { return !!x.adresse; }).sort(function (a, b) {
|
|
3671
|
+
return a.adresse.localeCompare(b.adresse, 'de', { sensitivity: 'base' });
|
|
3672
|
+
}));
|
|
3673
|
+
heimeSortiert.forEach(function (heim) {
|
|
3652
3674
|
var zeile = e('div', 'heimzeile');
|
|
3653
3675
|
zeile.appendChild(e('span', 'heimart', heim.adresse ? heim.adresse : 'Homedir'));
|
|
3654
3676
|
var pfad = e('code', 'heimpfad', pfadKurz(heim.pfad));
|
|
@@ -3768,7 +3790,10 @@
|
|
|
3768
3790
|
var vorher = document.activeElement;
|
|
3769
3791
|
var merk = vorher && vorher.dataset && ul.contains(vorher) ? vorher.dataset.harness : null;
|
|
3770
3792
|
ul.textContent = '';
|
|
3771
|
-
HARNESSE_ALLE
|
|
3793
|
+
// E113: Kopie nach Anzeigename, HARNESSE_ALLE bleibt in Lieferreihenfolge (F105).
|
|
3794
|
+
HARNESSE_ALLE.slice().sort(function (a, b) {
|
|
3795
|
+
return harnessName(a).localeCompare(harnessName(b), 'de', { sensitivity: 'base' });
|
|
3796
|
+
}).forEach(function (h) {
|
|
3772
3797
|
var li = document.createElement('li');
|
|
3773
3798
|
var label = e('label', 'harnessschalter');
|
|
3774
3799
|
var input = document.createElement('input');
|