Skip to content

Commit

Permalink
fix: number of pages is wrong on two page display (#220)
Browse files Browse the repository at this point in the history
Fixes #219
  • Loading branch information
ronnymikalsen authored and raymondkarstensen committed May 29, 2018
1 parent 677a01d commit 962c74a
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 100 deletions.
178 changes: 86 additions & 92 deletions integration/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@
# yarn lockfile v1


"@angular-devkit/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.6.0.tgz#622a933337c946ef85d646545cc4244272ccb402"
"@angular-devkit/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.6.1.tgz#bcff4143730959b131bdbf0273d86904a988ea88"
dependencies:
"@angular-devkit/core" "0.6.0"
"@angular-devkit/core" "0.6.1"
rxjs "^6.0.0"

"@angular-devkit/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.6.0.tgz#f5757f80fc402458e6b5eae1578bbc2a1af44ebe"
"@angular-devkit/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.6.1.tgz#e59df34271d74436e62086dcf1523e2d22ac7f1b"
dependencies:
"@angular-devkit/architect" "0.6.0"
"@angular-devkit/build-optimizer" "0.6.0"
"@angular-devkit/core" "0.6.0"
"@ngtools/webpack" "6.0.0"
"@angular-devkit/architect" "0.6.1"
"@angular-devkit/build-optimizer" "0.6.1"
"@angular-devkit/core" "0.6.1"
"@ngtools/webpack" "6.0.1"
ajv "~6.4.0"
autoprefixer "^8.1.0"
cache-loader "^1.2.2"
Expand Down Expand Up @@ -65,84 +65,84 @@
webpack-sources "^1.1.0"
webpack-subresource-integrity "^1.1.0-rc.4"

"@angular-devkit/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.6.0.tgz#150a76155b473dea17327a176d18245a2da1c13e"
"@angular-devkit/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.6.1.tgz#517aa0c92911eb6a8d82fcbbefa045e1f897abda"
dependencies:
loader-utils "^1.1.0"
source-map "^0.5.6"
typescript "~2.7.2"
webpack-sources "^1.1.0"

"@angular-devkit/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.6.0.tgz#d1a7275ff0f93de5cf007c4a549d1ebd00776fd0"
"@angular-devkit/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.6.1.tgz#2582871707a19fe3a4b83d9afdffd5422d1debc7"
dependencies:
ajv "~6.4.0"
chokidar "^2.0.3"
rxjs "^6.0.0"
source-map "^0.5.6"

"@angular-devkit/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.6.0.tgz#0117dc7d5905b053df4f2918e2e073efd1091f5c"
"@angular-devkit/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.6.1.tgz#8e94fbd45e24596f1f0a086a70dde88dbc6cf96e"
dependencies:
"@angular-devkit/core" "0.6.0"
"@angular-devkit/core" "0.6.1"
rxjs "^6.0.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-6.0.0.tgz#cfc825dbfdf33bf3bf75962d1e12495aed5e3c32"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-6.0.2.tgz#92063f612c3b33d962eddc9ad538cadd231fbe47"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-6.0.1.tgz#dde0ef5b1b3ce9989136ca1a73af1de404141bfd"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-6.0.2.tgz#65089561f91038ba6d744b9a251998bf99c75097"
dependencies:
tslib "^1.7.1"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-6.0.0.tgz#346b356775ddf8cdb8a9a5095b0663878eca3486"
dependencies:
"@angular-devkit/architect" "0.6.0"
"@angular-devkit/core" "0.6.0"
"@angular-devkit/schematics" "0.6.0"
"@schematics/angular" "0.6.0"
"@schematics/update" "0.6.0"
opn "~5.1.0"
"@angular/[email protected].1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-6.0.1.tgz#52c21451716be51716a413c5367b3f3d003f8447"
dependencies:
"@angular-devkit/architect" "0.6.1"
"@angular-devkit/core" "0.6.1"
"@angular-devkit/schematics" "0.6.1"
"@schematics/angular" "0.6.1"
"@schematics/update" "0.6.1"
opn "~5.3.0"
resolve "^1.1.7"
rxjs "^6.0.0"
semver "^5.1.0"
silent-error "^1.0.0"
symbol-observable "^1.2.0"
yargs-parser "^10.0.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/common/-/common-6.0.0.tgz#ca3b6b6b96837fe048861da897c31991aa04954f"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/common/-/common-6.0.2.tgz#e4cbb7d45d8d2f35e918d62f0cbfd8c87e9168f7"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-6.0.0.tgz#be50277faaa5ac08f3002c2c8cb8c39d220c76d5"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-6.0.2.tgz#439b2b7241063ef9b86cf2e11b64620a377b695d"
dependencies:
chokidar "^1.4.2"
minimist "^1.2.0"
reflect-metadata "^0.1.2"
tsickle "^0.27.2"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-6.0.0.tgz#9092a0f02f33dd1108276ab93cc48142e36a1e95"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-6.0.2.tgz#b9d29b7e032c767179967540f1ed7f8777a615a1"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-6.0.0.tgz#785cc8a37b7fb784a6b7dcbd0984abb4f10e5dfe"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-6.0.2.tgz#d183730d73182a4590a5d71083db45655f210e69"
dependencies:
tslib "^1.9.0"

Expand All @@ -152,73 +152,73 @@
dependencies:
tslib "^1.7.1"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-6.0.0.tgz#436e2df39dc57db124da5a5c02bc63909fdf7046"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-6.0.2.tgz#a0647930e8b6e7fbd48f55eb69b399a41bcd091a"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/http/-/http-6.0.0.tgz#f409e35cd2f4990b43a37beab915ffdcd9c7c992"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/http/-/http-6.0.2.tgz#bd0db5b296c45ab314ef38208a40a39f82557e82"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-6.0.0.tgz#85bf577fd7f45eff13128d4f5f0125078d610aec"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-6.0.2.tgz#8f1ed45a7880f7133de88f0a1e09ae64f024c0b9"

"@angular/[email protected].1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@angular/material/-/material-6.0.1.tgz#17558dba6b9372df6cae1d248d2360c9570dc44a"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/material/-/material-6.0.2.tgz#bd4b84d764c3c488856243e9dc05ab14ce3310d7"
dependencies:
tslib "^1.7.1"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.0.tgz#66a34b65136446cb3ec39362fd6d2dbb5482ba70"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.2.tgz#755689df9f02bbcb270c7872a75a2ffe7e0b0c33"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-6.0.0.tgz#848b687ea46786483fddcdbbbd17b29c7adcc768"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-6.0.2.tgz#19f56f6efbd0e7af5f35fe2f8cde3557dc8ba689"
dependencies:
tslib "^1.9.0"

"@angular/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@angular/router/-/router-6.0.0.tgz#09a5c6f6220084c3575df81e8b36cbe9fff10d1f"
"@angular/[email protected].2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@angular/router/-/router-6.0.2.tgz#a7c925751accede6c5b4a8369170a53f3a48b940"
dependencies:
tslib "^1.9.0"

"@nationallibraryofnorway/ngx-mime@../dist/ngx-mime":
version "6.0.0-rc.1"
version "6.0.4"
dependencies:
tslib "^1.9.0"

"@ngtools/[email protected].0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-6.0.0.tgz#e160cccd85823e9b01ee7bc5156a02510a323a34"
"@ngtools/[email protected].1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-6.0.1.tgz#1a3eee13f7319a5c2b758ae461c386e1b6c80645"
dependencies:
"@angular-devkit/core" "0.6.0"
"@angular-devkit/core" "0.6.1"
tree-kill "^1.0.0"
webpack-sources "^1.1.0"

"@schematics/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.6.0.tgz#d7589c50f80ef089f7fba526ed9becefb187b6a2"
"@schematics/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.6.1.tgz#912495d248b95fcd20a04609e48cf2a4516b2071"
dependencies:
"@angular-devkit/core" "0.6.0"
"@angular-devkit/schematics" "0.6.0"
"@angular-devkit/core" "0.6.1"
"@angular-devkit/schematics" "0.6.1"
typescript ">=2.6.2 <2.8"

"@schematics/[email protected].0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.6.0.tgz#1a5f75a5a02de85cc4b4bd4fa68dd53ddc95ba30"
"@schematics/[email protected].1":
version "0.6.1"
resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.6.1.tgz#047ae51df9d80827d56e2f88b662b7c109cb0988"
dependencies:
"@angular-devkit/core" "0.6.0"
"@angular-devkit/schematics" "0.6.0"
"@angular-devkit/core" "0.6.1"
"@angular-devkit/schematics" "0.6.1"
npm-registry-client "^8.5.1"
rxjs "^6.0.0"
semver "^5.3.0"
Expand Down Expand Up @@ -5527,18 +5527,12 @@ [email protected]:
version "2.3.1"
resolved "https://registry.yarnpkg.com/openseadragon/-/openseadragon-2.3.1.tgz#efdcfee19d8b3c46d00d7f7dda787c7057f68364"

opn@^5.1.0, opn@^5.2.0:
opn@^5.1.0, opn@^5.2.0, opn@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c"
dependencies:
is-wsl "^1.1.0"

opn@~5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519"
dependencies:
is-wsl "^1.1.0"

optimist@^0.6.1, optimist@~0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
Expand Down
17 changes: 12 additions & 5 deletions src/lib/src/core/canvas-service/canvas-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,20 @@ export class CanvasService {
protected _currentNumberOfCanvasGroups: BehaviorSubject<number> = new BehaviorSubject(0);
protected _currentCanvasGroupIndex: BehaviorSubject<number> = new BehaviorSubject(0);

private canvasGroups: CanvasGroups = new CanvasGroups();
protected canvasGroups: CanvasGroups = new CanvasGroups();
protected _numberOfCanvases = 0;

constructor() {}

addAll(canvasRects: Rect[], layout: ViewerLayout) {
this.numberOfCanvases = canvasRects.length;
const canvasGroupStrategy = CanvasGroupStrategyFactory.create(layout);
this.canvasGroups = canvasGroupStrategy.addAll(canvasRects);
this._currentNumberOfCanvasGroups.next(this.canvasGroups.length());
}

reset() {
this.numberOfCanvases = 0;
this._currentCanvasGroupIndex.next(0);
this.canvasGroups = new CanvasGroups();
}
Expand All @@ -47,12 +50,16 @@ export class CanvasService {
return this._currentCanvasGroupIndex.value;
}

get numberOfCanvasGroups(): number {
return this.canvasGroups.length();
get numberOfCanvases(): number {
return this._numberOfCanvases;
}

get numberOfCanvases(): number {
return !this.canvasGroups.canvasGroupRects ? 0 : this.canvasGroups.canvasGroupRects.length;
set numberOfCanvases(numberOfCanvases: number) {
this._numberOfCanvases = numberOfCanvases;
}

get numberOfCanvasGroups(): number {
return this.canvasGroups.length();
}

get currentCanvasIndex(): number {
Expand Down
7 changes: 4 additions & 3 deletions src/lib/src/core/viewer-service/viewer.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -571,9 +571,6 @@ export class ViewerService {
});

canvasRects.push(position);
const layout =
this.viewerLayoutService.layout === ViewerLayout.ONE_PAGE || !this.isManifestPaged ? ViewerLayout.ONE_PAGE : ViewerLayout.TWO_PAGE;
this.canvasService.addAll(canvasRects, layout);

let tileSource: any;
if (tile.service.service) {
Expand Down Expand Up @@ -620,6 +617,10 @@ export class ViewerService {
const currentOverlayNode: SVGRectElement = currentOverlay.node();
this.overlays[i] = currentOverlayNode;
});

const layout =
this.viewerLayoutService.layout === ViewerLayout.ONE_PAGE || !this.isManifestPaged ? ViewerLayout.ONE_PAGE : ViewerLayout.TWO_PAGE;
this.canvasService.addAll(canvasRects, layout);
}

/**
Expand Down
4 changes: 4 additions & 0 deletions src/lib/src/test/canvas-service-stub.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ export class CanvasServiceStub extends CanvasService {
return this._currentNumberOfCanvasGroups.value;
}

set numberOfCanvases(numberOfCanvases: number) {
this._numberOfCanvases = numberOfCanvases;
}

getCanvasGroupLabel(index: number): string {
return '' + index;
}
Expand Down

0 comments on commit 962c74a

Please sign in to comment.