speechrecorderng 2.18.9 → 2.18.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/bundles/speechrecorderng.umd.js +145 -153
  2. package/bundles/speechrecorderng.umd.js.map +1 -1
  3. package/esm2015/lib/audio/audio_display.js +4 -4
  4. package/esm2015/lib/audio/audio_player.js +4 -4
  5. package/esm2015/lib/audio/capture/capture.js +1 -15
  6. package/esm2015/lib/audio/format.js +1 -1
  7. package/esm2015/lib/audio/impl/wavformat.js +1 -1
  8. package/esm2015/lib/audio/ui/audio_canvas_layer_comp.js +7 -7
  9. package/esm2015/lib/audio/ui/audio_display_control.js +4 -4
  10. package/esm2015/lib/audio/ui/audio_display_scroll_pane.js +4 -4
  11. package/esm2015/lib/audio/ui/audiosignal.js +4 -4
  12. package/esm2015/lib/audio/ui/container.js +4 -4
  13. package/esm2015/lib/audio/ui/livelevel.js +4 -4
  14. package/esm2015/lib/audio/ui/scroll_pane_horizontal.js +12 -12
  15. package/esm2015/lib/audio/ui/sonagram.js +4 -4
  16. package/esm2015/lib/dsp/utils.js +1 -1
  17. package/esm2015/lib/io/BinaryWriter.js +1 -1
  18. package/esm2015/lib/math/complex.js +1 -1
  19. package/esm2015/lib/math/dft.js +1 -1
  20. package/esm2015/lib/math/utils.js +1 -1
  21. package/esm2015/lib/speechrecorder/project/project.service.js +4 -4
  22. package/esm2015/lib/speechrecorder/recordings/recordings.service.js +4 -4
  23. package/esm2015/lib/speechrecorder/script/script.service.js +4 -4
  24. package/esm2015/lib/speechrecorder/session/controlpanel.js +37 -29
  25. package/esm2015/lib/speechrecorder/session/progress.js +4 -4
  26. package/esm2015/lib/speechrecorder/session/prompting.js +16 -16
  27. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-meta.component.js +4 -4
  28. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-navi.component.js +4 -4
  29. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.js +4 -4
  30. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-view.component.js +4 -4
  31. package/esm2015/lib/speechrecorder/session/recordingfile/recordingfile-service.js +4 -4
  32. package/esm2015/lib/speechrecorder/session/session.service.js +4 -4
  33. package/esm2015/lib/speechrecorder/session/session_finished_dialog.js +4 -4
  34. package/esm2015/lib/speechrecorder/session/sessionmanager.js +8 -8
  35. package/esm2015/lib/speechrecorder/session/warning_bar.js +4 -4
  36. package/esm2015/lib/speechrecorder/spruploader.js +4 -4
  37. package/esm2015/lib/speechrecorder/startstopsignal/startstopsignal.js +1 -1
  38. package/esm2015/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.js +4 -4
  39. package/esm2015/lib/speechrecorderng.component.js +4 -4
  40. package/esm2015/lib/speechrecorderng.module.js +5 -5
  41. package/esm2015/lib/spr.config.js +4 -4
  42. package/esm2015/lib/spr.module.version.js +2 -2
  43. package/esm2015/lib/ui/canvas_layer_comp.js +4 -4
  44. package/esm2015/lib/ui/livelevel_display.js +4 -4
  45. package/esm2015/lib/ui/message_dialog.js +4 -4
  46. package/esm2015/lib/utils/css_utils.js +1 -1
  47. package/esm2015/lib/utils/scrollIntoViewToBottom.js +4 -4
  48. package/fesm2015/speechrecorderng.js +164 -170
  49. package/fesm2015/speechrecorderng.js.map +1 -1
  50. package/lib/audio/capture/capture.d.ts +2 -2
  51. package/lib/speechrecorder/session/controlpanel.d.ts +4 -2
  52. package/lib/spr.module.version.d.ts +1 -1
  53. package/package.json +13 -13
@@ -552,24 +552,10 @@ class AudioCapture {
552
552
  // AudioWorker is now AudioWorkletProcessor ... (May 2017)
553
553
  // Update 12-2020:
554
554
  // The ScriptProcessorNode Interface - DEPRECATED
555
- // TODO
556
- if (this.context.createAudioWorker) {
557
- //console.debug("Audio worker implemented!!")
558
- }
559
- else {
560
- //console.debug("Audio worker NOT implemented.")
561
- }
562
- if (this.context.registerProcessor) {
563
- //console.debug("Audio worklet processor implemented!!");
564
- }
565
- else {
566
- //console.debug("Audio worklet processor NOT implemented.")
567
- }
568
555
  if (!this.context.createScriptProcessor) {
569
556
  //console.debug("Audio script processor NOT implemented.")
570
557
  }
571
558
  else {
572
- //TODO
573
559
  // The ScriptProcessorNode Interface - DEPRECATED
574
560
  //console.debug("Audio script processor implemented!!");
575
561
  // TODO should we use streamChannelCount or channelCount here ?
@@ -1324,9 +1310,9 @@ class SpeechRecorderConfig {
1324
1310
  this.withCredentials = false;
1325
1311
  }
1326
1312
  }
1327
- SpeechRecorderConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechRecorderConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1328
- SpeechRecorderConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechRecorderConfig });
1329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechRecorderConfig, decorators: [{
1313
+ SpeechRecorderConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechRecorderConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1314
+ SpeechRecorderConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechRecorderConfig });
1315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechRecorderConfig, decorators: [{
1330
1316
  type: Injectable
1331
1317
  }], ctorParameters: function () { return []; } });
1332
1318
 
@@ -1378,9 +1364,9 @@ class ProjectService {
1378
1364
  }
1379
1365
  }
1380
1366
  ProjectService.PROJECT_API_CTX = 'project';
