UNPKG

tablor-core

Version:

Core features for data tables, grids, and advanced search, pagination, and sorting in Angular.

115 lines (114 loc) 6.19 kB
import { FieldsUpdatedPayload, ProcessedField, ProcessedFields, RegularField, RegularFields } from '../stores/fields-store/interfaces'; import { AugmentedItem, AugmentedHalfItem, PartialItem, Item, ItemsUpdatedPayload, ItemsRemovedPayload, ItemsAddedPayload, ImmutableAugmentedItem, ImmutableAugmentedPartialRegularItem, ImmutablePartialRegularItem, ImmutableRegularItem, StoreLoadingStateChangedPayload, PrimitiveTypes, DynamicImmutableAugmentedItem, AugItemMetaData } from '../stores/items-store/interfaces'; import { SortingOptionsChangedPayload, ItemsSortedPayload, SortedItemsChangedPayload, ImmutableProcessedSortingOption, DraftSortingOptions, ProcessedSortingOptions } from '../sorter/interfaces'; import { DraftSearchableOptions, ItemsSearchedPayload, ProcessedSearchableOptions, SearchedItemsChangedPayload, SearchOptionsChangedPayload, DraftDateRangeSearchOptions, ProcessedDateTimeRangeSearchOptions, DraftCustomSearchOptions, ProcessedCustomSearchOptions, DraftVoidSearchOptions, ProcessedVoidSearchOptions, DraftStringQuerySearchOptions, ProcessedStringQuerySearchOptions, DraftNumberRangeSearchOptions, ProcessedNumberRangeSearchOptions, DraftExactValueSearchOptions, ProcessedExactValueSearchOptions } from '../searcher/searcher/interfaces'; import { NbOfItemsPerPageChangedPayload, NbOfTotalPagesChangedPayload, PageNbChangedPayload, PaginatedItemsChangedPayload } from '../paginator/interfaces'; import { ItemsSelectionChangedPayload } from '../selector/interfaces'; /** * **TablorCoreTypes** * * A comprehensive type definition that aggregates all public types provided by the TablorCore library. * * This type serves as a single entry point for accessing various types used throughout the library, * making it easier for developers to manage their imports and avoid code clutter. * * --- * * **Purpose**: * - Consolidates all public types into a single structure. * - Simplifies type management by reducing the need for multiple imports. * - Promotes cleaner and more maintainable code. * * --- * * **Key Features**: * - Includes definitions for core elements like `Field`, `AugmentedItem`, `SortingOptionsChangedPayload`, and more. * - Provides full support for generic typing, ensuring flexibility and adaptability. * - Enhances developer experience by standardizing type access. * * --- * * **Example Usage**: * ```TypeScript * import { TablorCoreTypes as TcT } from 'tablor-core'; * * type User = { * name: string; * age: number; * email: string; * } * * const tablor = new TcT<User>(); * const fields: TcT<User>['Fields'] = tablor.getFields(); * ``` * * --- * * **Get Started**: * - **GitHub Repository**: [TablorCore on GitHub](https://github.com/TIPUzee/tablor-core) * Explore the repository for documentation, examples, and contribution guidelines. * - **NPM Package**: Search for `tablor-core` on [npmjs.com](https://www.npmjs.com/) * to install and integrate this library into your projects. * * --- * * **Developed by**: Zeeshan Nadeem * **GitHub**: [TIPUzee](https://github.com/TIPUzee) * **License**: Apache-2.0 * * --- * * **Open Source Contribution**: * Developers are encouraged to contribute, enhance functionality, and share ideas. * Submit pull requests, raise issues, or provide feedback on GitHub to make this library better for the community. */ export type TablorCoreTypes<T extends Item<T>, K extends keyof T = keyof T> = { FieldsUpdatedPayload: FieldsUpdatedPayload<T>; ProcessedField: ProcessedField<T, K>; ProcessedFields: ProcessedFields<T>; RegularField: RegularField<T>; RegularFields: RegularFields<T>; AugmentedItem: AugmentedItem<T>; AugmentedHalfItem: AugmentedHalfItem<T>; PartialItem: PartialItem<T>; Item: Item<T>; ItemsUpdatedPayload: ItemsUpdatedPayload<T>; ItemsRemovedPayload: ItemsRemovedPayload<T>; ItemsAddedPayload: ItemsAddedPayload<T>; ImmutableAugmentedItem: ImmutableAugmentedItem<T>; ImmutableAugmentedPartialRegularItem: ImmutableAugmentedPartialRegularItem<T>; ImmutablePartialRegularItem: ImmutablePartialRegularItem<T>; ImmutableRegularItem: ImmutableRegularItem<T>; StoreLoadingStateChangedPayload: StoreLoadingStateChangedPayload<T>; PrimitiveTypes: PrimitiveTypes; DynamicImmutableAugmentedItem: DynamicImmutableAugmentedItem; AugItemMetaData: AugItemMetaData; SortingOptionsChangedPayload: SortingOptionsChangedPayload<T>; ItemsSortedPayload: ItemsSortedPayload<T>; SortedItemsChangedPayload: SortedItemsChangedPayload<T>; ImmutableProcessedSortingOption: ImmutableProcessedSortingOption<T, K>; DraftSortingOption: DraftSortingOptions<T, K>; ProcessedSortingOption: ProcessedSortingOptions<T, K>; DraftSearchableOptions: DraftSearchableOptions<T>; ItemsSearchedPayload: ItemsSearchedPayload<T>; ProcessedSearchableOptions: ProcessedSearchableOptions<T>; SearchedItemsChangedPayload: SearchedItemsChangedPayload<T>; SearchOptionsChangedPayload: SearchOptionsChangedPayload<T>; DraftDateRangeSearchOptions: DraftDateRangeSearchOptions<T>; ProcessedDateTimeRangeSearchOptions: ProcessedDateTimeRangeSearchOptions<T>; DraftCustomSearchOptions: DraftCustomSearchOptions<T>; ProcessedCustomSearchOptions: ProcessedCustomSearchOptions<T>; DraftVoidSearchOptions: DraftVoidSearchOptions<T>; ProcessedVoidSearchOptions: ProcessedVoidSearchOptions<T>; DraftStringQuerySearchOptions: DraftStringQuerySearchOptions<T>; ProcessedStringQuerySearchOptions: ProcessedStringQuerySearchOptions<T>; DraftNumberRangeSearchOptions: DraftNumberRangeSearchOptions<T>; ProcessedNumberRangeSearchOptions: ProcessedNumberRangeSearchOptions<T>; DraftExactValueSearchOptions: DraftExactValueSearchOptions<T>; ProcessedExactValueSearchOptions: ProcessedExactValueSearchOptions<T>; NbOfItemsPerPageChangedPayload: NbOfItemsPerPageChangedPayload<T>; NbOfTotalPagesChangedPayload: NbOfTotalPagesChangedPayload<T>; PageNbChangedPayload: PageNbChangedPayload<T>; PaginatedItemsChangedPayload: PaginatedItemsChangedPayload<T>; ItemsSelectionChangedPayload: ItemsSelectionChangedPayload<T>; };