{"version":3,"file":"koalarx-ui-core-base.mjs","sources":["../../projects/koala-ui/core/base/http-base.ts","../../projects/koala-ui/core/base/list-base.ts","../../projects/koala-ui/core/base/page-base.ts","../../projects/koala-ui/core/base/koalarx-ui-core-base.ts"],"sourcesContent":["import { HttpClient, httpResource } from '@angular/common/http';\nimport { inject, Injector, Signal } from '@angular/core';\nimport { rxResource } from '@angular/core/rxjs-interop';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { GetManyResult } from '@koalarx/ui/core/models';\nimport { SelectOption } from '@koalarx/ui/shared/components/input-field/select';\nimport { first } from 'rxjs/internal/operators/first';\nimport { map } from 'rxjs/internal/operators/map';\n\nexport interface HttpResourceRequestOptions<EntityType> {\n  debounceTime?: number;\n  endpoint?: string;\n  mapOption?: (\n    item: any\n  ) => Omit<SelectOption<EntityType> | GetManyResult<EntityType>, 'data'>;\n}\n\nexport abstract class HttpBase<\n  EntityType = any,\n  PayloadType = any,\n  QueryType = any\n> {\n  private readonly appConfig = inject(AppConfig);\n  protected readonly injector = inject(Injector);\n  protected readonly http = inject(HttpClient);\n  protected readonly url: string;\n  protected readonly hostApi: string;\n\n  constructor(protected readonly resource: string, hostApi?: string) {\n    this.hostApi = hostApi || this.appConfig.hostApi || '';\n    this.url = `${this.hostApi}/${this.resource}`;\n  }\n\n  post<T>(data: PayloadType, endpoint = '') {\n    return this.http.post<T>(`${this.url}${endpoint}`, data).pipe(first());\n  }\n\n  put<T>(id: string, data: PayloadType) {\n    return this.http.put<T>(`${this.url}/${id}`, data).pipe(first());\n  }\n\n  patch<T>(id: string, data: any) {\n    return this.http.patch<T>(`${this.url}/${id}`, data).pipe(first());\n  }\n\n  delete<T>(id: string) {\n    return this.http.delete<T>(`${this.url}/${id}`).pipe(first());\n  }\n\n  getMany<TResponse = EntityType>(query: QueryType, endpoint = '') {\n    return this.http.get<GetManyResult<TResponse>>(`${this.url}${endpoint}`, {\n      params: query as any,\n    });\n  }\n\n  getById<TResponse = EntityType>(id: string | null) {\n    return this.http.get<TResponse>(`${this.url}/${id}`);\n  }\n\n  getManyWithResource<TResponse = EntityType>(\n    query: Signal<QueryType>,\n    {\n      endpoint = '',\n      mapOption,\n    }: Omit<HttpResourceRequestOptions<TResponse>, 'debounceTime'> = {}\n  ) {\n    return httpResource<GetManyResult<TResponse>>(\n      () => {\n        return {\n          url: `${this.url}${endpoint}`,\n          params: query() as any,\n        };\n      },\n      {\n        parse: mapOption as (data: any) => any,\n      }\n    );\n  }\n\n  getByIdWithResource<TResponse = EntityType>(\n    id: Signal<string | null>,\n    endpoint = ':id',\n    mapResponse?: (response: TResponse) => TResponse\n  ) {\n    return httpResource<TResponse>(\n      () => {\n        const resourceId = id();\n\n        if (!resourceId) {\n          return undefined;\n        }\n\n        return `${this.url}/${endpoint.replace(':id', resourceId)}`;\n      },\n      {\n        parse: mapResponse as (resume: any) => TResponse,\n      }\n    );\n  }\n\n  getByOneWithResource<TResponse = EntityType>(\n    endpoint: Signal<string | null>,\n    params?: Signal<any>,\n    mapResponse?: (response: TResponse) => TResponse\n  ) {\n    return httpResource<TResponse>(\n      () => {\n        const resourceUrl = endpoint();\n\n        if (!resourceUrl) {\n          return undefined;\n        }\n\n        return {\n          url: `${this.url}/${resourceUrl}`,\n          params: params ? params() : undefined,\n        };\n      },\n      {\n        parse: mapResponse as (resume: any) => TResponse,\n      }\n    );\n  }\n\n  getManyForSelector<TResponse = EntityType>(\n    query: QueryType | Signal<QueryType>,\n    mapOption: (item: TResponse) => Omit<SelectOption<TResponse>, 'data'>\n  ) {\n    return rxResource({\n      defaultValue: [],\n      params: () => (query instanceof Function ? query() : query),\n      stream: (data) =>\n        this.getMany<TResponse>(data.params).pipe(\n          map((response) =>\n            response.items.map((item) => ({\n              ...mapOption(item),\n              data: item,\n            }))\n          )\n        ),\n    });\n  }\n}\n","import { HttpResourceRef } from '@angular/common/http';\nimport {\n  computed,\n  Directive,\n  effect,\n  inject,\n  input,\n  linkedSignal,\n  model,\n  signal,\n  Type,\n} from '@angular/core';\nimport {\n  GetManyResult,\n  QueryPagination,\n  SortFilterType,\n} from '@koalarx/ui/core/models';\nimport { DatatableConfig } from '@koalarx/ui/shared/components/datatable';\nimport { HttpBase } from './http-base';\n\ntype PaginationType = 'paginator' | 'loadMore';\n\n@Directive()\nexport abstract class ListBase<\n  QueryType extends QueryPagination,\n  TEntity = any\n> {\n  private reloading = false;\n  private currentPaginationType: PaginationType = 'paginator';\n  protected readonly resourceRef: HttpResourceRef<\n    GetManyResult<TEntity> | undefined\n  >;\n  protected readonly limitPage = signal(30);\n  protected readonly page = signal(1);\n  protected readonly filter = signal<QueryType>({} as any);\n  protected readonly resource: HttpBase<TEntity, any, QueryType>;\n  protected readonly totalItemsOnPage = signal(0);\n  protected readonly totalItems = signal(0);\n  protected readonly list = signal<TEntity[]>([]);\n  protected readonly sortFilter = signal<SortFilterType | null>(null);\n  protected readonly paginationType = model<PaginationType>('paginator');\n  protected readonly withPagination = computed<boolean>(() => {\n    this.currentPaginationType = this.paginationType();\n    return this.currentPaginationType === 'paginator';\n  });\n  protected readonly datatableConfig = linkedSignal(\n    () =>\n      ({\n        currentPage: this.page(),\n        totalItems: this.totalItems(),\n        totalItemsOnPage: this.totalItemsOnPage(),\n        currentPageSize: this.limitPage(),\n        isLoading: this.resourceRef.isLoading(),\n        hasError: !!this.resourceRef.error(),\n      } as DatatableConfig)\n  );\n\n  queryParams = computed<QueryType>(\n    () =>\n      ({\n        page: this.page(),\n        limit: this.limitPage(),\n        ...(this.sortFilter() ?? {}),\n        ...this.filter(),\n      } as QueryType)\n  );\n  reload = input<boolean>(false);\n\n  constructor(\n    // eslint-disable-next-line @angular-eslint/prefer-inject\n    resource: Type<HttpBase<TEntity, any, QueryType>>,\n    // eslint-disable-next-line @angular-eslint/prefer-inject\n    protected readonly componentFilter?: Type<any>\n  ) {\n    this.resource = inject(resource);\n    this.resourceRef = this.resource.getManyWithResource(this.queryParams);\n\n    effect(() => {\n      this.filter();\n      this.page.set(1);\n    });\n\n    effect(() => {\n      const queryParams = this.queryParams();\n\n      if (queryParams.page === 1 && !this.reloading) {\n        this.reloading = true;\n        return;\n      }\n    });\n\n    effect(() => {\n      const withPagination = this.currentPaginationType === 'paginator';\n      const result = this.resourceRef.value();\n\n      if (!withPagination && !this.reloading) {\n        if (result) {\n          this.list.update((current) => [...current, ...result.items]);\n          this.totalItemsOnPage.update(\n            (current) => current + result.items.length\n          );\n          this.totalItems.set(result.count);\n        }\n        this.reloading = false;\n        return;\n      }\n\n      if (!result) {\n        this.list.set([]);\n        this.totalItemsOnPage.set(0);\n        this.totalItems.set(0);\n        this.reloading = false;\n        return;\n      }\n\n      this.list.set(result.items);\n      this.totalItemsOnPage.set(result.items.length);\n      this.totalItems.set(result.count);\n      this.reloading = false;\n    });\n\n    effect(() => {\n      if (this.reload()) {\n        this.reloadList();\n      }\n    });\n  }\n\n  protected sort(sortFilter: SortFilterType) {\n    this.sortFilter.set(sortFilter);\n  }\n\n  protected reloadList() {\n    this.reloading = true;\n    this.list.set([]);\n    this.totalItemsOnPage.set(0);\n    this.totalItems.set(0);\n    this.page.set(1);\n    this.resourceRef.reload();\n  }\n\n  protected loadMore() {\n    this.page.update((current) => current + 1);\n  }\n}\n","import { signal } from '@angular/core';\n\nexport abstract class PageBase {\n  protected reload = signal(false);\n\n  protected reloadList() {\n    this.reload.set(true);\n    setTimeout(() => this.reload.set(false));\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}