1381
- ProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ProjectService, deps: [{ token: i1.HttpClient }, { token: i4.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1382
- ProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ProjectService });
1383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ProjectService, decorators: [{
1367
+ ProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ProjectService, deps: [{ token: i1.HttpClient }, { token: i4.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1368
+ ProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ProjectService });
1369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ProjectService, decorators: [{
1384
1370
  type: Injectable
1385
1371
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i4.PlatformLocation }, { type: SpeechRecorderConfig, decorators: [{
1386
1372
  type: Inject,
@@ -1436,9 +1422,9 @@ class SessionService {
1436
1422
  }
1437
1423
  }
1438
1424
  SessionService.SESSION_API_CTX = 'session';
1439
- SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1440
- SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionService });
1441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionService, decorators: [{
1425
+ SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1426
+ SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionService });
1427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionService, decorators: [{
1442
1428
  type: Injectable
1443
1429
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
1444
1430
  type: Inject,
@@ -1726,14 +1712,14 @@ class LevelBar {
1726
1712
  }
1727
1713
  }
1728
1714
  }
1729
- LevelBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LevelBar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1730
- LevelBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: LevelBar, selector: "audio-levelbar", inputs: { streamingMode: "streamingMode", displayLevelInfos: "displayLevelInfos" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "virtualCanvasRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "liveLevelCanvasRef", first: true, predicate: ["levelbar"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["markerCanvas"], descendants: true, static: true }], ngImport: i0, template: `
1715
+ LevelBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: LevelBar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1716
+ LevelBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: LevelBar, selector: "audio-levelbar", inputs: { streamingMode: "streamingMode", displayLevelInfos: "displayLevelInfos" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "virtualCanvasRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "liveLevelCanvasRef", first: true, predicate: ["levelbar"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["markerCanvas"], descendants: true, static: true }], ngImport: i0, template: `
1731
1717
  <div #virtualCanvas>
1732
1718
  <canvas #levelbar></canvas>
1733
1719
  <canvas #markerCanvas></canvas>
1734
1720
  </div>
1735
1721
  `, isInline: true, styles: [":host {\n\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }", "div {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n /*position: absolute;*/\n box-sizing: border-box;\n }", "canvas {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n }"] });
1736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LevelBar, decorators: [{
1722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: LevelBar, decorators: [{
1737
1723
  type: Component,
1738
1724
  args: [{
1739
1725
  selector: 'audio-levelbar',
@@ -1858,8 +1844,8 @@ class LevelBarDisplay {
1858
1844
  this.peakDbLvl = MIN_DB_LEVEL;
1859
1845
  }
1860
1846
  }
1861
- LevelBarDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LevelBarDisplay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1862
- LevelBarDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: LevelBarDisplay, selector: "spr-recordingitemdisplay", inputs: { streamingMode: "streamingMode", audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", playStartAction: "playStartAction", playStopAction: "playStopAction", displayAudioBuffer: "displayAudioBuffer", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, viewQueries: [{ propertyName: "liveLevel", first: true, predicate: LevelBar, descendants: true, static: true }], ngImport: i0, template: `
1847
+ LevelBarDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: LevelBarDisplay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1848
+ LevelBarDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: LevelBarDisplay, selector: "spr-recordingitemdisplay", inputs: { streamingMode: "streamingMode", audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", playStartAction: "playStartAction", playStopAction: "playStopAction", displayAudioBuffer: "displayAudioBuffer", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, viewQueries: [{ propertyName: "liveLevel", first: true, predicate: LevelBar, descendants: true, static: true }], ngImport: i0, template: `
1863
1849
  <audio-levelbar [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
1864
1850
  <button matTooltip="Start playback" (click)="playStartAction?.perform()"
1865
1851
  [disabled]="playStartAction?.disabled"
@@ -1882,7 +1868,7 @@ LevelBarDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
1882
1868
  <div style="min-width: 14ch;padding:2px"><table border="0"><tr><td>Peak:</td><td><span matTooltip="Peak level"
1883
1869
  [style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr></table></div>
1884
1870
  `, isInline: true, styles: [":host {\n flex: 0; /* only required vertical space */\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n height: 100px;\n min-height: 100px;\n display: flex; /* flex container: left level bar, right decimal peak level value */\n flex-direction: row;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "audio-levelbar {\n flex: 1;\n box-sizing: border-box;\n }", "span {\n flex: 0;\n font-weight: bold;\n display: inline-block;\n white-space: nowrap;\n box-sizing: border-box;\n }"], components: [{ type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i4.DecimalPipe } });
1885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LevelBarDisplay, decorators: [{
1871
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: LevelBarDisplay, decorators: [{
1886
1872
  type: Component,
1887
1873
  args: [{
1888
1874
  selector: 'spr-recordingitemdisplay',
@@ -2337,8 +2323,8 @@ class SimpleTrafficLight {
2337
2323
  }
2338
2324
  }
2339
2325
  }
2340
- SimpleTrafficLight.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SimpleTrafficLight, deps: [], target: i0.ɵɵFactoryTarget.Component });
2341
- SimpleTrafficLight.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: { status: "status" }, ngImport: i0, template: `
2326
+ SimpleTrafficLight.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SimpleTrafficLight, deps: [], target: i0.ɵɵFactoryTarget.Component });
2327
+ SimpleTrafficLight.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: { status: "status" }, ngImport: i0, template: `
2342
2328
 
2343
2329
  <div>
2344
2330
  <div class="circle {{lighttop}}"></div>
@@ -2346,7 +2332,7 @@ SimpleTrafficLight.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
2346
2332
  <div class="circle {{lightbottom}}"></div>
2347
2333
  </div>
2348
2334
  `, isInline: true, styles: [".circle {\n width: 50px;\n height: 50px;\n border-radius: 50%;\n margin: 5px;\n background: grey;\n }", ".red {\n background: red;\n }\n ", "\n .yellow {\n background: yellow;\n }\n ", "\n .green {\n background: green;\n }\n ", "\n .black {\n background: black;\n }", ":host {\n display: flex;\n flex-direction: column;\n background: black;\n \n padding: 2px;\n height: 170px;\n max-height: 170px;\n flex: 0 0 content;\n }\n "] });
2349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SimpleTrafficLight, decorators: [{
2335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SimpleTrafficLight, decorators: [{
2350
2336
  type: Component,
2351
2337
  args: [{
2352
2338
  selector: 'app-simpletrafficlight',
@@ -2452,9 +2438,9 @@ class CanvasLayerComponent {
2452
2438
  }
2453
2439
  }
2454
2440
  }
2455
- CanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: CanvasLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2456
- CanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: CanvasLayerComponent, ngImport: i0 });
2457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: CanvasLayerComponent, decorators: [{
2441
+ CanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: CanvasLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2442
+ CanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: CanvasLayerComponent, ngImport: i0 });
2443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: CanvasLayerComponent, decorators: [{
2458
2444
  type: Directive
2459
2445
  }], ctorParameters: function () { return []; } });
2460
2446
 
@@ -2675,9 +2661,9 @@ class BasicAudioCanvasLayerComponent extends CanvasLayerComponent {
2675
2661
  //});
2676
2662
  }
2677
2663
  }
2678
- BasicAudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: BasicAudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2679
- BasicAudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0 });
2680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: BasicAudioCanvasLayerComponent, decorators: [{
2664
+ BasicAudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BasicAudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2665
+ BasicAudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0 });
2666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BasicAudioCanvasLayerComponent, decorators: [{
2681
2667
  type: Directive
2682
2668
  }] });
2683
2669
  class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
@@ -2878,9 +2864,9 @@ class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
2878
2864
  }
2879
2865
  }
2880
2866
  }
