Skip to content

Commit

Permalink
Merge branch 'dev/create_data_views' into 'master'
Browse files Browse the repository at this point in the history
Dev/create data views

See merge request klawr/walter!77
  • Loading branch information
klawr committed Aug 23, 2023
2 parents 1917da7 + d93c1f7 commit af43550
Show file tree
Hide file tree
Showing 24 changed files with 661 additions and 16 deletions.
5 changes: 5 additions & 0 deletions Deeplex.Saverwalter.WebAPI/svelte/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
"vitest:ui": "vitest --coverage --ui"
},
"devDependencies": {
"@carbon/charts-svelte": "^1.11.21",
"@carbon/styles": "^1.36.0",
"@sveltejs/adapter-auto": "^2.1.0",
"@sveltejs/adapter-static": "^2.0.2",
"@sveltejs/kit": "^1.0.0-next.587",
Expand All @@ -26,6 +28,9 @@
"@vitest/ui": "^0.33.0",
"carbon-components-svelte": "^0.77.0",
"carbon-icons-svelte": "^12.0.0",
"d3": "^7.8.5",
"d3-cloud": "^1.2.7",
"d3-sankey": "^0.12.3",
"eslint": "^8.28.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-svelte3": "^4.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
WalterAbrechnungNotes,
WalterAbrechnungResultat,
WalterMieten,
WalterAbrechnungNebenkosten,
} from '$walter/components';
import { convertDateCanadian, convertDateGerman, convertEuro } from '$walter/services/utils';
import type { WalterBetriebskostenabrechnungEntry } from '$walter/types';
import { Accordion, Column, Loading, Row, TextInput, Tile } from 'carbon-components-svelte';
import WalterAbrechnungNebenkosten from './WalterAbrechnungNebenkosten.svelte';
import type { WalterMieteEntry } from '$walter/lib';
import WalterData from '../data/WalterData.svelte';
export let abrechnung: WalterBetriebskostenabrechnungEntry;
export let title: string | undefined;
Expand Down Expand Up @@ -61,7 +62,7 @@
<WalterAbrechnungNotes {abrechnung}/>
{/if}
</Row>

<Row>
<TextInput
placeholder="Nutzungsbeginn"
Expand All @@ -78,6 +79,7 @@
</Row>

<Accordion>
<WalterData {abrechnung} />
<WalterMieten
entry={mietEntry}
title="Gezahlte Mieten ({abrechnung.gezahltMiete}€)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
import { convertM2 } from '$walter/services/utils';
import type { WalterAbrechnungseinheit } from '$walter/types';
import type { WalterZeitraum } from '$walter/types/WalterBetriebskostenabrechnung.type';
import {
WalterAbrechnungEinheitHead,
WalterAbrechnungEinheitPart,
WalterAbrechnungEinheitVerbrauch
} from '$walter/components'
import {
Row,
StructuredList,
Expand All @@ -11,9 +16,6 @@
StructuredListRow,
Tile
} from 'carbon-components-svelte';
import WalterAbrechnungEinheitPart from './WalterAbrechnungEinheitPart.svelte';
import WalterAbrechnungEinheitHead from './WalterAbrechnungEinheitHead.svelte';
import WalterAbrechnungEinheitVerbrauch from './WalterAbrechnungEinheitVerbrauch.svelte';
export let einheit: WalterAbrechnungseinheit;
export let zeitraum: WalterZeitraum;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<script lang="ts">
import type { WalterBetriebskostenabrechnungEntry } from "$walter/types";
import { Accordion, AccordionItem, ExpandableTile, Row } from "carbon-components-svelte";
import WalterRechnungAenderung from "./WalterRechnungAenderung.svelte";
import WalterRechnungAenderung2 from "./WalterRechnungAenderung2.svelte";
import WalterRechnungVerteilung from "./WalterRechnungVerteilung.svelte";
export let abrechnung: WalterBetriebskostenabrechnungEntry;
</script>

<AccordionItem title="Übersicht">
<WalterRechnungVerteilung {abrechnung} />
<WalterRechnungAenderung {abrechnung}/>
<WalterRechnungAenderung2 {abrechnung}/>
</AccordionItem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<script lang="ts">
import '@carbon/styles/css/styles.css'
import '@carbon/charts-svelte/styles.css'
import { BarChartSimple } from '@carbon/charts-svelte'
import type { WalterBetriebskostenabrechnungEntry, WalterRechnungEntry } from '$walter/types';
import { convertToData } from './WalterRechnungAenderung';
export let abrechnung: WalterBetriebskostenabrechnungEntry;
const rechnungen = abrechnung.abrechnungseinheiten.flatMap(einheit => einheit.rechnungen);
const data = convertToData(rechnungen);
const options = {
legend: { enabled: false },
title: 'Änderung der Rechnungen',
height: '400px',
axes: {
bottom: { mapsTo: 'value', title: 'Betrag' },
left: { mapsTo: 'group', scaleType: 'labels', title: 'Rechnung' }
}
} as any; // TODO scaleType is not correct
</script>

<BarChartSimple {data} {options} />
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import type { WalterRechnungEntry } from '$walter/types';

