feat: Refactor select components to use IPaginatedResponse and streamline data fetching

- Updated select components for bank accounts, bank branches, customers, inventories, product brands, product categories, products, and suppliers to extend AbstractSelectComponent with IPaginatedResponse.
- Replaced getData() method with getDataService() to return observables directly from service calls.
- Enhanced filters component to set default inventory and product selections.
- Modified inventory component to conditionally render columns based on variant type.
- Introduced InventoryStore for managing inventory state and fetching single inventory details.
- Added empty state messages in cardex and other components for better user experience.
- Updated inner pages header to use h4 for titles and improved layout in empty state component.
This commit is contained in:
2025-12-28 17:51:54 +03:30
parent 879e29f54f
commit 2583bc7ad5
26 changed files with 308 additions and 170 deletions
@@ -1,12 +1,12 @@
<div class="flex flex-col items-center justify-center py-12 text-center bg-surface-overlay">
<div class="block text-center py-12 bg-surface-overlay">
<ng-container>
<i [class]="icon + '!text-6xl mb-4 text-surface-500'" aria-hidden="true"></i>
</ng-container>
<span class="text-xl font-semibold mb-2 text-surface-500">{{ title }}</span>
<span class="text-xl font-semibold mb-2 text-surface-500 block">{{ title }}</span>
@if (description) {
<p class="text-surface-500 inline-block">{{ description }}</p>
}
<ng-content select="[cta]" #cta class="mt-4"></ng-content>
<ng-content select="[cta]" #cta class="mt-4 block"></ng-content>
@if (!hasCtaContent && ctaLabel && showCTA) {
<p-button class="mt-2" size="small" (click)="ctaClick.emit()">
{{ ctaLabel }}