bugfixing
This commit is contained in:
parent
3dd2276996
commit
a20bd27438
@ -2,7 +2,6 @@
|
|||||||
import { abbreviateNumber } from "$lib/utils";
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
export let data;
|
export let data;
|
||||||
export let fields;
|
export let fields;
|
||||||
export let filterRule = null;
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#each fields as { label, key }}
|
{#each fields as { label, key }}
|
||||||
@ -14,15 +13,9 @@
|
|||||||
</td>
|
</td>
|
||||||
{#each data as item}
|
{#each data as item}
|
||||||
<td class="text-sm sm:text-[1rem] text-end">
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
{#if filterRule === "annual"}
|
|
||||||
{item[key] !== null && item[key] !== 0
|
|
||||||
? abbreviateNumber((item[key] / 4).toFixed(2))
|
|
||||||
: "-"}
|
|
||||||
{:else}
|
|
||||||
{item[key] !== null && item[key] !== 0
|
{item[key] !== null && item[key] !== 0
|
||||||
? abbreviateNumber(item[key]?.toFixed(2))
|
? abbreviateNumber(item[key]?.toFixed(2))
|
||||||
: "-"}
|
: "-"}
|
||||||
{/if}
|
|
||||||
</td>
|
</td>
|
||||||
{/each}
|
{/each}
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -15,7 +15,6 @@
|
|||||||
import { LineChart, BarChart } from "echarts/charts";
|
import { LineChart, BarChart } from "echarts/charts";
|
||||||
import { GridComponent, TooltipComponent } from "echarts/components";
|
import { GridComponent, TooltipComponent } from "echarts/components";
|
||||||
import { CanvasRenderer } from "echarts/renderers";
|
import { CanvasRenderer } from "echarts/renderers";
|
||||||
import FinancialTable from "$lib/components/FinancialTable.svelte";
|
|
||||||
|
|
||||||
use([LineChart, BarChart, GridComponent, TooltipComponent, CanvasRenderer]);
|
use([LineChart, BarChart, GridComponent, TooltipComponent, CanvasRenderer]);
|
||||||
|
|
||||||
@ -134,11 +133,6 @@
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const fields = statementConfig.map((item) => ({
|
|
||||||
label: item.label,
|
|
||||||
key: item.propertyName,
|
|
||||||
}));
|
|
||||||
|
|
||||||
function toggleMode() {
|
function toggleMode() {
|
||||||
$coolMode = !$coolMode;
|
$coolMode = !$coolMode;
|
||||||
}
|
}
|
||||||
@ -738,7 +732,246 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<FinancialTable data={ratios} {fields} {filterRule} />
|
<tr class="text-white odd:bg-[#27272A] whitespace-nowrap">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>PE Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.priceEarningsRatio / 4)?.toFixed(2)
|
||||||
|
: item?.priceEarningsRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>PS Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.priceToSalesRatio / 4)?.toFixed(2)
|
||||||
|
: item?.priceToSalesRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<!-- row -->
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>PB Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.priceToBookRatio / 4)?.toFixed(2)
|
||||||
|
: item?.priceToBookRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A] whitespace-nowrap">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>P/FCF Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.priceToFreeCashFlowsRatio / 4)?.toFixed(
|
||||||
|
2,
|
||||||
|
)
|
||||||
|
: item?.priceToFreeCashFlowsRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>P/OCF Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (
|
||||||
|
item?.priceToOperatingCashFlowsRatio / 4
|
||||||
|
)?.toFixed(2)
|
||||||
|
: item?.priceToOperatingCashFlowsRatio?.toFixed(
|
||||||
|
2,
|
||||||
|
)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>OCF/S Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (
|
||||||
|
item?.operatingCashFlowSalesRatio / 4
|
||||||
|
)?.toFixed(2)
|
||||||
|
: item?.operatingCashFlowSalesRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start whitespace-nowrap border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Debt / Equity Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.debtEquityRatio / 4)?.toFixed(2)
|
||||||
|
: item?.debtEquityRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<!-- row -->
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Quick Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.quickRatio / 4)?.toFixed(2)
|
||||||
|
: item?.quickRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<!-- row -->
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Current Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.currentRatio / 4)?.toFixed(2)
|
||||||
|
: item?.currentRatio?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
|
>Asset Turnover</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{item?.assetTurnover?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Interest Coverage</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? (item?.interestCoverage / 4)?.toFixed(2)
|
||||||
|
: item?.interestCoverage?.toFixed(2)}
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<!-- row -->
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Return on Equity (ROE)</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{(item?.returnOnEquity * 100)?.toFixed(2)}%
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start whitespace-nowrap border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Return on Assets (ROA)</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end"
|
||||||
|
>{(item?.returnOnAssets * 100)?.toFixed(2)}%</td
|
||||||
|
>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Return on Capital (ROIC)</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{(item?.returnOnCapitalEmployed * 100)?.toFixed(
|
||||||
|
2,
|
||||||
|
)}%</td
|
||||||
|
>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Dividend Yield</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{(item?.dividendYield * 100)?.toFixed(2)}%</td
|
||||||
|
>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Payout Ratio</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? ((item?.payoutRatio / 4) * 100)?.toFixed(2)
|
||||||
|
: (item?.payoutRatio * 100)?.toFixed(2)}%
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Gross Profit Margin</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? ((item?.grossProfitMargin / 4) * 100)?.toFixed(
|
||||||
|
2,
|
||||||
|
)
|
||||||
|
: (item?.grossProfitMargin * 100)?.toFixed(2)}%
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
|
<tr class="text-white odd:bg-[#27272A]">
|
||||||
|
<td
|
||||||
|
class="text-start border-r border-gray-700 text-sm sm:text-[1rem]"
|
||||||
|
>Net Profit Margin</td
|
||||||
|
>
|
||||||
|
{#each ratios as item}
|
||||||
|
<td class="text-sm sm:text-[1rem] text-end">
|
||||||
|
{filterRule === "annual"
|
||||||
|
? ((item?.netProfitMargin / 4) * 100)?.toFixed(2)
|
||||||
|
: (item?.netProfitMargin * 100)?.toFixed(2)}%
|
||||||
|
</td>
|
||||||
|
{/each}
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user