Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 99b3e01406b8d34fe844748fd0fa06a16c15042d
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 17:21:42 2020 -0500

    [Issue #168] A lot of cleanup of Typescript files.

commit 8b28b87ac107878b3d9a4e5a760d32ee4c50ab96
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 17:16:44 2020 -0500

    [Issue #168] Use predefined constant value for query.

commit aa7edadd2939e1df6dabf5947f0ea1b02aeb5adf
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 17:13:28 2020 -0500

    [Issue #168] Remove "-comics" from OPDS endpoint.

commit 2c13ffaf6d50ea26d48be7e567e5d527ff121c23
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 17:07:44 2020 -0500

    [Issue #168] Extract constants for command line arguments.

commit c971f279e9f3263cea0c3f2fd9ae7af1b028b2f4
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 17:06:53 2020 -0500

    [Issue #168] Refactor Library reducer to use lodash for comparisons.

commit 9fb12320289fc7353b601276fe77bdd475650667
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 17:00:02 2020 -0500

    [Issue #168] Add test code to PageTypeRepository.

commit be760e78d50e0c330fdf6b5c12ad33d1da517a83
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 16:49:41 2020 -0500

    [Issue #168] Close streams after use.

commit 5952dfd36864746371f388291c7509bfa9784bcd
Author: Darryl L. Pierce <mcpierce@gmail.com>
Date:   Sun Mar 1 16:42:27 2020 -0500

    [Issue #168] Remove logger instance variable since it's provided by parent class.
  • Loading branch information
mcpierce committed Jun 21, 2020
1 parent 1e6602e commit bbc0a38
Show file tree
Hide file tree
Showing 48 changed files with 270 additions and 289 deletions.
2 changes: 0 additions & 2 deletions comixed-frontend/src/app/app.component.spec.ts
Expand Up @@ -26,7 +26,6 @@ import { Store, StoreModule } from '@ngrx/store';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { BreadcrumbAdaptor } from 'app/adaptors/breadcrumb.adaptor';
import { AppComponent } from 'app/app.component';
import { COMIC_1, COMIC_3, COMIC_5 } from 'app/comics/comics.fixtures';
import { LoginComponent } from 'app/components/login/login.component';
import { MainMenuComponent } from 'app/components/main-menu/main-menu.component';
import { LibraryAdaptor } from 'app/library';
Expand All @@ -52,7 +51,6 @@ import {
import { ToastModule } from 'primeng/toast';

describe('AppComponent', () => {
const COMICS = [COMIC_1, COMIC_3, COMIC_5];
const USER = USER_READER;

let component: AppComponent;
Expand Down
2 changes: 1 addition & 1 deletion comixed-frontend/src/app/app.functions.ts
Expand Up @@ -21,7 +21,7 @@ import * as _ from 'lodash';
export const API_ROOT_URL = '/api';

export function interpolate(template: string, values: any = {}): string {
const vals = _.merge(values, { API_ROOT_URL: API_ROOT_URL });
_.merge(values, { API_ROOT_URL: API_ROOT_URL });
_.templateSettings.interpolate = /\${([\s\S]+?)}/g;
const compiled = _.template(template);
const result = compiled(values);
Expand Down
Expand Up @@ -18,20 +18,20 @@

import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { Action } from '@ngrx/store';
import { TranslateService } from '@ngx-translate/core';
import { BuildDetails } from 'app/backend-status/models/build-details';
import { BuildDetailsService } from 'app/backend-status/services/build-details.service';
import { MessageService } from 'primeng/api';
import { Observable, of } from 'rxjs';

import { catchError, concatMap, map, switchMap } from 'rxjs/operators';
import { EMPTY, Observable, of } from 'rxjs';
import { catchError, map, switchMap } from 'rxjs/operators';
import {
BuildDetailsActionTypes,
BuildDetailsActions,
BuildDetailsReceive,
BuildDetailsGetFailed
BuildDetailsActionTypes,
BuildDetailsGetFailed,
BuildDetailsReceive
} from '../actions/build-details.actions';
import { Action } from '@ngrx/store';
import { BuildDetailsService } from 'app/backend-status/services/build-details.service';
import { BuildDetails } from 'app/backend-status/models/build-details';
import { MessageService } from 'primeng/api';
import { TranslateService } from '@ngx-translate/core';

@Injectable()
export class BuildDetailsEffects {
Expand Down
Expand Up @@ -17,13 +17,12 @@
*/

import { Component, OnDestroy, OnInit } from '@angular/core';
import { Title } from '@angular/platform-browser';
import { TranslateService } from '@ngx-translate/core';
import { BreadcrumbAdaptor } from 'app/adaptors/breadcrumb.adaptor';
import { BuildDetailsAdaptor } from 'app/backend-status/adaptors/build-details.adaptor';
import { Subscription } from 'rxjs';
import { BuildDetails } from 'app/backend-status/models/build-details';
import { formatDate } from '@angular/common';
import { BreadcrumbAdaptor } from 'app/adaptors/breadcrumb.adaptor';
import { TranslateService } from '@ngx-translate/core';
import { Title } from '@angular/platform-browser';
import { Subscription } from 'rxjs';

@Component({
selector: 'app-build-details-page',
Expand Down
Expand Up @@ -16,17 +16,10 @@
* along with this program. If not, see <http:/www.gnu.org/licenses>
*/

import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { TestBed } from '@angular/core/testing';
import { provideMockActions } from '@ngrx/effects/testing';
import { Observable, of, throwError } from 'rxjs';

import { ComicImportEffects } from './comic-import.effects';
import { ComicImportService } from 'app/comic-import/services/comic-import.service';
import { MessageService } from 'primeng/api';
import {
COMIC_FILE_1,
COMIC_FILE_3
} from 'app/comic-import/models/comic-file.fixtures';
import { TranslateModule } from '@ngx-translate/core';
import {
ComicImportFilesReceived,
ComicImportGetFiles,
Expand All @@ -35,10 +28,17 @@ import {
ComicImportStarted,
ComicImportStartFailed
} from 'app/comic-import/actions/comic-import.actions';
import {
COMIC_FILE_1,
COMIC_FILE_3
} from 'app/comic-import/models/comic-file.fixtures';
import { ComicImportService } from 'app/comic-import/services/comic-import.service';
import { hot } from 'jasmine-marbles';
import { MessageService } from 'primeng/api';
import { Observable, of, throwError } from 'rxjs';

import { ComicImportEffects } from './comic-import.effects';
import objectContaining = jasmine.objectContaining;
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';

describe('ComicImportEffects', () => {
const DIRECTORY = '/Users/comixedreader/Library';
Expand Down
Expand Up @@ -18,22 +18,22 @@

import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { Action } from '@ngrx/store';
import { TranslateService } from '@ngx-translate/core';
import { ComicFile } from 'app/comic-import/models/comic-file';
import { ComicImportService } from 'app/comic-import/services/comic-import.service';
import { MessageService } from 'primeng/api';
import { Observable, of } from 'rxjs';

import { catchError, concatMap, map, switchMap, tap } from 'rxjs/operators';
import { EMPTY, Observable, of } from 'rxjs';
import { catchError, map, switchMap, tap } from 'rxjs/operators';
import {
ComicImportActionTypes,
ComicImportActions,
ComicImportActionTypes,
ComicImportFilesReceived,
ComicImportGetFilesFailed,
ComicImportStarted,
ComicImportStartFailed
} from '../actions/comic-import.actions';
import { TranslateService } from '@ngx-translate/core';
import { ComicImportService } from 'app/comic-import/services/comic-import.service';
import { MessageService } from 'primeng/api';
import { Action } from '@ngrx/store';
import { ComicFile } from 'app/comic-import/models/comic-file';

@Injectable()
export class ComicImportEffects {
Expand Down
13 changes: 6 additions & 7 deletions comixed-frontend/src/app/comics/actions/comic.actions.ts
Expand Up @@ -18,7 +18,6 @@

import { Action } from '@ngrx/store';
import { Comic, ComicFormat, Page, PageType, ScanType } from 'app/comics';
import { Actions } from '@ngrx/effects';

export enum ComicActionTypes {
GetScanTypes = '[COMIC] Get the set of scan types',
Expand All @@ -40,16 +39,16 @@ export enum ComicActionTypes {
PageHashBlockingSet = '[COMIC] The blocking state is set for a page hash',
SetPageHashBlockingFailed = '[COMIC] Failed to set the block state for a page hash',
SaveComic = '[COMIC] Save changes to a comic',
ComicSaved = '[COMIC] Changes to a comic were saved',
SaveComicSucceeded = '[COMIC] Changes to a comic were saved',
SaveComicFailed = '[COMIC] Failed to save changes to a comic',
ClearMetadata = '[COMIC] Clear the metadata from a comic',
MetadataCleared = '[COMIC] The metadata was cleared',
ClearMetadataFailed = '[COMIC] Failed to clear the metadata from a comic',
DeleteComic = '[COMIC] Delete a comic from the library',
ComicDeleted = '[COMIC] Comic deleted from the library',
DeleteComicSucceeded = '[COMIC] Comic deleted from the library',
DeleteComicFailed = '[COMIC] Failed to delete comic from the library',
RestoreComic = '[COMIC] Unmark a comic for deletion',
ComicRestored = '[COMIC] Comic unmarked for deletion',
RestoreComicSucceeded = '[COMIC] Comic unmarked for deletion',
RestoreComicFailed = '[COMIC] Failed to unmark a comic for deletion'
}

Expand Down Expand Up @@ -168,7 +167,7 @@ export class ComicSave implements Action {
}

export class ComicSaved implements Action {
readonly type = ComicActionTypes.ComicSaved;
readonly type = ComicActionTypes.SaveComicSucceeded;

constructor(public payload: { comic: Comic }) {}
}
Expand Down Expand Up @@ -204,7 +203,7 @@ export class ComicDelete implements Action {
}

export class ComicDeleted implements Action {
readonly type = ComicActionTypes.ComicDeleted;
readonly type = ComicActionTypes.DeleteComicSucceeded;

constructor(public payload: { comic: Comic }) {}
}
Expand All @@ -222,7 +221,7 @@ export class ComicRestore implements Action {
}

export class ComicRestored implements Action {
readonly type = ComicActionTypes.ComicRestored;
readonly type = ComicActionTypes.RestoreComicSucceeded;

constructor(public payload: { comic: Comic }) {}
}
Expand Down
Expand Up @@ -64,8 +64,6 @@ describe('ComicAdaptor', () => {
const SCAN_TYPES = [SCAN_TYPE_1, SCAN_TYPE_3, SCAN_TYPE_5];
const FORMATS = [FORMAT_1, FORMAT_3, FORMAT_5];
const COMIC = COMIC_1;
const API_KEY = 'ABCDEF0123456789';
const ISSUE_ID = 44147;
const SKIP_CACHE = false;

let adaptor: ComicAdaptor;
Expand Down
Expand Up @@ -55,9 +55,9 @@ import {
reducer,
SCRAPING_FEATURE_KEY
} from 'app/comics/reducers/scraping.reducer';
import { LoggerTestingModule } from 'ngx-logger/testing';
import { MessageService } from 'primeng/api';
import { ScrapingAdaptor } from './scraping.adaptor';
import { LoggerTestingModule } from 'ngx-logger/testing';

describe('ScrapingAdaptor', () => {
const COMICS = [COMIC_1, COMIC_2, COMIC_3, COMIC_4];
Expand All @@ -74,7 +74,6 @@ describe('ScrapingAdaptor', () => {
SCRAPING_VOLUME_1005
];
const SCRAPING_VOLUME = SCRAPING_VOLUME_1003;
const ISSUES = [SCRAPING_ISSUE_1000];
const ISSUE = SCRAPING_ISSUE_1000;

let adaptor: ScrapingAdaptor;
Expand Down
Expand Up @@ -4,7 +4,8 @@
[class.selected-comic]='selectSelectedClass && selected'>
<p-card [styleClass]='"comic-cover-card"'>
<p-header></p-header>
<img [src]='coverUrl'
<img alt='comic cover'
[src]='coverUrl'
[style.width]='useSameHeight ? "auto" : coverSize + "px"'
[style.height]='useSameHeight ? coverSize + "px" : "auto"'
(click)='clicked()'
Expand Down
Expand Up @@ -35,7 +35,6 @@ import { DuplicatePage } from 'app/library/models/duplicate-page';
import { ContextMenuAdaptor } from 'app/user-experience/adaptors/context-menu.adaptor';
import { NGXLogger } from 'ngx-logger';
import { ConfirmationService } from 'primeng/api';
import { ContextMenu } from 'primeng/contextmenu';
import { Subscription } from 'rxjs';

@Component({
Expand Down
Expand Up @@ -17,7 +17,6 @@
*/

import { Component, Input, OnInit } from '@angular/core';
import { ComicCollectionEntry } from 'app/library/models/comic-collection-entry';

@Component({
selector: 'app-comic-grouping-card',
Expand Down
Expand Up @@ -16,41 +16,33 @@
* along with this program. If not, see <http://www.gnu.org/licenses>
*/

import { HttpClientTestingModule } from '@angular/common/http/testing';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { RouterTestingModule } from '@angular/router/testing';
import { TranslateModule } from '@ngx-translate/core';
import { Store, StoreModule } from '@ngrx/store';
import { AppState } from 'app/library';
import { InplaceModule } from 'primeng/inplace';
import { DropdownModule } from 'primeng/dropdown';
import { ComicOverviewComponent } from './comic-overview.component';
import { Confirmation, ConfirmationService, MessageService } from 'primeng/api';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { EffectsModule } from '@ngrx/effects';
import { Store, StoreModule } from '@ngrx/store';
import { TranslateModule } from '@ngx-translate/core';
import { ComicAdaptor } from 'app/comics/adaptors/comic.adaptor';
import { COMIC_FEATURE_KEY, reducer } from 'app/comics/reducers/comic.reducer';
import { ComicEffects } from 'app/comics/effects/comic.effects';
import { TooltipModule } from 'primeng/primeng';
import {
COMIC_1,
COMIC_5,
FORMAT_1,
FORMAT_2,
FORMAT_3,
FORMAT_5,
SCAN_TYPE_1,
SCAN_TYPE_2,
SCAN_TYPE_3,
SCAN_TYPE_4,
SCAN_TYPE_5
} from 'app/comics/comics.fixtures';
import { ComicEffects } from 'app/comics/effects/comic.effects';
import { COMIC_FEATURE_KEY, reducer } from 'app/comics/reducers/comic.reducer';
import { AppState } from 'app/library';
import { LoggerTestingModule } from 'ngx-logger/testing';
import { Confirmation, ConfirmationService, MessageService } from 'primeng/api';
import { DropdownModule } from 'primeng/dropdown';
import { InplaceModule } from 'primeng/inplace';
import { TooltipModule } from 'primeng/primeng';
import { ComicOverviewComponent } from './comic-overview.component';

describe('ComicOverviewComponent', () => {
const SCAN_TYPES = [SCAN_TYPE_1, SCAN_TYPE_2, SCAN_TYPE_3, SCAN_TYPE_4];
const COMIC_FORMATS = [FORMAT_1, FORMAT_2, FORMAT_3];

let component: ComicOverviewComponent;
let fixture: ComponentFixture<ComicOverviewComponent>;
let store: Store<AppState>;
Expand Down Expand Up @@ -159,21 +151,19 @@ describe('ComicOverviewComponent', () => {

it('can clean the comic metadata', () => {
spyOn(comicAdaptor, 'clearMetadata');
spyOn(
confirmationService,
'confirm'
).and.callFake((confirm: Confirmation) => confirm.accept());
spyOn(confirmationService, 'confirm').and.callFake(
(confirm: Confirmation) => confirm.accept()
);
component.comic = COMIC_1;
component.clearMetadata();
expect(comicAdaptor.clearMetadata).toHaveBeenCalledWith(COMIC_1);
});

it('can delete a comic', () => {
spyOn(comicAdaptor, 'deleteComic');
spyOn(
confirmationService,
'confirm'
).and.callFake((confirm: Confirmation) => confirm.accept());
spyOn(confirmationService, 'confirm').and.callFake(
(confirm: Confirmation) => confirm.accept()
);
component.comic = COMIC_1;
component.deleteComic();
expect(comicAdaptor.deleteComic).toHaveBeenCalledWith(COMIC_1);
Expand Down
Expand Up @@ -14,25 +14,26 @@
pTemplate='listItem'>
<div class='ui-g'>
<div class='ui-g-2 ui-sm-6'>
<img src='{{ page | comicPageUrl }}'
<img alt='comic cover'
src='{{ page | comicPageUrl }}'
[style.height]='"auto"'
[style.width]='"100%"'/>
</div>
<div class='ui-g-10 ui-sm-6'>
<div class='ui-g'>
<div class='ui-g-2 ui-sm-6'>
<b>{{ "comic-pages.label.filename" | translate }}</b>
<strong>{{ "comic-pages.label.filename" | translate }}</strong>
</div>
<div class='ui-g-10 ui-sm-6'>{{ page.filename }}</div>
<div class='ui-g-2 ui-sm-6'>
<b>{{ "comic-pages.label.dimensions" | translate }}</b>
<strong>{{ "comic-pages.label.dimensions" | translate }}</strong>
</div>
<div class='ui-g-10 ui-sm-6'>
{{ page.width }} x {{ page.height }}
</div>
<div *ngIf='page.deleted'
class='ui-g-12 ui-sm-12'>
<i>{{ "comic-pages.text.marked-for-deletion" | translate }} </i>
<em>{{ "comic-pages.text.marked-for-deletion" | translate }} </em>
</div>
<div *ngIf='is_admin && page_type_options?.length'
class='ui-g-12 ui-sm-12'>
Expand All @@ -56,15 +57,16 @@
</div>
<div *ngIf='page.blocked'
class='ui-g-12 ui-sm-12'>
<i>{{ "comic-pages.text.page-is-blocked" | translate }} </i>
<em>{{ "comic-pages.text.page-is-blocked" | translate }} </em>
</div>
</div>
</div>
</div>
</ng-template>
<ng-template let-page
pTemplate='gridItem'>
<p-card><img src='{{ page | comicPageUrl }}'
<p-card><img alt='comic page'
src='{{ page | comicPageUrl }}'
[style.height]='"" + image_size + "px"'
[style.width]='"auto"'/>
<p-footer>
Expand Down

0 comments on commit bbc0a38

Please sign in to comment.