refactor(playlists): move refresh action to ui boundary

This commit is contained in:
4gray committed 2026-05-22 11:27:04 +03:00
1 parent 45eba8e685
commit 820fbef121
11 files changed
+22 -21

No files matched your search

+1
View File
@@ -4,3 +4,4 @@ export * from './lib/playlist-switcher/playlist-switcher.component';
export * from './lib/recent-playlists/playlist-info/playlist-info.component';
export * from './lib/recent-playlists/recent-playlists.component';
export * from './lib/recent-playlists/empty-state/empty-state.component';
export * from './lib/playlist-refresh-action.service';
@@ -7,12 +7,13 @@ import { TranslateService } from '@ngx-translate/core';
import { DialogService } from '@iptvnator/ui/components';
import {
DatabaseService,
DbOperationEvent,
PlaybackPositionService,
PlaylistRefreshService,
} from '@iptvnator/services';
import { ChannelActions, PlaylistActions } from '@iptvnator/m3u-state';
import { Playlist, PlaylistMeta } from '@iptvnator/shared/interfaces';
import { PlaylistContextFacade } from './playlist-context.facade';
import { PlaylistContextFacade } from '@iptvnator/playlist/shared/util';
import { PlaylistRefreshActionService } from './playlist-refresh-action.service';
function createDeferred<T>() {
@@ -343,7 +344,7 @@ describe('PlaylistRefreshActionService', () => {
_playlistId: string,
options?: {
operationId?: string;
onEvent?: (event: any) => void;
onEvent?: (event: DbOperationEvent) => void;
}
) => {
options?.onEvent?.({
@@ -14,7 +14,7 @@ import {
} from '@iptvnator/services';
import { ChannelActions, PlaylistActions } from '@iptvnator/m3u-state';
import { PlaylistMeta } from '@iptvnator/shared/interfaces';
import { PlaylistContextFacade } from './playlist-context.facade';
import { PlaylistContextFacade } from '@iptvnator/playlist/shared/util';
export interface XtreamRefreshPreparationState {
playlistId: string;
@@ -12,16 +12,14 @@ import { Store } from '@ngrx/store';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { TranslateModule } from '@ngx-translate/core';
import { PlaylistActions } from '@iptvnator/m3u-state';
import {
PlaylistContextFacade,
PlaylistRefreshActionService,
} from '@iptvnator/playlist/shared/util';
import { PlaylistContextFacade } from '@iptvnator/playlist/shared/util';
import { DialogService } from '@iptvnator/ui/components';
import {
PlaylistDeleteActionService,
PortalStatusService,
} from '@iptvnator/services';
import { PlaylistMeta } from '@iptvnator/shared/interfaces';
import { PlaylistRefreshActionService } from '../playlist-refresh-action.service';
import { PlaylistSwitcherComponent } from './playlist-switcher.component';
const SEARCH_QUERY_STORAGE_KEY = 'playlist-switcher:search-query';
@@ -27,10 +27,7 @@ import { normalizeDateLocale } from '@iptvnator/pipes';
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
import { DialogService } from '@iptvnator/ui/components';
import { PlaylistActions } from '@iptvnator/m3u-state';
import {
PlaylistContextFacade,
PlaylistRefreshActionService,
} from '@iptvnator/playlist/shared/util';
import { PlaylistContextFacade } from '@iptvnator/playlist/shared/util';
import {
PlaylistDeleteActionService,
PortalStatus,
@@ -38,6 +35,7 @@ import {
} from '@iptvnator/services';
import { PlaylistMeta } from '@iptvnator/shared/interfaces';
import { startWith } from 'rxjs';
import { PlaylistRefreshActionService } from '../playlist-refresh-action.service';
import { PlaylistInfoComponent } from '../recent-playlists/playlist-info/playlist-info.component';
type PlaylistFilterType = 'm3u' | 'stalker' | 'xtream';
+1 -1
View File
@@ -4,7 +4,7 @@
"sourceRoot": "libs/playlist/shared/util/src",
"prefix": "lib",
"projectType": "library",
"tags": ["scope:playlist", "domain:m3u", "type:util"],
"tags": ["scope:playlist", "domain:m3u", "type:data-access"],
"targets": {
"test": {
"executor": "@nx/jest:jest",
-1
View File
@@ -1,4 +1,3 @@
export * from './lib/playlist-player-actions';
export * from './lib/playlist-context.facade';
export * from './lib/playlist-file-import.service';
export * from './lib/playlist-refresh-action.service';
@@ -21,8 +21,8 @@ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
import {
EmptyStateComponent,
PlaylistInfoComponent,
PlaylistRefreshActionService,
} from '@iptvnator/playlist/shared/ui';
import { PlaylistRefreshActionService } from '@iptvnator/playlist/shared/util';
import {
WORKSPACE_SHELL_ACTIONS,
WorkspacePlaylistType,
@@ -2,7 +2,7 @@ import { computed, inject, Injectable } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { TranslateService } from '@ngx-translate/core';
import { startWith } from 'rxjs';
import { PlaylistRefreshActionService } from '@iptvnator/playlist/shared/util';
import { PlaylistRefreshActionService } from '@iptvnator/playlist/shared/ui';
import { XtreamStore } from '@iptvnator/portal/xtream/data-access';
import type { XtreamImportPhaseTone } from './helpers/workspace-shell-constants';
import {
@@ -6,10 +6,10 @@ import { Store } from '@ngrx/store';
import { TranslateService } from '@ngx-translate/core';
import { of } from 'rxjs';
import {
PlaylistContextFacade,
PlaylistRefreshActionService,
type XtreamRefreshPreparationState,
} from '@iptvnator/playlist/shared/util';
} from '@iptvnator/playlist/shared/ui';
import { PlaylistContextFacade } from '@iptvnator/playlist/shared/util';
import {
PORTAL_EXTERNAL_PLAYBACK,
WorkspaceHeaderContextService,
@@ -12,11 +12,11 @@ import { NavigationEnd, Router } from '@angular/router';
import { Store } from '@ngrx/store';
import { TranslateService } from '@ngx-translate/core';
import { filter, firstValueFrom, startWith } from 'rxjs';
import { PlaylistInfoComponent } from '@iptvnator/playlist/shared/ui';
import {
PlaylistContextFacade,
PlaylistInfoComponent,
PlaylistRefreshActionService,
} from '@iptvnator/playlist/shared/util';
} from '@iptvnator/playlist/shared/ui';
import { PlaylistContextFacade } from '@iptvnator/playlist/shared/util';
import {
buildPortalRailLinks,
PORTAL_EXTERNAL_PLAYBACK,
@@ -33,7 +33,11 @@ import {
WorkspaceSearchCapability,
WorkspaceStartupPreferencesService,
} from '@iptvnator/workspace/shell/util';
import { DownloadsService, PlaylistsService, SettingsStore } from '@iptvnator/services';
import {
DownloadsService,
PlaylistsService,
SettingsStore,
} from '@iptvnator/services';
import { PlaylistActions, selectAllPlaylistsMeta } from '@iptvnator/m3u-state';
import { PlaylistMeta } from '@iptvnator/shared/interfaces';
import {