sdfsdf
This commit is contained in:
@@ -78,7 +78,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const entryRoute = String(options?.entryRoute || '/apps/boersenchecker');
|
const entryRoute = String(options?.entryRoute || '/apps/boersenchecker/index.php');
|
||||||
const defaultView = String(options?.defaultView || 'overview');
|
const defaultView = String(options?.defaultView || 'overview');
|
||||||
|
|
||||||
const state = {
|
const state = {
|
||||||
@@ -100,7 +100,19 @@
|
|||||||
host.innerHTML = html;
|
host.innerHTML = html;
|
||||||
enhanceHost(host, this);
|
enhanceHost(host, this);
|
||||||
if (typeof window.initBoersencheckerCharts === 'function') {
|
if (typeof window.initBoersencheckerCharts === 'function') {
|
||||||
|
try {
|
||||||
window.initBoersencheckerCharts(host);
|
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) {
|
renderError(error) {
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
"description": "Depotverwaltung fuer Aktien, Kaufdaten, Kursverlauf und Waehrungsumrechnung.",
|
"description": "Depotverwaltung fuer Aktien, Kaufdaten, Kursverlauf und Waehrungsumrechnung.",
|
||||||
"actions": [
|
"actions": [
|
||||||
{ "label": "Desktop", "href": "/" },
|
{ "label": "Desktop", "href": "/" },
|
||||||
{ "label": "Setup", "href": "/apps/boersenchecker?view=setup" }
|
{ "label": "Setup", "href": "/apps/boersenchecker/index.php?view=setup" }
|
||||||
],
|
],
|
||||||
"tabs": [
|
"tabs": [
|
||||||
{ "label": "Ueberblick", "href": "/apps/boersenchecker?view=overview", "view": "overview" },
|
{ "label": "Ueberblick", "href": "/apps/boersenchecker/index.php?view=overview", "view": "overview" },
|
||||||
{ "label": "Depotverwaltung", "href": "/apps/boersenchecker?view=depotverwaltung", "view": "depotverwaltung" },
|
{ "label": "Depotverwaltung", "href": "/apps/boersenchecker/index.php?view=depotverwaltung", "view": "depotverwaltung" },
|
||||||
{ "label": "Aktienverwaltung", "href": "/apps/boersenchecker?view=aktienverwaltung", "view": "aktienverwaltung" },
|
{ "label": "Aktienverwaltung", "href": "/apps/boersenchecker/index.php?view=aktienverwaltung", "view": "aktienverwaltung" },
|
||||||
{ "label": "Setup", "href": "/apps/boersenchecker?view=setup", "view": "setup" }
|
{ "label": "Setup", "href": "/apps/boersenchecker/index.php?view=setup", "view": "setup" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ return [
|
|||||||
'app_id' => 'boersenchecker',
|
'app_id' => 'boersenchecker',
|
||||||
'title' => (string) ($manifest['title'] ?? 'Börsenchecker'),
|
'title' => (string) ($manifest['title'] ?? 'Börsenchecker'),
|
||||||
'icon' => 'BC',
|
'icon' => 'BC',
|
||||||
'entry_route' => '/apps/boersenchecker',
|
'entry_route' => '/apps/boersenchecker/index.php',
|
||||||
'window_mode' => 'window',
|
'window_mode' => 'window',
|
||||||
'content_mode' => 'native-module',
|
'content_mode' => 'native-module',
|
||||||
'default_width' => 1220,
|
'default_width' => 1220,
|
||||||
@@ -25,7 +25,7 @@ return [
|
|||||||
'native_module' => [
|
'native_module' => [
|
||||||
'initializer' => 'initBoersencheckerApp',
|
'initializer' => 'initBoersencheckerApp',
|
||||||
'options' => [
|
'options' => [
|
||||||
'entryRoute' => '/apps/boersenchecker',
|
'entryRoute' => '/apps/boersenchecker/index.php',
|
||||||
'defaultView' => 'overview',
|
'defaultView' => 'overview',
|
||||||
],
|
],
|
||||||
'assets' => [
|
'assets' => [
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<p>Depots anderer Benutzer sind nur fuer `appadmin` sichtbar und bearbeitbar.</p>
|
<p>Depots anderer Benutzer sind nur fuer `appadmin` sichtbar und bearbeitbar.</p>
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<input type="hidden" name="view" value="depotverwaltung">
|
||||||
<label class="setup-field muted" style="margin:0; min-width:260px;">
|
<label class="setup-field muted" style="margin:0; min-width:260px;">
|
||||||
<span>Depots von Benutzer</span>
|
<span>Depots von Benutzer</span>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<div class="bc-actions">
|
<div class="bc-actions">
|
||||||
<button class="bc-button bc-button--primary" type="submit">Depot speichern</button>
|
<button class="bc-button bc-button--primary" type="submit">Depot speichern</button>
|
||||||
<?php if ($editPortfolio): ?>
|
<?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; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
Alpha Vantage Mindestabstand: <?= e((string) $marketDataMinIntervalMinutes) ?> Min.
|
Alpha Vantage Mindestabstand: <?= e((string) $marketDataMinIntervalMinutes) ?> Min.
|
||||||
</div>
|
</div>
|
||||||
<div class="muted" style="margin-top:6px;">
|
<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>
|
||||||
<div class="muted" style="margin-top:6px;">
|
<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.
|
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">
|
<div class="bc-actions">
|
||||||
<button class="bc-button bc-button--primary" type="submit">Position speichern</button>
|
<button class="bc-button bc-button--primary" type="submit">Position speichern</button>
|
||||||
<?php if ($editPosition): ?>
|
<?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; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
<td><?= e((string) ($result['currency'] ?? '')) ?></td>
|
<td><?= e((string) ($result['currency'] ?? '')) ?></td>
|
||||||
<td><?= e((string) ($result['match_score'] ?? '')) ?></td>
|
<td><?= e((string) ($result['match_score'] ?? '')) ?></td>
|
||||||
<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
|
In Formular uebernehmen
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
@@ -324,7 +324,7 @@
|
|||||||
<div class="muted"><?= e((string) $portfolio['base_currency']) ?> · <?= e((string) $stats['positions']) ?> Position(en)</div>
|
<div class="muted"><?= e((string) $portfolio['base_currency']) ?> · <?= e((string) $stats['positions']) ?> Position(en)</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bc-actions">
|
<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?')">
|
<form method="post" onsubmit="return confirm('Depot wirklich loeschen?')">
|
||||||
<input type="hidden" name="action" value="delete_portfolio">
|
<input type="hidden" name="action" value="delete_portfolio">
|
||||||
<input type="hidden" name="owner_sub" value="<?= e((string) $ownerSub) ?>">
|
<input type="hidden" name="owner_sub" value="<?= e((string) $ownerSub) ?>">
|
||||||
@@ -425,8 +425,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="bc-actions">
|
<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/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?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) ?>&instrument_id=<?= e((string) $position['instrument_id']) ?>">Kurs erfassen</a>
|
||||||
<form method="post">
|
<form method="post">
|
||||||
<input type="hidden" name="action" value="refresh_market_data_position">
|
<input type="hidden" name="action" value="refresh_market_data_position">
|
||||||
<input type="hidden" name="owner_sub" value="<?= e((string) $ownerSub) ?>">
|
<input type="hidden" name="owner_sub" value="<?= e((string) $ownerSub) ?>">
|
||||||
@@ -469,7 +469,7 @@
|
|||||||
<?= e((string) ($instrument['symbol'] ?: '-')) ?> · <?= e((string) ($instrument['isin'] ?: '-')) ?>
|
<?= e((string) ($instrument['symbol'] ?: '-')) ?> · <?= e((string) ($instrument['isin'] ?: '-')) ?>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</div>
|
||||||
<?php if ($history === []): ?>
|
<?php if ($history === []): ?>
|
||||||
<div class="muted" style="margin-top:12px;">Noch keine historischen Kurse vorhanden.</div>
|
<div class="muted" style="margin-top:12px;">Noch keine historischen Kurse vorhanden.</div>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bc-toolbar" style="margin-top:16px;">
|
<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">
|
<input type="hidden" name="view" value="overview">
|
||||||
<div class="bc-field-label">Depotauswahl</div>
|
<div class="bc-field-label">Depotauswahl</div>
|
||||||
<?php if ($portfolios === []): ?>
|
<?php if ($portfolios === []): ?>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</form>
|
</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="view" value="overview">
|
||||||
<input type="hidden" name="portfolio_id" value="<?= e((string) $selectedPortfolioId) ?>">
|
<input type="hidden" name="portfolio_id" value="<?= e((string) $selectedPortfolioId) ?>">
|
||||||
<div class="bc-field-label">Aktienauswahl</div>
|
<div class="bc-field-label">Aktienauswahl</div>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<p>Systemweit vorhandene Aktie aus allen Depots auswaehlen.</p>
|
<p>Systemweit vorhandene Aktie aus allen Depots auswaehlen.</p>
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<input type="hidden" name="view" value="aktienverwaltung">
|
||||||
<label class="setup-field muted">
|
<label class="setup-field muted">
|
||||||
<span>Aktien aller Depots</span>
|
<span>Aktien aller Depots</span>
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
<td><?= e((string) ($result['region'] ?? '')) ?></td>
|
<td><?= e((string) ($result['region'] ?? '')) ?></td>
|
||||||
<td><?= e((string) ($result['currency'] ?? '')) ?></td>
|
<td><?= e((string) ($result['currency'] ?? '')) ?></td>
|
||||||
<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
|
Uebernehmen
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
Reference in New Issue
Block a user