2881
- AudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2882
- AudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: AudioCanvasLayerComponent, inputs: { pointerPosition: "pointerPosition", selecting: "selecting", selection: "selection" }, outputs: { pointerPositionEventEmitter: "pointerPositionEventEmitter", selectingEventEmitter: "selectingEventEmitter", selectedEventEmitter: "selectedEventEmitter" }, host: { listeners: { "document:mouseup": "onMouseup($event)" } }, viewQueries: [{ propertyName: "bgCanvasRef", first: true, predicate: ["bg"], descendants: true, static: true }, { propertyName: "cursorCanvasRef", first: true, predicate: ["cursor"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
2883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioCanvasLayerComponent, decorators: [{
2867
+ AudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2868
+ AudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: AudioCanvasLayerComponent, inputs: { pointerPosition: "pointerPosition", selecting: "selecting", selection: "selection" }, outputs: { pointerPositionEventEmitter: "pointerPositionEventEmitter", selectingEventEmitter: "selectingEventEmitter", selectedEventEmitter: "selectedEventEmitter" }, host: { listeners: { "document:mouseup": "onMouseup($event)" } }, viewQueries: [{ propertyName: "bgCanvasRef", first: true, predicate: ["bg"], descendants: true, static: true }, { propertyName: "cursorCanvasRef", first: true, predicate: ["cursor"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
2869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioCanvasLayerComponent, decorators: [{
2884
2870
  type: Directive
2885
2871
  }], propDecorators: { bgCanvasRef: [{
2886
2872
  type: ViewChild,
@@ -3203,14 +3189,14 @@ class AudioSignal extends AudioCanvasLayerComponent {
3203
3189
  this.playFramePosition = 0;
3204
3190
  }
3205
3191
  }
3206
- AudioSignal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioSignal, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3207
- AudioSignal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AudioSignal, selector: "audio-signal", viewQueries: [{ propertyName: "audioSignalCanvasRef", first: true, predicate: ["audioSignal"], descendants: true, static: true }, { propertyName: "playPosCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
3192
+ AudioSignal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioSignal, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3193
+ AudioSignal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: AudioSignal, selector: "audio-signal", viewQueries: [{ propertyName: "audioSignalCanvasRef", first: true, predicate: ["audioSignal"], descendants: true, static: true }, { propertyName: "playPosCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
3208
3194
  <canvas #bg height="10"></canvas>
3209
3195
  <canvas #audioSignal height="10"></canvas>
3210
3196
  <canvas #cursor height="10" (mousedown)="selectionStart($event)" (mouseover)="updateCursorCanvas($event)" (mousemove)="updateCursorCanvas($event)"
3211
3197
  (mouseleave)="updateCursorCanvas($event, false)"></canvas>
3212
3198
  <canvas #marker height="10"></canvas>`, isInline: true, styles: [":host{\n min-height: 0px;\n }", "canvas {\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n min-height: 0px;\n position: absolute;\n }"] });
3213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioSignal, decorators: [{
3199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioSignal, decorators: [{
3214
3200
  type: Component,
3215
3201
  args: [{
3216
3202
  selector: 'audio-signal',
@@ -4138,14 +4124,14 @@ class Sonagram extends AudioCanvasLayerComponent {
4138
4124
  //this.startRender();
4139
4125
  }
4140
4126
  }
4141
- Sonagram.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Sonagram, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4142
- Sonagram.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: Sonagram, selector: "audio-sonagram", viewQueries: [{ propertyName: "sonagramCanvasRef", first: true, predicate: ["sonagram"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
4127
+ Sonagram.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Sonagram, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4128
+ Sonagram.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: Sonagram, selector: "audio-sonagram", viewQueries: [{ propertyName: "sonagramCanvasRef", first: true, predicate: ["sonagram"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
4143
4129
  <canvas #sonagram height="10"></canvas>
4144
4130
  <canvas #bg height="10"></canvas>
4145
4131
  <canvas #cursor height="10" (mousedown)="selectionStart($event)" (mouseover)="updateCursorCanvas($event)" (mousemove)="updateCursorCanvas($event)"
4146
4132
  (mouseleave)="updateCursorCanvas($event, false)"></canvas>
4147
4133
  <canvas #marker height="10"></canvas>`, isInline: true, styles: [":host{\n min-height: 0px;\n }", "canvas {\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n min-height: 0px;\n position: absolute;\n }"] });
4148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Sonagram, decorators: [{
4134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Sonagram, decorators: [{
4149
4135
  type: Component,
4150
4136
  args: [{
4151
4137
  selector: 'audio-sonagram',
@@ -4492,8 +4478,8 @@ class AudioClipUIContainer extends BasicAudioCanvasLayerComponent {
4492
4478
  }
4493
4479
  }
4494
4480
  AudioClipUIContainer.DIVIDER_PIXEL_SIZE = 10;
4495
- AudioClipUIContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioClipUIContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4496
- AudioClipUIContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AudioClipUIContainer, selector: "app-audio", inputs: { audioData: "audioData", audioClip: "audioClip" }, outputs: { selectionEventEmitter: "selectionEventEmitter" }, host: { listeners: { "window:resize": "onResize($event)", "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["divider"], descendants: true, static: true }, { propertyName: "ceRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "as", first: true, predicate: AudioSignal, descendants: true, static: true }, { propertyName: "so", first: true, predicate: Sonagram, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
4481
+ AudioClipUIContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioClipUIContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4482
+ AudioClipUIContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: AudioClipUIContainer, selector: "app-audio", inputs: { audioData: "audioData", audioClip: "audioClip" }, outputs: { selectionEventEmitter: "selectionEventEmitter" }, host: { listeners: { "window:resize": "onResize($event)", "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["divider"], descendants: true, static: true }, { propertyName: "ceRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "as", first: true, predicate: AudioSignal, descendants: true, static: true }, { propertyName: "so", first: true, predicate: Sonagram, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
4497
4483
  <div #virtualCanvas>
4498
4484
  <canvas #divider (mousedown)="mousedown($event)" (mouseover)="mouseover($event)"
4499
4485
  (mouseleave)="mouseleave($event)" height="10"></canvas>
@@ -4501,7 +4487,7 @@ AudioClipUIContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
4501
4487
  <audio-sonagram [pointerPosition]="pointer" [selecting]="selecting" [selection]="selection" (pointerPositionEventEmitter)="pointerPositionChanged($event)" (selectingEventEmitter)="selectingChanged($event)" (selectedEventEmitter)="selectionChanged($event)"></audio-sonagram>
4502
4488
  </div>
4503
4489
  `, isInline: true, styles: ["div {\n\n margin: 0;\n padding: 0;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n position: relative; /* TODO container div position must not be 'static' (default) to act as reference for the canvases */\n box-sizing: border-box;\n transform: none;\n }", "canvas{\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n cursor: ns-resize;\n position: absolute;\n zIndex: 1;\n transform: none;\n }", "audio-signal {\n top: 0;\n left: 0;\n position: absolute;\n zIndex: 1;\n transform: none;\n }", "audio-sonagram {\n top: 0;\n left: 0;\n position: absolute;\n zIndex: 1;\n transform: none;\n }"], components: [{ type: AudioSignal, selector: "audio-signal" }, { type: Sonagram, selector: "audio-sonagram" }] });
4504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioClipUIContainer, decorators: [{
4490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioClipUIContainer, decorators: [{
4505
4491
  type: Component,
4506
4492
  args: [{
4507
4493
  selector: 'app-audio',
@@ -4686,13 +4672,13 @@ class AudioDisplayScrollPane {
4686
4672
  this.ac.playFramePosition = framePos;
4687
4673
  }
4688
4674
  }
4689
- AudioDisplayScrollPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplayScrollPane, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4690
- AudioDisplayScrollPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: { audioClip: "audioClip" }, outputs: { zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomSelectedAction: "zoomSelectedAction", zoomFitToPanelAction: "zoomFitToPanelAction" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "ac", first: true, predicate: AudioClipUIContainer, descendants: true, static: true }], ngImport: i0, template: `
4675
+ AudioDisplayScrollPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplayScrollPane, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4676
+ AudioDisplayScrollPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: { audioClip: "audioClip" }, outputs: { zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomSelectedAction: "zoomSelectedAction", zoomFitToPanelAction: "zoomFitToPanelAction" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "ac", first: true, predicate: AudioClipUIContainer, descendants: true, static: true }], ngImport: i0, template: `
4691
4677
 
4692
4678
  <app-audio #audioSignalContainer (selectionEventEmitter)="selectionChanged($event)"></app-audio>
4693
4679
 
4694
4680
  `, isInline: true, styles: [":host {\n flex: 2;\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }", "app-audio {\n\n margin: 0;\n padding: 0;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n /*position: absolute;*/\n box-sizing: border-box;\n }"], components: [{ type: AudioClipUIContainer, selector: "app-audio", inputs: ["audioData", "audioClip"], outputs: ["selectionEventEmitter"] }] });
4695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplayScrollPane, decorators: [{
4681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplayScrollPane, decorators: [{
4696
4682
  type: Component,
4697
4683
  args: [{
4698
4684
  selector: 'audio-display-scroll-pane',
@@ -4779,8 +4765,8 @@ class AudioDisplayControl {
4779
4765
  this.status = 'ERROR';
4780
4766
  }
4781
4767
  }
4782
- AudioDisplayControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplayControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4783
- AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AudioDisplayControl, selector: "audio-display-control", inputs: { audioClip: "audioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", playStopAction: "playStopAction", zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomFitToPanelAction: "zoomFitToPanelAction", zoomSelectedAction: "zoomSelectedAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction" }, viewQueries: [{ propertyName: "autoplaySelectedCheckbox", first: true, predicate: MatCheckbox, descendants: true, static: true }], ngImport: i0, template: `
4768
+ AudioDisplayControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplayControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4769
+ AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: AudioDisplayControl, selector: "audio-display-control", inputs: { audioClip: "audioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", playStopAction: "playStopAction", zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomFitToPanelAction: "zoomFitToPanelAction", zoomSelectedAction: "zoomSelectedAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction" }, viewQueries: [{ propertyName: "autoplaySelectedCheckbox", first: true, predicate: MatCheckbox, descendants: true, static: true }], ngImport: i0, template: `
4784
4770
  <div #controlPanel style="display:flex;flex-direction: row;">
4785
4771
  <fieldset>
4786
4772
 
@@ -4824,7 +4810,7 @@ AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
4824
4810
 
4825
4811
  </fieldset>
4826
4812
  </div>`, isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4827
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplayControl, decorators: [{
4813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplayControl, decorators: [{
4828
4814
  type: Component,
4829
4815
  args: [{
4830
4816
  selector: 'audio-display-control',
@@ -4966,8 +4952,8 @@ class AudioDisplay {
4966
4952
  this.status = 'ERROR';
4967
4953
  }
4968
4954
  }
4969
- AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplay, deps: [{ token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4970
- AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
4955
+ AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplay, deps: [{ token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4956
+ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
4971
4957
 
4972
4958
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
4973
4959
 
@@ -4981,7 +4967,7 @@ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
4981
4967
  [zoomSelectedAction]="zoomSelectedAction"
4982
4968
  [zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
4983
4969
  `, isInline: true, styles: [":host {\n display: flex;\n flex-direction: column;\n position: absolute;\n bottom: 0px;\n height: 100%;\n width: 100%;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(230, 230, 230, 1.0)\n }", "\n legend{\n margin-left: 1em; padding: 0.2em 0.8em;font-size: 0.8em;\n }", "\n fieldset{\n border: 1px darkgray solid\n }\n "], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
4984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplay, decorators: [{
4970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplay, decorators: [{
4985
4971
  type: Component,
4986
4972
  args: [{
4987
4973
  selector: 'app-audiodisplay',
@@ -5049,9 +5035,9 @@ class ScrollIntoViewDirective {
5049
5035
  }
5050
5036
  }
5051
5037
  }
5052
- ScrollIntoViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScrollIntoViewDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5053
- ScrollIntoViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: { scrollIntoViewToBottom: "scrollIntoViewToBottom" }, ngImport: i0 });
5054
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScrollIntoViewDirective, decorators: [{
5038
+ ScrollIntoViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScrollIntoViewDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5039
+ ScrollIntoViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: { scrollIntoViewToBottom: "scrollIntoViewToBottom" }, ngImport: i0 });
5040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScrollIntoViewDirective, decorators: [{
5055
5041
  type: Directive,
5056
5042
  args: [{
5057
5043
  selector: "[scrollIntoViewToBottom]"
@@ -5085,8 +5071,8 @@ class Progress {
5085
5071
  }
5086
5072
  }
5087
5073
  }
5088
- Progress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
5089
- Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: Progress, selector: "app-sprprogress", inputs: { items: "items", selectedItemIdx: "selectedItemIdx", enableDownload: "enableDownload" }, outputs: { onRowSelect: "onRowSelect", rowSelect: "rowSelect", onShowDoneAction: "onShowDoneAction", clickDone: "clickDone", onDownloadDoneAction: "onDownloadDoneAction", clickDownloadDone: "clickDownloadDone" }, ngImport: i0, template: `
5074
+ Progress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
5075
+ Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: Progress, selector: "app-sprprogress", inputs: { items: "items", selectedItemIdx: "selectedItemIdx", enableDownload: "enableDownload" }, outputs: { onRowSelect: "onRowSelect", rowSelect: "rowSelect", onShowDoneAction: "onShowDoneAction", clickDone: "clickDone", onDownloadDoneAction: "onDownloadDoneAction", clickDownloadDone: "clickDownloadDone" }, ngImport: i0, template: `
5090
5076
 
5091
5077
  <table class="mat-typography">
5092
5078
  <thead>
@@ -5114,7 +5100,7 @@ Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
5114
5100
  </tbody>
5115
5101
  </table>
5116
5102
  `, isInline: true, styles: [":host {\n overflow-x: hidden;\n overflow-y: scroll;\n padding: 10pt;\n /*flex: 0.1 0 300px; \n min-width: 300px; */\n flex: 0.1 0 content;\n background: white;\n /* Workaround for Firefox\n If the progress table gets long (script with many items) FF increases the height of the overflow progressContainer and\n the whole app does not fit into the page anymore. The app overflows and shows a vertical scrollbar for the whole app.\n See http://stackoverflow.com/questions/28636832/firefox-overflow-y-not-working-with-nested-flexbox\n */\n /* min-height:0px; */\n min-height: 1px;\n }", "table {\n min-height: 1px;\n border-collapse: collapse;\n /* Tables do not have a natural min size */\n /*min-width: 300px; */\n \n }\n\n table, th, td {\n border: 1px solid lightgrey;\n padding: 0.5em;\n \n }\n\n ", "\n .selRow {\n background: lightblue;\n }\n ", ".promptDescriptor{\n \n max-width: 200px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }] });
5117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Progress, decorators: [{
5103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Progress, decorators: [{
5118
5104
  type: Component,
5119
5105
  args: [{
5120
5106
  selector: 'app-sprprogress',
@@ -5220,12 +5206,12 @@ class Recinstructions {
5220
5206
  return riTxt;
5221
5207
  }
5222
5208
  }
5223
- Recinstructions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Recinstructions, deps: [], target: i0.ɵɵFactoryTarget.Component });
5224
- Recinstructions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: Recinstructions, selector: "spr-recinstructions", inputs: { recinstructions: "recinstructions", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount" }, ngImport: i0, template: `
5209
+ Recinstructions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Recinstructions, deps: [], target: i0.ɵɵFactoryTarget.Component });
5210
+ Recinstructions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: Recinstructions, selector: "spr-recinstructions", inputs: { recinstructions: "recinstructions", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount" }, ngImport: i0, template: `
5225
5211
 
5226
5212
  {{displayText()}}
5227
5213
  `, isInline: true, styles: [":host {\n\n justify-content: left; /* align horizontal center */\n align-items: flex-start; /* align vertical center */\n background: white;\n text-align: left;\n font-size: 1em;\n flex: 0;\n width: 100%;\n }\n "] });
5228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Recinstructions, decorators: [{
5214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Recinstructions, decorators: [{
5229
5215
  type: Component,
5230
5216
  args: [{
5231
5217
  selector: 'spr-recinstructions',
@@ -5413,13 +5399,13 @@ class Prompter {
5413
5399
  }
5414
5400
  }
5415
5401
  }
5416
- Prompter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Prompter, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ProjectService }], target: i0.ɵɵFactoryTarget.Component });
5417
- Prompter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: Prompter, selector: "app-sprprompter", inputs: { projectName: "projectName", prompterHeight: "prompterHeight", promptMediaItems: "promptMediaItems" }, host: { properties: { "class.fill": "this.prompterStyleFill" } }, ngImport: i0, template: `
5402
+ Prompter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Prompter, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ProjectService }], target: i0.ɵɵFactoryTarget.Component });
5403
+ Prompter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: Prompter, selector: "app-sprprompter", inputs: { projectName: "projectName", prompterHeight: "prompterHeight", promptMediaItems: "promptMediaItems" }, host: { properties: { "class.fill": "this.prompterStyleFill" } }, ngImport: i0, template: `
5418
5404
 
5419
5405
  <!--<ng-template [ngIf]="text">{{text}}</ng-template>-->
5420
5406
  <!-- <img *ngIf="src" #promptImage [src]="srcUrl()" [height]="prompterHeight-20" /> -->
5421
5407
  `, isInline: true, styles: [":host {\n\n justify-content: center; /* align horizontal center */\n align-items: center; /* align vertical center */\n background: white;\n text-align: center;\n /* font-size: 2em; */\n line-height: 1.2em;\n font-weight: bold;\n /* Use only natural size of the prompt */\n /* The prompter compnent then ets aligned vertically centered */\n flex: 0 1;\n\n }", ":host(.fill) {\n /* Use all space to scale images */\n flex: 3;\n width: 100%;\n height: 100%;\n max-height: 100%;\n max-width: 100%;\n /* A separate flex container might be necessayr to alighn centered */\n vertical-align: middle; /* TODO does not work, image is not vertically centered */\n }"] });
5422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Prompter, decorators: [{
5408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Prompter, decorators: [{
5423
5409
  type: Component,
5424
5410
  args: [{
5425
5411
  selector: 'app-sprprompter',
@@ -5593,11 +5579,11 @@ class PromptContainer {
5593
5579
  }
5594
5580
  }
5595
5581
  }
5596
- PromptContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: PromptContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5597
- PromptContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: PromptContainer, selector: "app-sprpromptcontainer", inputs: { projectName: "projectName", mediaitems: "mediaitems" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "prompter", first: true, predicate: Prompter, descendants: true, static: true }], ngImport: i0, template: `
5582
+ PromptContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: PromptContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5583
+ PromptContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: PromptContainer, selector: "app-sprpromptcontainer", inputs: { projectName: "projectName", mediaitems: "mediaitems" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "prompter", first: true, predicate: Prompter, descendants: true, static: true }], ngImport: i0, template: `
5598
5584
  <app-sprprompter #prompter [projectName]="projectName" [promptMediaItems]="mediaitems" [style.font-size]="fontSize+'px'" [style.visibility]="prDisplay" [prompterHeight]="prompterHeight"></app-sprprompter>
5599
5585
  `, isInline: true, styles: [":host {\n\n flex: 3; /* the container consumes all available space */\n padding: 10pt;\n height: 100%;\n max-height: 100%;\n\n justify-content: center; /* align horizontal center*/\n align-items: center; /* align vertical center */\n background: white;\n text-align: center;\n display: flex;\n flex-direction: column;\n min-height: 0px;\n width: 100%;\n }\n "], components: [{ type: Prompter, selector: "app-sprprompter", inputs: ["projectName", "prompterHeight", "promptMediaItems"] }] });
5600
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: PromptContainer, decorators: [{
5586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: PromptContainer, decorators: [{
5601
5587
  type: Component,
5602
5588
  args: [{
5603
5589
  selector: 'app-sprpromptcontainer',
@@ -5740,15 +5726,15 @@ class PromptingContainer {
5740
5726
  ev.preventDefault();
5741
5727
  }
5742
5728
  }
5743
- PromptingContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: PromptingContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5744
- PromptingContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: PromptingContainer, selector: "app-sprpromptingcontainer", inputs: { projectName: "projectName", promptItem: "promptItem", showPrompt: "showPrompt", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount", transportActions: "transportActions" }, host: { listeners: { "touchstart": "onTouchstart($event)", "touchend": "onTouchEnd($event)", "touchmove": "onTouchMove($event)", "touchcancel": "onTouchCancel($event)" } }, ngImport: i0, template: `
5729
+ PromptingContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: PromptingContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5730
+ PromptingContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: PromptingContainer, selector: "app-sprpromptingcontainer", inputs: { projectName: "projectName", promptItem: "promptItem", showPrompt: "showPrompt", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount", transportActions: "transportActions" }, host: { listeners: { "touchstart": "onTouchstart($event)", "touchend": "onTouchEnd($event)", "touchmove": "onTouchMove($event)", "touchcancel": "onTouchCancel($event)" } }, ngImport: i0, template: `
5745
5731
  <spr-recinstructions [selectedItemIdx]="selectedItemIdx" [itemCount]="itemCount"
5746
5732
  [recinstructions]="promptItem?.recinstructions?.recinstructions"></spr-recinstructions>
5747
5733
  <app-sprpromptcontainer [projectName]="projectName"
5748
5734
  [mediaitems]="showPrompt?(promptItem?promptItem.mediaitems:null):null"></app-sprpromptcontainer>
5749
5735
 
5750
5736
  `, isInline: true, styles: [":host {\n position: relative;\n flex: 3; /* the container consumes all available space */\n padding: 10pt;\n justify-content: center; /* align horizontal center*/\n align-items: center; /* align vertical center */\n background: white;\n text-align: center;\n display: flex;\n flex-direction: column;\n min-height: 0px;\n }\n "], components: [{ type: Recinstructions, selector: "spr-recinstructions", inputs: ["recinstructions", "selectedItemIdx", "itemCount"] }, { type: PromptContainer, selector: "app-sprpromptcontainer", inputs: ["projectName", "mediaitems"] }] });
5751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: PromptingContainer, decorators: [{
5737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: PromptingContainer, decorators: [{
5752
5738
  type: Component,
5753
5739
  args: [{
5754
5740
  selector: 'app-sprpromptingcontainer',
@@ -5820,8 +5806,8 @@ class Prompting {
5820
5806
  this.onPrevItem.emit();
5821
5807
  }
5822
5808
  }
5823
- Prompting.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Prompting, deps: [], target: i0.ɵɵFactoryTarget.Component });
5824
- Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: Prompting, selector: "app-sprprompting", inputs: { projectName: "projectName", startStopSignalState: "startStopSignalState", promptItem: "promptItem", showPrompt: "showPrompt", items: "items", selectedItemIdx: "selectedItemIdx", transportActions: "transportActions", enableDownload: "enableDownload", audioSignalCollapsed: "audioSignalCollapsed", displayAudioClip: "displayAudioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", playStopAction: "playStopAction" }, outputs: { onItemSelect: "onItemSelect", onNextItem: "onNextItem", onPrevItem: "onPrevItem" }, viewQueries: [{ propertyName: "simpleTrafficLight", first: true, predicate: SimpleTrafficLight, descendants: true, static: true }, { propertyName: "audioDisplay", first: true, predicate: AudioDisplay, descendants: true, static: true }], ngImport: i0, template: `
5809
+ Prompting.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Prompting, deps: [], target: i0.ɵɵFactoryTarget.Component });
5810
+ Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: Prompting, selector: "app-sprprompting", inputs: { projectName: "projectName", startStopSignalState: "startStopSignalState", promptItem: "promptItem", showPrompt: "showPrompt", items: "items", selectedItemIdx: "selectedItemIdx", transportActions: "transportActions", enableDownload: "enableDownload", audioSignalCollapsed: "audioSignalCollapsed", displayAudioClip: "displayAudioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", playStopAction: "playStopAction" }, outputs: { onItemSelect: "onItemSelect", onNextItem: "onNextItem", onPrevItem: "onPrevItem" }, viewQueries: [{ propertyName: "simpleTrafficLight", first: true, predicate: SimpleTrafficLight, descendants: true, static: true }, { propertyName: "audioDisplay", first: true, predicate: AudioDisplay, descendants: true, static: true }], ngImport: i0, template: `
5825
5811
 
5826
5812
  <app-simpletrafficlight [status]="startStopSignalState"></app-simpletrafficlight>
5827
5813
  <app-sprpromptingcontainer [projectName]="projectName" [promptItem]="promptItem" [showPrompt]="showPrompt"
@@ -5844,7 +5830,7 @@ Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12
5844
5830
 
5845
5831
 
5846
5832
  `, isInline: true, styles: [":host {\n position: relative;\n margin: 0;\n padding: 0;\n background: lightgrey;\n width: 100%; /* use all horizontal available space */\n flex: 1; /* ... and fill rest of vertical available space (other components have flex 0) */\n\n /* Workaround for Firefox\n If the progress table gets long (script with many items) FF increases the height of the overflow progressContainer and\n the whole app does not fit into the page anymore. The app overflows and shows a vertical scrollbar for the whole app.\n See http://stackoverflow.com/questions/28636832/firefox-overflow-y-not-working-with-nested-flexbox\n */\n min-height: 0px;\n\n display: flex; /* flex container: left traffic light, right prompter (container) */\n flex-direction: row;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "\n app-simpletrafficlight {\n margin: 10px;\n min-height: 0px;\n z-index: 3;\n }\n ", "\n app-sprprogress {\n z-index: 3;\n }\n ", "\n div {\n display: none;\n position: absolute;\n\n\n /* height: 50%; */\n /* width: 100%; */\n\n /* overflow: hidden; */\n\n /* margin: 20px; */\n /* border: 20px; */\n z-index: 5;\n /*background-color: red; */\n }", "\n div.active {\n display: flex;\n position: absolute;\n bottom: 0px;\n /*left: 0px; */\n\n height: 90%;\n width: 100%;\n\n overflow: hidden;\n\n padding: 0px;\n /* margin: 20px; */\n /* border: 20px; */\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(0, 0, 0, 0)\n\n }"], components: [{ type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: ["status"] }, { type: PromptingContainer, selector: "app-sprpromptingcontainer", inputs: ["projectName", "promptItem", "showPrompt", "selectedItemIdx", "itemCount", "transportActions"] }, { type: Progress, selector: "app-sprprogress", inputs: ["items", "selectedItemIdx", "enableDownload"], outputs: ["onRowSelect", "rowSelect", "onShowDoneAction", "clickDone", "onDownloadDoneAction", "clickDownloadDone"] }, { type: AudioDisplay, selector: "app-audiodisplay", inputs: ["playStartAction", "playStopAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "audioData", "audioClip"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
5847
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: Prompting, decorators: [{
5833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: Prompting, decorators: [{
5848
5834
  type: Component,
5849
5835
  args: [{
5850
5836
  selector: 'app-sprprompting',
@@ -6076,14 +6062,14 @@ class StatusDisplay {
6076
6062
  this.statusWaiting = false;
6077
6063
  }
6078
6064
  }
6079
- StatusDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: StatusDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
6080
- StatusDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0, template: `
6065
+ StatusDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: StatusDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
6066
+ StatusDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0, template: `
6081
6067
  <p matTooltip="Status">
6082
6068
  <mat-progress-spinner *ngIf="statusWaiting" color="black" mode="indeterminate" [diameter]="30" [strokeWidth]="5"></mat-progress-spinner><mat-icon *ngIf="statusAlertType==='error'" style="color:red">report_problem</mat-icon>
6083
6069
  {{statusMsg}}
6084
6070
  </p>
6085
6071
  `, isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n display: inline;\n text-align: left;\n font-size: smaller;\n }", "\n p {\n white-space:nowrap;\n display: inline-block;\n }\n ", "\n mat-progress-spinner {\n color: black;\n display: inline-block;\n }\n ", "\n span {\n color: red;\n }\n "], components: [{ type: i1$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
6086
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: StatusDisplay, decorators: [{
6072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: StatusDisplay, decorators: [{
6087
6073
  type: Component,
6088
6074
  args: [{
6089
6075
  selector: 'app-sprstatusdisplay',
@@ -6169,11 +6155,11 @@ class UploadStatus {
6169
6155
  return this._status;
6170
6156
  }
6171
6157
  }
6172
- UploadStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: UploadStatus, deps: [], target: i0.ɵɵFactoryTarget.Component });
6173
- UploadStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0, template: `
6158
+ UploadStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: UploadStatus, deps: [], target: i0.ɵɵFactoryTarget.Component });
6159
+ UploadStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0, template: `
6174
6160
  <mat-progress-spinner [mode]="spinnerMode" [color]="status" [diameter]="30" [strokeWidth]="5" [value]="_value" [matTooltip]="toolTipText"></mat-progress-spinner>
6175
6161
  `, isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n /*display: inline; */\n text-align: left;\n }", "mat-progress-spinner{\n display: inline-block;\n }"], components: [{ type: i1$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
6176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: UploadStatus, decorators: [{
6162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: UploadStatus, decorators: [{
6177
6163
  type: Component,
6178
6164
  args: [{
6179
6165
  selector: 'app-uploadstatus',
@@ -6201,11 +6187,11 @@ class ProgressDisplay {
6201
6187
  this.progressMsg = '[itemcode]';
6202
6188
  }
6203
6189
  }
6204
- ProgressDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ProgressDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
6205
- ProgressDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0, template: `
6190
+ ProgressDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ProgressDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
6191
+ ProgressDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0, template: `
6206
6192
  <p>{{progressMsg}}</p>
6207
6193
  `, isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n /*display: inline; */\n width: 100%;\n text-align: left;\n }"] });
6208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ProgressDisplay, decorators: [{
6194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ProgressDisplay, decorators: [{
6209
6195
  type: Component,
6210
6196
  args: [{
6211
6197
  selector: 'app-sprprogressdisplay',
@@ -6233,6 +6219,9 @@ class TransportActions {
6233
6219
  }
6234
6220
  }
6235
6221
  class TransportPanel {
6222
+ constructor() {
6223
+ this.navigationEnabled = true;
6224
+ }
6236
6225
  startDisabled() {
6237
6226
  return !this.actions || this.readonly || this.actions.startAction.disabled;
6238
6227
  }
@@ -6240,19 +6229,19 @@ class TransportPanel {
6240
6229
  return !this.actions || this.actions.stopAction.disabled;
6241
6230
  }
6242
6231
  nextDisabled() {
6243
- return !this.actions || this.actions.nextAction.disabled;
6232
+ return !this.actions || this.actions.nextAction.disabled || !this.navigationEnabled;
6244
6233
  }
6245
6234
  pauseDisabled() {
6246
6235
  return !this.actions || this.actions.pauseAction.disabled;
6247
6236
  }
6248
6237
  fwdDisabled() {
6249
- return !this.actions || this.actions.fwdAction.disabled;
6238
+ return !this.actions || this.actions.fwdAction.disabled || !this.navigationEnabled;
6250
6239
  }
6251
6240
  fwdNextDisabled() {
6252
- return !this.actions || this.actions.fwdNextAction.disabled;
6241
+ return !this.actions || this.actions.fwdNextAction.disabled || !this.navigationEnabled;
6253
6242
  }
6254
6243
  bwdDisabled() {
6255
- return !this.actions || this.actions.bwdAction.disabled;
6244
+ return !this.actions || this.actions.bwdAction.disabled || !this.navigationEnabled;
6256
6245
  }
6257
6246
  startStopNextName() {
6258
6247
  if (!this.nextDisabled()) {
@@ -6301,9 +6290,9 @@ class TransportPanel {
6301
6290
  }
6302
6291
  }
6303
6292
  }
6304
- TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
6305
- TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions" }, ngImport: i0, template: `
6306
- <button id="bwdBtn" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
6293
+ TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
6294
+ TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled" }, ngImport: i0, template: `
6295
+ <button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
6307
6296
  mat-raised-button>
6308
6297
  <mat-icon>chevron_left</mat-icon>
6309
6298
  </button>
@@ -6315,20 +6304,20 @@ TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
6315
6304
  <mat-icon>pause</mat-icon>
6316
6305
  <span fxShow.xs="false">Pause</span>
6317
6306
  </button>
6318
- <button id="fwdNextBtn" fxHide.xs (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
6307
+ <button id="fwdNextBtn" *ngIf="navigationEnabled" fxHide.xs (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
6319
6308
  <mat-icon>redo</mat-icon>
6320
6309
  </button>
6321
- <button id="fwdBtn" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
6310
+ <button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
6322
6311
  <mat-icon>chevron_right</mat-icon>
6323
6312
  </button>
6324
6313
 
6325
6314
  `, isInline: true, styles: [":host {\n flex: 20;\n align-self: center;\n width: 100%;\n text-align: center;\n align-content: center;\n margin: 0;\n }", "\n div {\n display: inline;\n flex: 0;\n }"], components: [{ type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
6326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TransportPanel, decorators: [{
6315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: TransportPanel, decorators: [{
6327
6316
  type: Component,
6328
6317
  args: [{
6329
6318
  selector: 'app-sprtransport',
6330
6319
  template: `
6331
- <button id="bwdBtn" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
6320
+ <button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
6332
6321
  mat-raised-button>
6333
6322
  <mat-icon>chevron_left</mat-icon>
6334
6323
  </button>
@@ -6340,10 +6329,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
6340
6329
  <mat-icon>pause</mat-icon>
6341
6330
  <span fxShow.xs="false">Pause</span>
6342
6331
  </button>
6343
- <button id="fwdNextBtn" fxHide.xs (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
6332
+ <button id="fwdNextBtn" *ngIf="navigationEnabled" fxHide.xs (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
6344
6333
  <mat-icon>redo</mat-icon>
6345
6334
  </button>
6346
- <button id="fwdBtn" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
6335
+ <button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
6347
6336
  <mat-icon>chevron_right</mat-icon>
6348
6337
  </button>
6349
6338
 
@@ -6366,11 +6355,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
6366
6355
  type: Input
6367
6356
  }], actions: [{
6368
6357
  type: Input
6358
+ }], navigationEnabled: [{
6359
+ type: Input
6369
6360
  }] } });
6370
6361
  class ControlPanel {
6371
6362
  constructor(dialog) {
6372
6363
  this.dialog = dialog;
6373
6364
  this.processing = false;
6365
+ this.navigationEnabled = true;
6374
6366
  this._ready = true;
6375
6367
  this.hourGlassIconName = 'hourglass_empty';
6376
6368
  this.readyStateToolTip = '';
@@ -6384,18 +6376,18 @@ class ControlPanel {
6384
6376
  return this._ready;
6385
6377
  }
6386
6378
  }
6387
- ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ControlPanel, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
6388
- ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ControlPanel, selector: "app-sprcontrolpanel", inputs: { readonly: "readonly", transportActions: "transportActions", processing: "processing", statusMsg: "statusMsg", statusAlertType: "statusAlertType", statusWaiting: "statusWaiting", uploadStatus: "uploadStatus", uploadProgress: "uploadProgress", currentRecording: "currentRecording", enableUploadRecordings: "enableUploadRecordings", ready: "ready" }, viewQueries: [{ propertyName: "statusDisplay", first: true, predicate: StatusDisplay, descendants: true, static: true }, { propertyName: "transportPanel", first: true, predicate: TransportPanel, descendants: true, static: true }], ngImport: i0, template: `
6379
+ ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ControlPanel, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
6380
+ ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: ControlPanel, selector: "app-sprcontrolpanel", inputs: { readonly: "readonly", transportActions: "transportActions", processing: "processing", statusMsg: "statusMsg", statusAlertType: "statusAlertType", statusWaiting: "statusWaiting", uploadStatus: "uploadStatus", uploadProgress: "uploadProgress", currentRecording: "currentRecording", enableUploadRecordings: "enableUploadRecordings", navigationEnabled: "navigationEnabled", ready: "ready" }, viewQueries: [{ propertyName: "statusDisplay", first: true, predicate: StatusDisplay, descendants: true, static: true }, { propertyName: "transportPanel", first: true, predicate: TransportPanel, descendants: true, static: true }], ngImport: i0, template: `
6389
6381
  <app-sprstatusdisplay fxHide.xs [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
6390
6382
  class="hidden-xs"></app-sprstatusdisplay>
6391
6383
 
6392
- <app-sprtransport [readonly]="readonly" [actions]="transportActions"></app-sprtransport>
6384
+ <app-sprtransport [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
6393
6385
 
6394
6386
  <app-uploadstatus fxHide.xs *ngIf="enableUploadRecordings" [value]="uploadProgress"
6395
6387
  [status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
6396
6388
  <mat-icon fxHide.xs [matTooltip]="readyStateToolTip">{{hourGlassIconName}}</mat-icon>
6397
- `, isInline: true, styles: [":host {\n flex: 0; /* only required vertical space */\n /* width: 100%; */ /* available horizontal sace */\n /* display: inline; */\n display: flex; /* Horizontal flex container: Bottom transport panel, above prompting panel */\n flex-direction: row;\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }", "\n div {\n flex: 0;\n }\n "], components: [{ type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
6398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ControlPanel, decorators: [{
6389
+ `, isInline: true, styles: [":host {\n flex: 0; /* only required vertical space */\n /* width: 100%; */ /* available horizontal sace */\n /* display: inline; */\n display: flex; /* Horizontal flex container: Bottom transport panel, above prompting panel */\n flex-direction: row;\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }", "\n div {\n flex: 0;\n }\n "], components: [{ type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
6390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ControlPanel, decorators: [{
6399
6391
  type: Component,
6400
6392
  args: [{
6401
6393
  selector: 'app-sprcontrolpanel',
@@ -6403,7 +6395,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
6403
6395
  <app-sprstatusdisplay fxHide.xs [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
6404
6396
  class="hidden-xs"></app-sprstatusdisplay>
6405
6397
 
6406
- <app-sprtransport [readonly]="readonly" [actions]="transportActions"></app-sprtransport>
6398
+ <app-sprtransport [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
6407
6399
 
6408
6400
  <app-uploadstatus fxHide.xs *ngIf="enableUploadRecordings" [value]="uploadProgress"
6409
6401
  [status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
@@ -6452,6 +6444,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
6452
6444
  type: Input
6453
6445
  }], enableUploadRecordings: [{
6454
6446
  type: Input
6447
+ }], navigationEnabled: [{
6448
+ type: Input
6455
6449
  }], ready: [{
6456
6450
  type: Input
6457
6451
  }] } });
@@ -6465,8 +6459,8 @@ class SessionFinishedDialog {
6465
6459
  this.dialogRef.close();
6466
6460
  }
6467
6461
  }
6468
- SessionFinishedDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionFinishedDialog, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
6469
- SessionFinishedDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SessionFinishedDialog, selector: "spr-session-finished-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon [style.color]="'green'">done_all</mat-icon> Session finished</h1>
6462
+ SessionFinishedDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionFinishedDialog, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
6463
+ SessionFinishedDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: SessionFinishedDialog, selector: "spr-session-finished-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon [style.color]="'green'">done_all</mat-icon> Session finished</h1>
6470
6464
  <div mat-dialog-content>
6471
6465
 
6472
6466
  <p>Thank you! The recording session is complete.</p>
@@ -6476,7 +6470,7 @@ SessionFinishedDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
6476
6470
  <button mat-button (click)="closeDialog()">OK</button>
6477
6471
  </div>
6478
6472
  `, isInline: true, components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
6479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionFinishedDialog, decorators: [{
6473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionFinishedDialog, decorators: [{
6480
6474
  type: Component,
6481
6475
  args: [{
6482
6476
  selector: 'spr-session-finished-dialog',
@@ -6505,8 +6499,8 @@ class MessageDialog {
6505
6499
  this.dialogRef.close();
6506
6500
  }
6507
6501
  }
6508
- MessageDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageDialog, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
6509
- MessageDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: MessageDialog, selector: "msg-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon *ngIf="data.type==='error'" [style.color]="'red'">error</mat-icon>
6502
+ MessageDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: MessageDialog, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
6503
+ MessageDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: MessageDialog, selector: "msg-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon *ngIf="data.type==='error'" [style.color]="'red'">error</mat-icon>
6510
6504
  <mat-icon *ngIf="data.type==='warning'" [style.color]="'yellow'">warning</mat-icon>{{data.title}}</h1>
6511
6505
  <div mat-dialog-content>
6512
6506
 
@@ -6518,7 +6512,7 @@ MessageDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
6518
6512
  <button mat-button (click)="closeDialog()">OK</button>
6519
6513
  </div>
6520
6514
  `, isInline: true, components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
6521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageDialog, decorators: [{
6515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: MessageDialog, decorators: [{
6522
6516
  type: Component,
6523
6517
  args: [{
6524
6518
  selector: 'msg-dialog',
@@ -6718,9 +6712,9 @@ class RecordingService {
6718
6712
  }
6719
6713
  }
6720
6714
  RecordingService.REC_API_CTX = 'recfile';
6721
- RecordingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
6722
- RecordingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingService });
6723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingService, decorators: [{
6715
+ RecordingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
6716
+ RecordingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingService });
6717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingService, decorators: [{
6724
6718
  type: Injectable
6725
6719
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
6726
6720
  type: Inject,
@@ -6734,9 +6728,9 @@ class SpeechRecorderUploader extends Uploader {
6734
6728
  this.config = config;
6735
6729
  }
6736
6730
  }
6737
- SpeechRecorderUploader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechRecorderUploader, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
6738
- SpeechRecorderUploader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechRecorderUploader });
6739
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechRecorderUploader, decorators: [{
6731
+ SpeechRecorderUploader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechRecorderUploader, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
6732
+ SpeechRecorderUploader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechRecorderUploader });
6733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechRecorderUploader, decorators: [{
6740
6734
  type: Injectable
6741
6735
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
6742
6736
  type: Inject,
@@ -6756,12 +6750,12 @@ class WarningBar {
6756
6750
  }
6757
6751
  }
6758
6752
  }
6759
- WarningBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: WarningBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
6760
- WarningBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: WarningBar, selector: "app-warningbar", inputs: { warningText: "warningText", show: "show" }, providers: [SessionService], ngImport: i0, template: `
6753
+ WarningBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: WarningBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
6754
+ WarningBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: WarningBar, selector: "app-warningbar", inputs: { warningText: "warningText", show: "show" }, providers: [SessionService], ngImport: i0, template: `
6761
6755
  <div [class]="displayClass">{{warningText}}</div>
6762
6756
 
6763
6757
  `, isInline: true, styles: [":host {\n\n flex: 0 0 content;\n background: orange;\n\n }", "\n .off {\n display: none;\n }\n ", "\n .on {\n padding: 2px;\n display: inline-block;\n width: 100%;\n font-weight: bold;\n font-size: larger;\n text-align: center;\n }\n "] });
6764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: WarningBar, decorators: [{
6758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: WarningBar, decorators: [{
6765
6759
  type: Component,
6766
6760
  args: [{
6767
6761
  selector: 'app-warningbar',
@@ -6897,7 +6891,7 @@ class SessionManager {
6897
6891
  else {
6898
6892
  console.info("No audio context available!");
6899
6893
  }
6900
- if (!navigator.mediaDevices) {
6894
+ if (!context || !navigator.mediaDevices) {
6901
6895
  this.status = 8 /* ERROR */;
6902
6896
  let errMsg = 'Browser does not support Media streams!';
6903
6897
  this.statusMsg = 'ERROR: ' + errMsg;
@@ -7859,8 +7853,8 @@ class SessionManager {
7859
7853
  });
7860
7854
  }
7861
7855
  }
7862
- SessionManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionManager, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1$3.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
7863
- SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SessionManager, selector: "app-sprrecordingsession", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "prompting", first: true, predicate: Prompting, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBarDisplay, descendants: true, static: true }], ngImport: i0, template: `
7856
+ SessionManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionManager, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1$3.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
7857
+ SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: SessionManager, selector: "app-sprrecordingsession", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "prompting", first: true, predicate: Prompting, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBarDisplay, descendants: true, static: true }], ngImport: i0, template: `
7864
7858
  <app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
7865
7859
  <app-warningbar [show]="isDefaultAudioTestSession()" warningText="This test uses default audio device! Regular sessions may require a particular audio device (microphone)!"></app-warningbar>
7866
7860
  <app-sprprompting [projectName]="projectName"
@@ -7889,10 +7883,10 @@ SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
7889
7883
  <app-sprcontrolpanel [enableUploadRecordings]="enableUploadRecordings" [readonly]="readonly" [currentRecording]="displayAudioClip?.buffer"
7890
7884
  [transportActions]="transportActions" [statusMsg]="statusMsg" [statusWaiting]="statusWaiting"
7891
7885
  [statusAlertType]="statusAlertType" [uploadProgress]="uploadProgress"
7892
- [uploadStatus]="uploadStatus" [ready]="dataSaved && !isActive()" [processing]="processingRecording"></app-sprcontrolpanel>
7886
+ [uploadStatus]="uploadStatus" [ready]="dataSaved && !isActive()" [processing]="processingRecording" [navigationEnabled]="items==null || items.length>1"></app-sprcontrolpanel>
7893
7887
 
7894
- `, isInline: true, styles: [":host {\n flex: 2;\n background: lightgrey;\n display: flex; /* Vertical flex container: Bottom transport panel, above prompting panel */\n flex-direction: column;\n margin: 0;\n padding: 0;\n min-height: 0px;\n\n /* Prevents horizontal scroll bar on swipe right */\n overflow: hidden;\n }"], components: [{ type: WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }, { type: Prompting, selector: "app-sprprompting", inputs: ["projectName", "startStopSignalState", "promptItem", "showPrompt", "items", "selectedItemIdx", "transportActions", "enableDownload", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["onItemSelect", "onNextItem", "onPrevItem"] }, { type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: LevelBarDisplay, selector: "spr-recordingitemdisplay", inputs: ["streamingMode", "audioSignalCollapsed", "enableDownload", "playStartAction", "playStopAction", "displayAudioBuffer", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { type: ControlPanel, selector: "app-sprcontrolpanel", inputs: ["readonly", "transportActions", "processing", "statusMsg", "statusAlertType", "statusWaiting", "uploadStatus", "uploadProgress", "currentRecording", "enableUploadRecordings", "ready"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
7895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SessionManager, decorators: [{
7888
+ `, isInline: true, styles: [":host {\n flex: 2;\n background: lightgrey;\n display: flex; /* Vertical flex container: Bottom transport panel, above prompting panel */\n flex-direction: column;\n margin: 0;\n padding: 0;\n min-height: 0px;\n\n /* Prevents horizontal scroll bar on swipe right */\n overflow: hidden;\n }"], components: [{ type: WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }, { type: Prompting, selector: "app-sprprompting", inputs: ["projectName", "startStopSignalState", "promptItem", "showPrompt", "items", "selectedItemIdx", "transportActions", "enableDownload", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["onItemSelect", "onNextItem", "onPrevItem"] }, { type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: LevelBarDisplay, selector: "spr-recordingitemdisplay", inputs: ["streamingMode", "audioSignalCollapsed", "enableDownload", "playStartAction", "playStopAction", "displayAudioBuffer", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { type: ControlPanel, selector: "app-sprcontrolpanel", inputs: ["readonly", "transportActions", "processing", "statusMsg", "statusAlertType", "statusWaiting", "uploadStatus", "uploadProgress", "currentRecording", "enableUploadRecordings", "navigationEnabled", "ready"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
7889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SessionManager, decorators: [{
7896
7890
  type: Component,
7897
7891
  args: [{
7898
7892
  selector: 'app-sprrecordingsession',
@@ -7926,7 +7920,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
7926
7920
  <app-sprcontrolpanel [enableUploadRecordings]="enableUploadRecordings" [readonly]="readonly" [currentRecording]="displayAudioClip?.buffer"
7927
7921
  [transportActions]="transportActions" [statusMsg]="statusMsg" [statusWaiting]="statusWaiting"
7928
7922
  [statusAlertType]="statusAlertType" [uploadProgress]="uploadProgress"
7929
- [uploadStatus]="uploadStatus" [ready]="dataSaved && !isActive()" [processing]="processingRecording"></app-sprcontrolpanel>
7923
+ [uploadStatus]="uploadStatus" [ready]="dataSaved && !isActive()" [processing]="processingRecording" [navigationEnabled]="items==null || items.length>1"></app-sprcontrolpanel>
7930
7924
 
7931
7925
  `,
7932
7926
  styles: [`:host {
@@ -8009,9 +8003,9 @@ class ScriptService {
8009
8003
  return this.http.get(scriptUrl, { withCredentials: this.withCredentials });
8010
8004
  }
8011
8005
  }
8012
- ScriptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScriptService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
8013
- ScriptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScriptService });
8014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScriptService, decorators: [{
8006
+ ScriptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScriptService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
8007
+ ScriptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScriptService });
8008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScriptService, decorators: [{
8015
8009
  type: Injectable
8016
8010
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
8017
8011
  type: Inject,
@@ -8399,11 +8393,11 @@ class SpeechrecorderngComponent {
8399
8393
  this.sm.statusMsg = 'ERROR: Recording.';
8400
8394
  }
8401
8395
  }
8402
- SpeechrecorderngComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechrecorderngComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i0.ChangeDetectorRef }, { token: SessionService }, { token: ProjectService }, { token: ScriptService }, { token: RecordingService }, { token: SpeechRecorderUploader }], target: i0.ɵɵFactoryTarget.Component });
8403
- SpeechrecorderngComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], ngImport: i0, template: `
8396
+ SpeechrecorderngComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechrecorderngComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i0.ChangeDetectorRef }, { token: SessionService }, { token: ProjectService }, { token: ScriptService }, { token: RecordingService }, { token: SpeechRecorderUploader }], target: i0.ɵɵFactoryTarget.Component });
8397
+ SpeechrecorderngComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], ngImport: i0, template: `
8404
8398
  <app-sprrecordingsession [projectName]="project?.name" [dataSaved]="dataSaved"></app-sprrecordingsession>
8405
8399
  `, isInline: true, styles: [":host{\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n\n }"], components: [{ type: SessionManager, selector: "app-sprrecordingsession", inputs: ["projectName", "dataSaved"] }] });
8406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechrecorderngComponent, decorators: [{
8400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechrecorderngComponent, decorators: [{
8407
8401
  type: Component,
8408
8402
  args: [{
8409
8403
  selector: 'app-speechrecorder',
@@ -8426,22 +8420,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
8426
8420
 
8427
8421
  class ScrollPaneHorizontal {
8428
8422
  }
8429
- ScrollPaneHorizontal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScrollPaneHorizontal, deps: [], target: i0.ɵɵFactoryTarget.Component });
8430
- ScrollPaneHorizontal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0, template: '', isInline: true, styles: [":host {\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }"] });
8431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ScrollPaneHorizontal, decorators: [{
8423
+ ScrollPaneHorizontal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScrollPaneHorizontal, deps: [], target: i0.ɵɵFactoryTarget.Component });
8424
+ ScrollPaneHorizontal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0, template: '', isInline: true, styles: [":host {\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }"] });
8425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ScrollPaneHorizontal, decorators: [{
8432
8426
  type: Component,
8433
8427
  args: [{
8434
8428
  selector: 'scroll-pane-horizontal',
8435
8429
  template: '',
8436
8430
  styles: [
8437
- `:host {
8438
- width: 100%;
8439
- background: darkgray;
8440
- box-sizing: border-box;
8441
- height: 100%;
8442
- position: relative;
8443
- overflow-x: scroll;
8444
- overflow-y: auto;
8431
+ `:host {
8432
+ width: 100%;
8433
+ background: darkgray;
8434
+ box-sizing: border-box;
8435
+ height: 100%;
8436
+ position: relative;
8437
+ overflow-x: scroll;
8438
+ overflow-y: auto;
8445
8439
  }`
8446
8440
  ]
8447
8441
  }]
@@ -8645,8 +8639,8 @@ class AudioDisplayPlayer {
8645
8639
  this.status = 'ERROR';
8646
8640
  }
8647
8641
  }
8648
- AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8649
- AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
8642
+ AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8643
+ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
8650
8644
 
8651
8645
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
8652
8646
 
@@ -8660,7 +8654,7 @@ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
8660
8654
  [zoomSelectedAction]="zoomSelectedAction"
8661
8655
  [zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
8662
8656
  `, isInline: true, styles: [":host {\n display: flex;\n flex-direction: column;\n position: absolute;\n bottom: 0px;\n height: 100%;\n width: 100%;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(0, 0, 0, 0.75)\n }"], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
8663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
8657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
8664
8658
  type: Component,
8665
8659
  args: [{
8666
8660
  selector: 'app-audiodisplayplayer',
@@ -8952,9 +8946,9 @@ class RecordingFileService {
8952
8946
  }
8953
8947
  }
8954
8948
  RecordingFileService.RECOFILE_API_CTX = 'recordingfile';
8955
- RecordingFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
8956
- RecordingFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileService });
8957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileService, decorators: [{
8949
+ RecordingFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
8950
+ RecordingFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileService });
8951
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileService, decorators: [{
8958
8952
  type: Injectable
8959
8953
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
8960
8954
  type: Inject,
@@ -8974,8 +8968,8 @@ class RecordingFileMetaComponent {
8974
8968
  return t;
8975
8969
  }
8976
8970
  }
8977
- RecordingFileMetaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileMetaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8978
- RecordingFileMetaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", recordingFile: "recordingFile" }, ngImport: i0, template: `
8971
+ RecordingFileMetaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileMetaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8972
+ RecordingFileMetaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", recordingFile: "recordingFile" }, ngImport: i0, template: `
8979
8973
  <mat-card>
8980
8974
  <mat-card-title>Recording file ID: {{recordingFile?.recordingFileId}}</mat-card-title>
8981
8975
  <mat-card-content>
@@ -9001,7 +8995,7 @@ RecordingFileMetaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
9001
8995
  </mat-card-content>
9002
8996
  </mat-card>
9003
8997
  `, isInline: true, components: [{ type: i1$4.MatCard, selector: "mat-card", exportAs: ["matCard"] }], directives: [{ type: i1$4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1$4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
9004
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileMetaComponent, decorators: [{
8998
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileMetaComponent, decorators: [{
9005
8999
  type: Component,
9006
9000
  args: [{
9007
9001
  selector: 'app-recording-file-meta',
@@ -9056,8 +9050,8 @@ class RecordingFileNaviComponent {
9056
9050
  }
9057
9051
  }
9058
9052
  }
9059
- RecordingFileNaviComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileNaviComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9060
- RecordingFileNaviComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: { firstAction: "firstAction", prevAction: "prevAction", nextAction: "nextAction", lastAction: "lastAction", items: "items", itemPos: "itemPos", selectVersion: "selectVersion", versions: "versions", version: "version", naviInfoLoading: "naviInfoLoading" }, ngImport: i0, template: `
9053
+ RecordingFileNaviComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileNaviComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9054
+ RecordingFileNaviComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: { firstAction: "firstAction", prevAction: "prevAction", nextAction: "nextAction", lastAction: "lastAction", items: "items", itemPos: "itemPos", selectVersion: "selectVersion", versions: "versions", version: "version", naviInfoLoading: "naviInfoLoading" }, ngImport: i0, template: `
9061
9055
  <div #controlPanel style="display:flex;flex-direction: row;">
9062
9056
  <div #navi style="flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap">
9063
9057
  <fieldset>
@@ -9090,7 +9084,7 @@ RecordingFileNaviComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
9090
9084
  </div>
9091
9085
  </div>
9092
9086
  `, isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i1$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
9093
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileNaviComponent, decorators: [{
9087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileNaviComponent, decorators: [{
9094
9088
  type: Component,
9095
9089
  args: [{
9096
9090
  selector: 'app-recording-file-navi',
@@ -9453,8 +9447,8 @@ class RecordingFileViewComponent extends AudioDisplayPlayer {
9453
9447
  }
9454
9448
  }
9455
9449
  }
9456
- RecordingFileViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileViewComponent, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
9457
- RecordingFileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: RecordingFileViewComponent, selector: "app-audiodisplayplayer", viewQueries: [{ propertyName: "ac", first: true, predicate: AudioDisplayScrollPane, descendants: true }], usesInheritance: true, ngImport: i0, template: `
9450
+ RecordingFileViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileViewComponent, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
9451
+ RecordingFileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingFileViewComponent, selector: "app-audiodisplayplayer", viewQueries: [{ propertyName: "ac", first: true, predicate: AudioDisplayScrollPane, descendants: true }], usesInheritance: true, ngImport: i0, template: `
9458
9452
 
9459
9453
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
9460
9454
  <div class="ctrlview">
@@ -9472,7 +9466,7 @@ RecordingFileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
9472
9466
  <app-recording-file-navi [items]="availRecFiles?.length" [itemPos]="posInList" [version]="recordingFile?recordingFile.version:null" [versions]="versions" [firstAction]="firstAction" [prevAction]="prevAction" [nextAction]="nextAction" [lastAction]="lastAction" [selectVersion]="toVersionAction" [naviInfoLoading]="naviInfoLoading"></app-recording-file-navi>
9473
9467
  </div>
9474
9468
  `, isInline: true, styles: [":host {\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: white;\n }", "\n .ctrlview{\n display: flex;\n flex-direction: row;\n\n }\n ", "\n audio-display-control{\n\n flex: 3;\n }\n "], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "recordingFile"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }] });
9475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
9469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
9476
9470
  type: Component,
9477
9471
  args: [{
9478
9472
  selector: 'app-audiodisplayplayer',
@@ -9599,8 +9593,8 @@ class RecordingFileUI extends RecordingFileViewComponent {
9599
9593
  }
9600
9594
  }
9601
9595
  }
9602
- RecordingFileUI.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileUI, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$3.MatDialog }, { token: i6$1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
9603
- RecordingFileUI.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0, template: `
9596
+ RecordingFileUI.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileUI, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$3.MatDialog }, { token: i6$1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
9597
+ RecordingFileUI.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0, template: `
9604
9598
  <h1>Recording file editing</h1>
9605
9599
  <p>On export or delivery the editing selection of the recording file is cut out. If no editing selection is applied the original file is exported.</p>
9606
9600
 
@@ -9621,7 +9615,7 @@ RecordingFileUI.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
9621
9615
 
9622
9616
  <button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
9623
9617
  `, isInline: true, styles: [":host {\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: white;\n }", "\n .ctrlview{\n display: flex;\n flex-direction: row;\n }\n ", "\n audio-display-control{\n\n flex: 3;\n }\n "], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "recordingFile"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }, { type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
9624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: RecordingFileUI, decorators: [{
9618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: RecordingFileUI, decorators: [{
9625
9619
  type: Component,
9626
9620
  args: [{
9627
9621
  selector: 'app-audiodisplayplayer',
@@ -9699,11 +9693,11 @@ class SpeechrecorderngModule {
9699
9693
  };
9700
9694
  }
9701
9695
  }
9702
- SpeechrecorderngModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9703
- SpeechrecorderngModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
9696
+ SpeechrecorderngModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9697
+ SpeechrecorderngModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
9704
9698
  ProgressDisplay, LevelBarDisplay, UploadStatus, TransportPanel, ControlPanel, WarningBar, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent], imports: [i1$1.RouterModule, FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar] });
9705
- SpeechrecorderngModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [[RouterModule.forChild(SPR_ROUTES), FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule]] });
9706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
9699
+ SpeechrecorderngModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [[RouterModule.forChild(SPR_ROUTES), FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule]] });
9700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
9707
9701
  type: NgModule,
9708
9702
  args: [{
9709
9703
  declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
@@ -9717,7 +9711,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
9717
9711
  }]
9718
9712
  }] });
9719
9713
 
9720
- const VERSION = '2.18.9';
9714
+ const VERSION = '2.18.13';
9721
9715
 
9722
9716
  /*
9723
9717
  * Public API Surface of speechrecorderng