sdfsdf
This commit is contained in:
@@ -78,7 +78,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
const entryRoute = String(options?.entryRoute || '/apps/boersenchecker');
|
||||
const entryRoute = String(options?.entryRoute || '/apps/boersenchecker/index.php');
|
||||
const defaultView = String(options?.defaultView || 'overview');
|
||||
|
||||
const state = {
|
||||
@@ -100,7 +100,19 @@
|
||||
host.innerHTML = html;
|
||||
enhanceHost(host, this);
|
||||
if (typeof window.initBoersencheckerCharts === 'function') {
|
||||
window.initBoersencheckerCharts(host);
|
||||
try {
|
||||
window.initBoersencheckerCharts(host);
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : 'Chart-Initialisierung fehlgeschlagen.';
|
||||
const statusNode = host.querySelector('[data-bc-chart-status]');
|
||||
const chartNode = host.querySelector('[data-bc-chart]');
|
||||
if (statusNode instanceof HTMLElement) {
|
||||
statusNode.textContent = message;
|
||||
}
|
||||
if (chartNode instanceof HTMLElement) {
|
||||
chartNode.innerHTML = `<div class="muted">${message}</div>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
renderError(error) {
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
"description": "Depotverwaltung fuer Aktien, Kaufdaten, Kursverlauf und Waehrungsumrechnung.",
|
||||
"actions": [
|
||||
{ "label": "Desktop", "href": "/" },
|
||||
{ "label": "Setup", "href": "/apps/boersenchecker?view=setup" }
|
||||
{ "label": "Setup", "href": "/apps/boersenchecker/index.php?view=setup" }
|
||||
],
|
||||
"tabs": [
|
||||
{ "label": "Ueberblick", "href": "/apps/boersenchecker?view=overview", "view": "overview" },
|
||||
{ "label": "Depotverwaltung", "href": "/apps/boersenchecker?view=depotverwaltung", "view": "depotverwaltung" },
|
||||
{ "label": "Aktienverwaltung", "href": "/apps/boersenchecker?view=aktienverwaltung", "view": "aktienverwaltung" },
|
||||
{ "label": "Setup", "href": "/apps/boersenchecker?view=setup", "view": "setup" }
|
||||
{ "label": "Ueberblick", "href": "/apps/boersenchecker/index.php?view=overview", "view": "overview" },
|
||||
{ "label": "Depotverwaltung", "href": "/apps/boersenchecker/index.php?view=depotverwaltung", "view": "depotverwaltung" },
|
||||
{ "label": "Aktienverwaltung", "href": "/apps/boersenchecker/index.php?view=aktienverwaltung", "view": "aktienverwaltung" },
|
||||
{ "label": "Setup", "href": "/apps/boersenchecker/index.php?view=setup", "view": "setup" }
|
||||
]
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ return [
|
||||
'app_id' => 'boersenchecker',
|
||||
'title' => (string) ($manifest['title'] ?? 'Börsenchecker'),
|
||||
'icon' => 'BC',
|
||||
'entry_route' => '/apps/boersenchecker',
|
||||
'entry_route' => '/apps/boersenchecker/index.php',
|
||||
'window_mode' => 'window',
|
||||
'content_mode' => 'native-module',
|
||||
'default_width' => 1220,
|
||||
@@ -25,7 +25,7 @@ return [
|
||||
'native_module' => [
|
||||
'initializer' => 'initBoersencheckerApp',
|
||||
'options' => [
|
||||
'entryRoute' => '/apps/boersenchecker',
|
||||
'entryRoute' => '/apps/boersenchecker/index.php',
|
||||
'defaultView' => 'overview',
|
||||
],
|
||||
'assets' => [
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<p>Depots anderer Benutzer sind nur fuer `appadmin` sichtbar und bearbeitbar.</p>
|
||||
</div>
|
||||
</div>
|
||||
<form method="get" action="/apps/boersenchecker" style="margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; align-items:end;">
|
||||
<form method="get" action="/apps/boersenchecker/index.php" style="margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; align-items:end;">
|
||||
<input type="hidden" name="view" value="depotverwaltung">
|
||||
<label class="setup-field muted" style="margin:0; min-width:260px;">
|
||||
<span>Depots von Benutzer</span>
|
||||
@@ -61,7 +61,7 @@
|
||||
<div class="bc-actions">
|
||||
<button class="bc-button bc-button--primary" type="submit">Depot speichern</button>
|
||||
<?php if ($editPortfolio): ?>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung<?= e($ownerQuery) ?>">Abbrechen</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung<?= e($ownerQuery) ?>">Abbrechen</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</form>
|
||||
@@ -97,7 +97,7 @@
|
||||
Alpha Vantage Mindestabstand: <?= e((string) $marketDataMinIntervalMinutes) ?> Min.
|
||||
</div>
|
||||
<div class="muted" style="margin-top:6px;">
|
||||
API-Key und Timeout fuer Aktienkurse werden ueber <a href="/apps/boersenchecker?view=setup">dieses Modul-Setup</a> gepflegt.
|
||||
API-Key und Timeout fuer Aktienkurse werden ueber <a href="/apps/boersenchecker/index.php?view=setup">dieses Modul-Setup</a> gepflegt.
|
||||
</div>
|
||||
<div class="muted" style="margin-top:6px;">
|
||||
FX-Provider, API-Key und Waehrungskatalog werden im Modul <a href="/apps/fx-rates">fx-rates</a> gepflegt.
|
||||
@@ -189,7 +189,7 @@
|
||||
<div class="bc-actions">
|
||||
<button class="bc-button bc-button--primary" type="submit">Position speichern</button>
|
||||
<?php if ($editPosition): ?>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung<?= e($ownerQuery) ?>">Abbrechen</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung<?= e($ownerQuery) ?>">Abbrechen</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</form>
|
||||
@@ -237,7 +237,7 @@
|
||||
<td><?= e((string) ($result['currency'] ?? '')) ?></td>
|
||||
<td><?= e((string) ($result['match_score'] ?? '')) ?></td>
|
||||
<td>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&symbol_candidate=<?= urlencode((string) ($result['symbol'] ?? '')) ?>&instrument_name_candidate=<?= urlencode((string) ($result['name'] ?? '')) ?>&isin_candidate=<?= urlencode((string) ($result['isin'] ?? '')) ?>&market_candidate=<?= urlencode((string) ($result['region'] ?? '')) ?>"e_currency_candidate=<?= urlencode((string) ($result['currency'] ?? '')) ?>">
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&symbol_candidate=<?= urlencode((string) ($result['symbol'] ?? '')) ?>&instrument_name_candidate=<?= urlencode((string) ($result['name'] ?? '')) ?>&isin_candidate=<?= urlencode((string) ($result['isin'] ?? '')) ?>&market_candidate=<?= urlencode((string) ($result['region'] ?? '')) ?>"e_currency_candidate=<?= urlencode((string) ($result['currency'] ?? '')) ?>">
|
||||
In Formular uebernehmen
|
||||
</a>
|
||||
</td>
|
||||
@@ -324,7 +324,7 @@
|
||||
<div class="muted"><?= e((string) $portfolio['base_currency']) ?> · <?= e((string) $stats['positions']) ?> Position(en)</div>
|
||||
</div>
|
||||
<div class="bc-actions">
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&edit_portfolio=<?= e((string) $portfolioId) ?>">Bearbeiten</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&edit_portfolio=<?= e((string) $portfolioId) ?>">Bearbeiten</a>
|
||||
<form method="post" onsubmit="return confirm('Depot wirklich loeschen?')">
|
||||
<input type="hidden" name="action" value="delete_portfolio">
|
||||
<input type="hidden" name="owner_sub" value="<?= e((string) $ownerSub) ?>">
|
||||
@@ -425,8 +425,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<div class="bc-actions">
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&edit_position=<?= e((string) $position['id']) ?>">Bearbeiten</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&instrument_id=<?= e((string) $position['instrument_id']) ?>">Kurs erfassen</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&edit_position=<?= e((string) $position['id']) ?>">Bearbeiten</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&instrument_id=<?= e((string) $position['instrument_id']) ?>">Kurs erfassen</a>
|
||||
<form method="post">
|
||||
<input type="hidden" name="action" value="refresh_market_data_position">
|
||||
<input type="hidden" name="owner_sub" value="<?= e((string) $ownerSub) ?>">
|
||||
@@ -469,7 +469,7 @@
|
||||
<?= e((string) ($instrument['symbol'] ?: '-')) ?> · <?= e((string) ($instrument['isin'] ?: '-')) ?>
|
||||
</div>
|
||||
</div>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&instrument_id=<?= e((string) $instrumentId) ?>">Neuen Kurs erfassen</a>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=depotverwaltung&owner_sub=<?= urlencode((string) $ownerSub) ?>&instrument_id=<?= e((string) $instrumentId) ?>">Neuen Kurs erfassen</a>
|
||||
</div>
|
||||
<?php if ($history === []): ?>
|
||||
<div class="muted" style="margin-top:12px;">Noch keine historischen Kurse vorhanden.</div>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bc-toolbar" style="margin-top:16px;">
|
||||
<form class="bc-panel" method="get" action="/apps/boersenchecker">
|
||||
<form class="bc-panel" method="get" action="/apps/boersenchecker/index.php">
|
||||
<input type="hidden" name="view" value="overview">
|
||||
<div class="bc-field-label">Depotauswahl</div>
|
||||
<?php if ($portfolios === []): ?>
|
||||
@@ -44,7 +44,7 @@
|
||||
<?php endif; ?>
|
||||
</form>
|
||||
|
||||
<form class="bc-panel" method="get" action="/apps/boersenchecker">
|
||||
<form class="bc-panel" method="get" action="/apps/boersenchecker/index.php">
|
||||
<input type="hidden" name="view" value="overview">
|
||||
<input type="hidden" name="portfolio_id" value="<?= e((string) $selectedPortfolioId) ?>">
|
||||
<div class="bc-field-label">Aktienauswahl</div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<p>Systemweit vorhandene Aktie aus allen Depots auswaehlen.</p>
|
||||
</div>
|
||||
</div>
|
||||
<form method="get" action="/apps/boersenchecker" style="margin-top:16px;">
|
||||
<form method="get" action="/apps/boersenchecker/index.php" style="margin-top:16px;">
|
||||
<input type="hidden" name="view" value="aktienverwaltung">
|
||||
<label class="setup-field muted">
|
||||
<span>Aktien aller Depots</span>
|
||||
@@ -68,7 +68,7 @@
|
||||
<td><?= e((string) ($result['region'] ?? '')) ?></td>
|
||||
<td><?= e((string) ($result['currency'] ?? '')) ?></td>
|
||||
<td>
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker?view=aktienverwaltung&instrument_id=<?= e((string) $selectedInstrumentId) ?>&symbol_candidate=<?= urlencode((string) ($result['symbol'] ?? '')) ?>&instrument_name_candidate=<?= urlencode((string) ($result['name'] ?? '')) ?>&isin_candidate=<?= urlencode((string) ($result['isin'] ?? '')) ?>&market_candidate=<?= urlencode((string) ($result['region'] ?? '')) ?>"e_currency_candidate=<?= urlencode((string) ($result['currency'] ?? '')) ?>">
|
||||
<a class="bc-button bc-button--secondary" href="/apps/boersenchecker/index.php?view=aktienverwaltung&instrument_id=<?= e((string) $selectedInstrumentId) ?>&symbol_candidate=<?= urlencode((string) ($result['symbol'] ?? '')) ?>&instrument_name_candidate=<?= urlencode((string) ($result['name'] ?? '')) ?>&isin_candidate=<?= urlencode((string) ($result['isin'] ?? '')) ?>&market_candidate=<?= urlencode((string) ($result['region'] ?? '')) ?>"e_currency_candidate=<?= urlencode((string) ($result['currency'] ?? '')) ?>">
|
||||
Uebernehmen
|
||||
</a>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user