export function convertToData(rechnungen: WalterRechnungEntry[]) {
return rechnungen.map((e) => ({
...e,
group: e.typ,
value: [e.betragLetztesJahr, e.gesamtBetrag]
}));
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<script lang="ts">
import '@carbon/styles/css/styles.css'
import '@carbon/charts-svelte/styles.css'
import { BarChartSimple } from '@carbon/charts-svelte'
import type { WalterBetriebskostenabrechnungEntry, WalterRechnungEntry } from '$walter/types';
import { convertToData } from './WalterRechnungAenderung2';
export let abrechnung: WalterBetriebskostenabrechnungEntry;
const rechnungen = abrechnung.abrechnungseinheiten.flatMap(einheit => einheit.rechnungen);
const data = convertToData(rechnungen);
const options = {
legend: { enabled: false },
title: 'Änderung der Rechnungen',
height: '400px',
axes: {
bottom: { mapsTo: 'value', title: 'Betrag' },
left: { mapsTo: 'group', scaleType: 'labels', title: 'Rechnung' }
}
} as any; // TODO scaleType is not correct
</script>

<BarChartSimple {data} {options} />
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import type { WalterRechnungEntry } from '$walter/types';

export function convertToData(rechnungen: WalterRechnungEntry[]) {
return rechnungen.map((e) => ({
...e,
group: e.typ,
value: e.gesamtBetrag - e.betragLetztesJahr
}));
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<script lang="ts">
import '@carbon/styles/css/styles.css'
import '@carbon/charts-svelte/styles.css'
import { PieChart } from '@carbon/charts-svelte'
import type { WalterBetriebskostenabrechnungEntry } from '$walter/types';
import { convertToData } from './WalterRechnungVerteilung';
export let abrechnung: WalterBetriebskostenabrechnungEntry;
const rechnungen = abrechnung.abrechnungseinheiten.flatMap(einheit => einheit.rechnungen);
const data = convertToData(rechnungen);
const options = {
legend: { enabled: false },
title: 'Rechnungen',
height: '400px',
};
</script>

<PieChart {data} {options} />
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import type { WalterRechnungEntry } from '$walter/types';

export function convertToData(rechnungen: WalterRechnungEntry[]) {
return rechnungen.map((e) => ({
group: e.typ,
value: e.gesamtBetrag
}));
}
19 changes: 12 additions & 7 deletions Deeplex.Saverwalter.WebAPI/svelte/src/components/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
export { default as WalterAbrechnung } from './abrechnung/WalterAbrechnung.svelte';
export { default as WalterAbrechnungGruppe } from './abrechnung/WalterAbrechnungGruppe.svelte';
export { default as WalterAbrechnungEinheitKalt } from './abrechnung/WalterAbrechnungEinheitKalt.svelte';
export { default as WalterAbrechnungEinheitWarm } from './abrechnung/WalterAbrechnungEinheitWarm.svelte';
export { default as WalterAbrechnungResultat } from './abrechnung/WalterAbrechnungResultat.svelte';
export { default as WalterAbrechnungNebenkosten } from './abrechnung/WalterAbrechnungNebenkosten.svelte';
export { default as WalterAbrechnungNotes } from './abrechnung/WalterAbrechnungNotes.svelte';
export { default as WalterAbrechnungHeizkosten } from './abrechnung/WalterAbrechnungHeizkosten.svelte';
export { default as WalterAbrechnungEinheitPart } from './abrechnung/WalterAbrechnungEinheitPart.svelte';
export { default as WalterAbrechnungEinheitHead } from './abrechnung/WalterAbrechnungEinheitHead.svelte';
export { default as WalterAbrechnungEinheitVerbrauch } from './abrechnung/WalterAbrechnungEinheitVerbrauch.svelte';

export { default as WalterAnhaenge } from './subdetails/WalterAnhaenge.svelte';
export { default as WalterAnhaengeEntry } from './subdetails/WalterAnhaengeEntry.svelte';
export { default as WalterPerson } from './subdetails/WalterPerson.svelte';
export { default as WalterAbrechnung } from './subdetails/WalterAbrechnung.svelte';
export { default as WalterAbrechnungGruppe } from './subdetails/WalterAbrechnungGruppe.svelte';
export { default as WalterAbrechnungEinheitKalt } from './subdetails/WalterAbrechnungEinheitKalt.svelte';
export { default as WalterAbrechnungEinheitWarm } from './subdetails/WalterAbrechnungEinheitWarm.svelte';
export { default as WalterAbrechnungResultat } from './subdetails/WalterAbrechnungResultat.svelte';
export { default as WalterAbrechnungNotes } from './subdetails/WalterAbrechnungNotes.svelte';
export { default as WalterAbrechnungHeizkosten } from './subdetails/WalterAbrechnungHeizkosten.svelte';
export { default as WalterLinks } from './subdetails/WalterLinks.svelte';
export { default as WalterLinkTile } from './subdetails/WalterLinkTile.svelte';
export { default as WalterLink } from './subdetails/WalterLink.svelte';
Expand Down
4 changes: 3 additions & 1 deletion Deeplex.Saverwalter.WebAPI/svelte/svelte.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ const config = {
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: vitePreprocess(),

ssr: {
noExternal: process.env.NODE_ENV === 'production' ? ['@carbon/charts'] : []
},
kit: {
adapter: adapter({
fallback: 'index.html',
Expand Down
Loading

0 comments on commit af43550

Please sign in to comment.