speechrecorderng 2.21.0 → 2.21.4

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 (43) hide show
  1. package/bundles/speechrecorderng.umd.js +171 -151
  2. package/bundles/speechrecorderng.umd.js.map +1 -1
  3. package/esm2015/lib/audio/audio_display.js +3 -3
  4. package/esm2015/lib/audio/audio_player.js +3 -3
  5. package/esm2015/lib/audio/ui/audio_canvas_layer_comp.js +6 -6
  6. package/esm2015/lib/audio/ui/audio_display_control.js +3 -3
  7. package/esm2015/lib/audio/ui/audio_display_scroll_pane.js +3 -3
  8. package/esm2015/lib/audio/ui/audiosignal.js +3 -3
  9. package/esm2015/lib/audio/ui/container.js +3 -3
  10. package/esm2015/lib/audio/ui/livelevel.js +3 -3
  11. package/esm2015/lib/audio/ui/scroll_pane_horizontal.js +3 -3
  12. package/esm2015/lib/audio/ui/sonagram.js +3 -3
  13. package/esm2015/lib/speechrecorder/project/project.service.js +3 -3
  14. package/esm2015/lib/speechrecorder/recordings/recordings.service.js +3 -3
  15. package/esm2015/lib/speechrecorder/script/script.service.js +3 -3
  16. package/esm2015/lib/speechrecorder/session/controlpanel.js +20 -24
  17. package/esm2015/lib/speechrecorder/session/item.js +14 -4
  18. package/esm2015/lib/speechrecorder/session/progress.js +3 -3
  19. package/esm2015/lib/speechrecorder/session/prompting.js +15 -15
  20. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-meta.component.js +3 -3
  21. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-navi.component.js +3 -3
  22. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.js +3 -3
  23. package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-view.component.js +3 -3
  24. package/esm2015/lib/speechrecorder/session/recordingfile/recordingfile-service.js +3 -3
  25. package/esm2015/lib/speechrecorder/session/session.service.js +3 -3
  26. package/esm2015/lib/speechrecorder/session/session_finished_dialog.js +3 -3
  27. package/esm2015/lib/speechrecorder/session/sessionmanager.js +23 -23
  28. package/esm2015/lib/speechrecorder/session/warning_bar.js +3 -3
  29. package/esm2015/lib/speechrecorder/spruploader.js +3 -3
  30. package/esm2015/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.js +3 -3
  31. package/esm2015/lib/speechrecorderng.component.js +3 -3
  32. package/esm2015/lib/speechrecorderng.module.js +4 -4
  33. package/esm2015/lib/spr.config.js +3 -3
  34. package/esm2015/lib/spr.module.version.js +2 -2
  35. package/esm2015/lib/ui/canvas_layer_comp.js +3 -3
  36. package/esm2015/lib/ui/message_dialog.js +3 -3
  37. package/esm2015/lib/ui/recordingitem_display.js +6 -6
  38. package/esm2015/lib/utils/scrollIntoViewToBottom.js +3 -3
  39. package/fesm2015/speechrecorderng.js +170 -164
  40. package/fesm2015/speechrecorderng.js.map +1 -1
  41. package/lib/speechrecorder/session/item.d.ts +7 -3
  42. package/lib/spr.module.version.d.ts +1 -1
  43. package/package.json +14 -14
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/operators'), require('rxjs'), require('@angular/common/http'), require('@angular/common'), require('@angular/material/icon'), require('@angular/material/tooltip'), require('@angular/flex-layout/extended'), require('@angular/flex-layout/flex'), require('@angular/router'), require('@angular/material/checkbox'), require('@angular/material/progress-spinner'), require('@angular/material/button'), require('@angular/material/dialog'), require('@angular/material/progress-bar'), require('@angular/flex-layout'), require('@angular/material/card'), require('@angular/material/divider'), require('@angular/material/grid-list'), require('@angular/material/snack-bar'), require('@angular/material/table'), require('@angular/material/select'), require('@angular/material/input')) :
3
3
  typeof define === 'function' && define.amd ? define('speechrecorderng', ['exports', '@angular/core', 'rxjs/operators', 'rxjs', '@angular/common/http', '@angular/common', '@angular/material/icon', '@angular/material/tooltip', '@angular/flex-layout/extended', '@angular/flex-layout/flex', '@angular/router', '@angular/material/checkbox', '@angular/material/progress-spinner', '@angular/material/button', '@angular/material/dialog', '@angular/material/progress-bar', '@angular/flex-layout', '@angular/material/card', '@angular/material/divider', '@angular/material/grid-list', '@angular/material/snack-bar', '@angular/material/table', '@angular/material/select', '@angular/material/input'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.speechrecorderng = {}, global.ng.core, global.rxjs.operators, global.rxjs, global.ng.common.http, global.ng.common, global.ng.material.icon, global.ng.material.tooltip, global.ng.flexLayout.extended, global.ng.flexLayout.flex, global.ng.router, global.ng.material.checkbox, global.ng.material.progressSpinner, global.ng.material.button, global.ng.material.dialog, global.ng.material.progressBar, global.ng.flexLayout, global.ng.material.card, global.ng.material.divider, global.ng.material.gridList, global.ng.material.snackBar, global.ng.material.table, global.ng.material.select, global.ng.material.input));
5
- }(this, (function (exports, i0, operators, rxjs, i1, i4, i2, i3, i3$1, i8, i1$1, i2$1, i1$2, i3$2, i1$3, i7, flexLayout, i1$4, divider, gridList, i6, table, select, input) { 'use strict';
5
+ })(this, (function (exports, i0, operators, rxjs, i1, i4, i2, i3, i3$1, i8, i1$1, i2$1, i1$2, i3$2, i1$3, i7, flexLayout, i1$4, divider, gridList, i6, table, select, input) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -13,14 +13,12 @@
13
13
  var d = Object.getOwnPropertyDescriptor(e, k);
14
14
  Object.defineProperty(n, k, d.get ? d : {
15
15
  enumerable: true,
16
- get: function () {
17
- return e[k];
18
- }
16
+ get: function () { return e[k]; }
19
17
  });
20
18
  }
21
19
  });
22
20
  }
23
- n['default'] = e;
21
+ n["default"] = e;
24
22
  return Object.freeze(n);
25
23
  }
26
24
 
@@ -275,7 +273,7 @@
275
273
  ar[i] = from[i];
276
274
  }
277
275
  }
278
- return to.concat(ar || from);
276
+ return to.concat(ar || Array.prototype.slice.call(from));
279
277
  }
280
278
  function __await(v) {
281
279
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -2231,9 +2229,9 @@
2231
2229
  }
2232
2230
  return SpeechRecorderConfig;
2233
2231
  }());
2234
- SpeechRecorderConfig.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechRecorderConfig, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2235
- SpeechRecorderConfig.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechRecorderConfig });
2236
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechRecorderConfig, decorators: [{
2232
+ SpeechRecorderConfig.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderConfig, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2233
+ SpeechRecorderConfig.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderConfig });
2234
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderConfig, decorators: [{
2237
2235
  type: i0.Injectable
2238
2236
  }], ctorParameters: function () { return []; } });
2239
2237
 
@@ -2286,9 +2284,9 @@
2286
2284
  return ProjectService;
2287
2285
  }());
2288
2286
  ProjectService.PROJECT_API_CTX = 'project';
2289
- ProjectService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ProjectService, deps: [{ token: i1__namespace.HttpClient }, { token: i4__namespace.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2290
- ProjectService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ProjectService });
2291
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ProjectService, decorators: [{
2287
+ ProjectService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProjectService, deps: [{ token: i1__namespace.HttpClient }, { token: i4__namespace.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2288
+ ProjectService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProjectService });
2289
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProjectService, decorators: [{
2292
2290
  type: i0.Injectable
2293
2291
  }], ctorParameters: function () {
2294
2292
  return [{ type: i1__namespace.HttpClient }, { type: i4__namespace.PlatformLocation }, { type: SpeechRecorderConfig, decorators: [{
@@ -2352,9 +2350,9 @@
2352
2350
  return SessionService;
2353
2351
  }());
2354
2352
  SessionService.SESSION_API_CTX = 'session';
2355
- SessionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2356
- SessionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionService });
2357
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionService, decorators: [{
2353
+ SessionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
2354
+ SessionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionService });
2355
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionService, decorators: [{
2358
2356
  type: i0.Injectable
2359
2357
  }], ctorParameters: function () {
2360
2358
  return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
@@ -2662,9 +2660,9 @@
2662
2660
  };
2663
2661
  return LevelBar;
2664
2662
  }());
2665
- LevelBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: LevelBar, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
2666
- LevelBar.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <div #virtualCanvas>\n <canvas #levelbar></canvas>\n <canvas #markerCanvas></canvas>\n </div>\n ", 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 }"] });
2667
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: LevelBar, decorators: [{
2663
+ LevelBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LevelBar, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
2664
+ LevelBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <div #virtualCanvas>\n <canvas #levelbar></canvas>\n <canvas #markerCanvas></canvas>\n </div>\n ", 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 }"] });
2665
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LevelBar, decorators: [{
2668
2666
  type: i0.Component,
2669
2667
  args: [{
2670
2668
  selector: 'audio-levelbar',
@@ -2756,9 +2754,9 @@
2756
2754
  };
2757
2755
  return RecordingItemControls;
2758
2756
  }());
2759
- RecordingItemControls.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingItemControls, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
2760
- RecordingItemControls.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: { audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", peakDbLvl: "peakDbLvl", agc: "agc", audioLoaded: "audioLoaded", playStartAction: "playStartAction", playStopAction: "playStopAction", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, ngImport: i0__namespace, template: "\n <button matTooltip=\"Start playback\" (click)=\"playStartAction?.perform()\"\n [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button matTooltip=\"Stop playback\" (click)=\"playStopAction?.perform()\"\n [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button>\n <button fxHide.xs matTooltip=\"Toggle detailed audio display\" [disabled]=\"!audioLoaded\"\n (click)=\"showRecordingDetails()\">\n <mat-icon>{{(audioSignalCollapsed) ? \"expand_less\" : \"expand_more\"}}</mat-icon>\n </button>\n <button matTooltip=\"Download current recording\" *ngIf=\"enableDownload\" [disabled]=\"!audioLoaded\"\n (click)=\"downloadRecording()\">\n <mat-icon>file_download</mat-icon>\n </button>\n <div style=\"min-width: 14ch;padding:2px\"><table style=\"border-style: none\"><tr><td>Peak:</td><td><span matTooltip=\"Peak level\"\n [style.color]=\"(peakDbLvl > warnDbLevel)?'red':'black'\">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>\n <tr *ngIf=\"_agc\"><td>AGC:</td><td><span matTooltip=\"Auto gain control\">{{agcString}}</span></td></tr></table></div>\n ", 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: 100%;\n\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 }", "span {\n flex: 0;\n font-weight: bold;\n display: inline-block;\n white-space: nowrap;\n box-sizing: border-box;\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3__namespace$1.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__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i4__namespace.DecimalPipe } });
2761
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingItemControls, decorators: [{
2757
+ RecordingItemControls.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemControls, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
2758
+ RecordingItemControls.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: { audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", peakDbLvl: "peakDbLvl", agc: "agc", audioLoaded: "audioLoaded", playStartAction: "playStartAction", playStopAction: "playStopAction", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, ngImport: i0__namespace, template: "\n <button matTooltip=\"Start playback\" (click)=\"playStartAction?.perform()\"\n [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button matTooltip=\"Stop playback\" (click)=\"playStopAction?.perform()\"\n [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button>\n <button fxHide.xs matTooltip=\"Toggle detailed audio display\" [disabled]=\"!audioLoaded\"\n (click)=\"showRecordingDetails()\">\n <mat-icon>{{(audioSignalCollapsed) ? \"expand_less\" : \"expand_more\"}}</mat-icon>\n </button>\n <button matTooltip=\"Download current recording\" *ngIf=\"enableDownload\" [disabled]=\"!audioLoaded\"\n (click)=\"downloadRecording()\">\n <mat-icon>file_download</mat-icon>\n </button>\n <div style=\"min-width: 14ch;padding:2px\"><table style=\"border-style: none\"><tr><td>Peak:</td><td><span matTooltip=\"Peak level\"\n [style.color]=\"(peakDbLvl > warnDbLevel)?'red':'black'\">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>\n <tr *ngIf=\"_agc\"><td>AGC:</td><td><span matTooltip=\"Auto gain control\">{{agcString}}</span></td></tr></table></div>\n ", 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: 100%;\n\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 }", "span {\n flex: 0;\n font-weight: bold;\n display: inline-block;\n white-space: nowrap;\n box-sizing: border-box;\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3__namespace$1.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__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i4__namespace.DecimalPipe } });
2759
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemControls, decorators: [{
2762
2760
  type: i0.Component,
2763
2761
  args: [{
2764
2762
  selector: 'spr-recordingitemcontrols',
@@ -2879,9 +2877,9 @@
2879
2877
  };
2880
2878
  return RecordingItemDisplay;
2881
2879
  }());
2882
- RecordingItemDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingItemDisplay, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
2883
- RecordingItemDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingItemDisplay, selector: "spr-recordingitemdisplay", inputs: { streamingMode: "streamingMode", audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", agc: "agc", 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__namespace, template: "\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"streamingMode\" [displayLevelInfos]=\"_displayLevelInfos\"></audio-levelbar>\n <spr-recordingitemcontrols fxFlex=\"0 0 0\" [audioLoaded]=\"displayAudioBuffer!==null\" [playStartAction]=\"playStartAction\" [playStopAction]=\"playStopAction\" [peakDbLvl]=\"peakDbLvl\" [agc]=\"_agc\" (onShowRecordingDetails)=\"onShowRecordingDetails.emit()\"></spr-recordingitemcontrols>\n </div>\n ", isInline: true, styles: ["div {\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "audio-levelbar {\n box-sizing: border-box;\n }"], components: [{ type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }], directives: [{ type: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
2884
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingItemDisplay, decorators: [{
2880
+ RecordingItemDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemDisplay, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
2881
+ RecordingItemDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingItemDisplay, selector: "spr-recordingitemdisplay", inputs: { streamingMode: "streamingMode", audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", agc: "agc", 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__namespace, template: "\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"streamingMode\" [displayLevelInfos]=\"_displayLevelInfos\"></audio-levelbar>\n <spr-recordingitemcontrols fxFlex=\"0 0 0\" [audioLoaded]=\"displayAudioBuffer!==null\" [playStartAction]=\"playStartAction\" [playStopAction]=\"playStopAction\" [peakDbLvl]=\"peakDbLvl\" [agc]=\"_agc\" (onShowRecordingDetails)=\"onShowRecordingDetails.emit()\"></spr-recordingitemcontrols>\n </div>\n ", isInline: true, styles: ["div {\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "audio-levelbar {\n box-sizing: border-box;\n }"], components: [{ type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }], directives: [{ type: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
2882
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemDisplay, decorators: [{
2885
2883
  type: i0.Component,
2886
2884
  args: [{
2887
2885
  selector: 'spr-recordingitemdisplay',
@@ -3380,9 +3378,9 @@
3380
3378
  });
3381
3379
  return SimpleTrafficLight;
3382
3380
  }());
3383
- SimpleTrafficLight.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SimpleTrafficLight, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3384
- SimpleTrafficLight.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: { status: "status" }, ngImport: i0__namespace, template: "\n\n <div>\n <div class=\"circle {{lighttop}}\"></div>\n <div class=\"circle {{lightmid}}\"></div>\n <div class=\"circle {{lightbottom}}\"></div>\n </div>\n ", 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 "] });
3385
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SimpleTrafficLight, decorators: [{
3381
+ SimpleTrafficLight.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SimpleTrafficLight, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
3382
+ SimpleTrafficLight.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: { status: "status" }, ngImport: i0__namespace, template: "\n\n <div>\n <div class=\"circle {{lighttop}}\"></div>\n <div class=\"circle {{lightmid}}\"></div>\n <div class=\"circle {{lightbottom}}\"></div>\n </div>\n ", 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 "] });
3383
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SimpleTrafficLight, decorators: [{
3386
3384
  type: i0.Component,
3387
3385
  args: [{
3388
3386
  selector: 'app-simpletrafficlight',
@@ -3455,9 +3453,9 @@
3455
3453
  };
3456
3454
  return CanvasLayerComponent;
3457
3455
  }());
3458
- CanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: CanvasLayerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
3459
- CanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: CanvasLayerComponent, ngImport: i0__namespace });
3460
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: CanvasLayerComponent, decorators: [{
3456
+ CanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: CanvasLayerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
3457
+ CanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: CanvasLayerComponent, ngImport: i0__namespace });
3458
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: CanvasLayerComponent, decorators: [{
3461
3459
  type: i0.Directive
3462
3460
  }], ctorParameters: function () { return []; } });
3463
3461
 
@@ -3742,9 +3740,9 @@
3742
3740
  };
3743
3741
  return BasicAudioCanvasLayerComponent;
3744
3742
  }(CanvasLayerComponent));
3745
- BasicAudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: BasicAudioCanvasLayerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
3746
- BasicAudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0__namespace });
3747
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: BasicAudioCanvasLayerComponent, decorators: [{
3743
+ BasicAudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: BasicAudioCanvasLayerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
3744
+ BasicAudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0__namespace });
3745
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: BasicAudioCanvasLayerComponent, decorators: [{
3748
3746
  type: i0.Directive
3749
3747
  }] });
3750
3748
  var AudioCanvasLayerComponent = /** @class */ (function (_super) {
@@ -3962,9 +3960,9 @@
3962
3960
  };
3963
3961
  return AudioCanvasLayerComponent;
3964
3962
  }(BasicAudioCanvasLayerComponent));
3965
- AudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioCanvasLayerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
3966
- AudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵ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__namespace });
3967
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioCanvasLayerComponent, decorators: [{
3963
+ AudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioCanvasLayerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
3964
+ AudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", 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__namespace });
3965
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioCanvasLayerComponent, decorators: [{
3968
3966
  type: i0.Directive
3969
3967
  }], propDecorators: { bgCanvasRef: [{
3970
3968
  type: i0.ViewChild,
@@ -4297,9 +4295,9 @@
4297
4295
  };
4298
4296
  return AudioSignal;
4299
4297
  }(AudioCanvasLayerComponent));
4300
- AudioSignal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioSignal, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
4301
- AudioSignal.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <canvas #bg height=\"10\"></canvas>\n <canvas #audioSignal height=\"10\"></canvas>\n <canvas #cursor height=\"10\" (mousedown)=\"selectionStart($event)\" (mouseover)=\"updateCursorCanvas($event)\" (mousemove)=\"updateCursorCanvas($event)\"\n (mouseleave)=\"updateCursorCanvas($event, false)\"></canvas>\n <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 }"] });
4302
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioSignal, decorators: [{
4298
+ AudioSignal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioSignal, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
4299
+ AudioSignal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <canvas #bg height=\"10\"></canvas>\n <canvas #audioSignal height=\"10\"></canvas>\n <canvas #cursor height=\"10\" (mousedown)=\"selectionStart($event)\" (mouseover)=\"updateCursorCanvas($event)\" (mousemove)=\"updateCursorCanvas($event)\"\n (mouseleave)=\"updateCursorCanvas($event, false)\"></canvas>\n <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 }"] });
4300
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioSignal, decorators: [{
4303
4301
  type: i0.Component,
4304
4302
  args: [{
4305
4303
  selector: 'audio-signal',
@@ -5235,9 +5233,9 @@
5235
5233
  };
5236
5234
  return Sonagram;
5237
5235
  }(AudioCanvasLayerComponent));
5238
- Sonagram.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Sonagram, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5239
- Sonagram.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <canvas #sonagram height=\"10\"></canvas>\n <canvas #bg height=\"10\"></canvas>\n <canvas #cursor height=\"10\" (mousedown)=\"selectionStart($event)\" (mouseover)=\"updateCursorCanvas($event)\" (mousemove)=\"updateCursorCanvas($event)\"\n (mouseleave)=\"updateCursorCanvas($event, false)\"></canvas>\n <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 }"] });
5240
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Sonagram, decorators: [{
5236
+ Sonagram.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Sonagram, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5237
+ Sonagram.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <canvas #sonagram height=\"10\"></canvas>\n <canvas #bg height=\"10\"></canvas>\n <canvas #cursor height=\"10\" (mousedown)=\"selectionStart($event)\" (mouseover)=\"updateCursorCanvas($event)\" (mousemove)=\"updateCursorCanvas($event)\"\n (mouseleave)=\"updateCursorCanvas($event, false)\"></canvas>\n <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 }"] });
5238
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Sonagram, decorators: [{
5241
5239
  type: i0.Component,
5242
5240
  args: [{
5243
5241
  selector: 'audio-sonagram',
@@ -5596,9 +5594,9 @@
5596
5594
  return AudioClipUIContainer;
5597
5595
  }(BasicAudioCanvasLayerComponent));
5598
5596
  AudioClipUIContainer.DIVIDER_PIXEL_SIZE = 10;
5599
- AudioClipUIContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioClipUIContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5600
- AudioClipUIContainer.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <div #virtualCanvas>\n <canvas #divider (mousedown)=\"mousedown($event)\" (mouseover)=\"mouseover($event)\"\n (mouseleave)=\"mouseleave($event)\" height=\"10\"></canvas>\n <audio-signal [pointerPosition]=\"pointer\" [selecting]=\"selecting\" [selection]=\"selection\" (pointerPositionEventEmitter)=\"pointerPositionChanged($event)\" (selectingEventEmitter)=\"selectingChanged($event)\" (selectedEventEmitter)=\"selectionChanged($event)\"></audio-signal>\n <audio-sonagram [pointerPosition]=\"pointer\" [selecting]=\"selecting\" [selection]=\"selection\" (pointerPositionEventEmitter)=\"pointerPositionChanged($event)\" (selectingEventEmitter)=\"selectingChanged($event)\" (selectedEventEmitter)=\"selectionChanged($event)\"></audio-sonagram>\n </div>\n ", 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" }] });
5601
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioClipUIContainer, decorators: [{
5597
+ AudioClipUIContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioClipUIContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5598
+ AudioClipUIContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <div #virtualCanvas>\n <canvas #divider (mousedown)=\"mousedown($event)\" (mouseover)=\"mouseover($event)\"\n (mouseleave)=\"mouseleave($event)\" height=\"10\"></canvas>\n <audio-signal [pointerPosition]=\"pointer\" [selecting]=\"selecting\" [selection]=\"selection\" (pointerPositionEventEmitter)=\"pointerPositionChanged($event)\" (selectingEventEmitter)=\"selectingChanged($event)\" (selectedEventEmitter)=\"selectionChanged($event)\"></audio-signal>\n <audio-sonagram [pointerPosition]=\"pointer\" [selecting]=\"selecting\" [selection]=\"selection\" (pointerPositionEventEmitter)=\"pointerPositionChanged($event)\" (selectingEventEmitter)=\"selectingChanged($event)\" (selectedEventEmitter)=\"selectionChanged($event)\"></audio-sonagram>\n </div>\n ", 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" }] });
5599
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioClipUIContainer, decorators: [{
5602
5600
  type: i0.Component,
5603
5601
  args: [{
5604
5602
  selector: 'app-audio',
@@ -5759,9 +5757,9 @@
5759
5757
  });
5760
5758
  return AudioDisplayScrollPane;
5761
5759
  }());
5762
- AudioDisplayScrollPane.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplayScrollPane, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5763
- AudioDisplayScrollPane.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <app-audio #audioSignalContainer (selectionEventEmitter)=\"selectionChanged($event)\"></app-audio>\n\n ", 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"] }] });
5764
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplayScrollPane, decorators: [{
5760
+ AudioDisplayScrollPane.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayScrollPane, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5761
+ AudioDisplayScrollPane.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n\n <app-audio #audioSignalContainer (selectionEventEmitter)=\"selectionChanged($event)\"></app-audio>\n\n ", 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"] }] });
5762
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayScrollPane, decorators: [{
5765
5763
  type: i0.Component,
5766
5764
  args: [{
5767
5765
  selector: 'audio-display-scroll-pane',
@@ -5825,9 +5823,9 @@
5825
5823
  };
5826
5824
  return AudioDisplayControl;
5827
5825
  }());
5828
- AudioDisplayControl.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplayControl, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5829
- AudioDisplayControl.ɵcmp = i0__namespace.ɵɵ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: i2$1.MatCheckbox, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div #controlPanel style=\"display:flex;flex-direction: row;\">\n <fieldset>\n\n <legend>Play</legend>\n\n <button (click)=\"playStartAction?.perform()\" [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\" matTooltip=\"Play all\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button (click)=\"playSelectionAction?.perform()\" [disabled]=\"playSelectionAction?.disabled\"\n [style.color]=\"playSelectionAction?.disabled ? 'grey' : 'green'\" matTooltip=\"Play selection\">\n <mat-icon>play_circle_outline</mat-icon>\n </button>\n <button (click)=\"playStopAction?.perform()\" [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button>&nbsp;\n <mat-checkbox #autoplaySelectionCheckbox (change)=\"autoPlaySelectionChange($event)\">Autoplay on select\n </mat-checkbox>\n </fieldset>\n <fieldset>\n\n <legend>Zoom</legend>\n <button (click)=\"zoomFitToPanelAction?.perform()\"\n [disabled]=\"zoomFitToPanelAction?.disabled\">{{zoomFitToPanelAction?.name}}</button>\n <button (click)=\"zoomOutAction?.perform()\"\n [disabled]=\"zoomOutAction?.disabled\">{{zoomOutAction?.name}}</button>\n <button (click)=\"zoomInAction?.perform()\"\n [disabled]=\"zoomInAction?.disabled\">{{zoomInAction?.name}}</button>\n <button (click)=\"zoomSelectedAction?.perform()\"\n [disabled]=\"zoomSelectedAction?.disabled\">{{zoomSelectedAction?.name}}</button>\n </fieldset>\n <fieldset>\n <legend>Selection</legend>\n {{audioClip?.selection?.leftFrame}} <span\n *ngIf=\"audioClip?.selection\">to</span> {{audioClip?.selection?.rightFrame}}\n <button (click)=\"clearSelection()\" [disabled]=\"audioClip?.selection==null\"\n [style.color]=\"hasSelection() ? 'red' : 'grey'\" matTooltip=\"Clear selection\">\n <mat-icon>clear</mat-icon>\n </button>\n\n </fieldset>\n </div>", isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2__namespace$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__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
5830
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplayControl, decorators: [{
5826
+ AudioDisplayControl.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayControl, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5827
+ AudioDisplayControl.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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: i2$1.MatCheckbox, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div #controlPanel style=\"display:flex;flex-direction: row;\">\n <fieldset>\n\n <legend>Play</legend>\n\n <button (click)=\"playStartAction?.perform()\" [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\" matTooltip=\"Play all\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button (click)=\"playSelectionAction?.perform()\" [disabled]=\"playSelectionAction?.disabled\"\n [style.color]=\"playSelectionAction?.disabled ? 'grey' : 'green'\" matTooltip=\"Play selection\">\n <mat-icon>play_circle_outline</mat-icon>\n </button>\n <button (click)=\"playStopAction?.perform()\" [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button>&nbsp;\n <mat-checkbox #autoplaySelectionCheckbox (change)=\"autoPlaySelectionChange($event)\">Autoplay on select\n </mat-checkbox>\n </fieldset>\n <fieldset>\n\n <legend>Zoom</legend>\n <button (click)=\"zoomFitToPanelAction?.perform()\"\n [disabled]=\"zoomFitToPanelAction?.disabled\">{{zoomFitToPanelAction?.name}}</button>\n <button (click)=\"zoomOutAction?.perform()\"\n [disabled]=\"zoomOutAction?.disabled\">{{zoomOutAction?.name}}</button>\n <button (click)=\"zoomInAction?.perform()\"\n [disabled]=\"zoomInAction?.disabled\">{{zoomInAction?.name}}</button>\n <button (click)=\"zoomSelectedAction?.perform()\"\n [disabled]=\"zoomSelectedAction?.disabled\">{{zoomSelectedAction?.name}}</button>\n </fieldset>\n <fieldset>\n <legend>Selection</legend>\n {{audioClip?.selection?.leftFrame}} <span\n *ngIf=\"audioClip?.selection\">to</span> {{audioClip?.selection?.rightFrame}}\n <button (click)=\"clearSelection()\" [disabled]=\"audioClip?.selection==null\"\n [style.color]=\"hasSelection() ? 'red' : 'grey'\" matTooltip=\"Clear selection\">\n <mat-icon>clear</mat-icon>\n </button>\n\n </fieldset>\n </div>", isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2__namespace$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__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
5828
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayControl, decorators: [{
5831
5829
  type: i0.Component,
5832
5830
  args: [{
5833
5831
  selector: 'audio-display-control',
@@ -5937,9 +5935,9 @@
5937
5935
  };
5938
5936
  return AudioDisplay;
5939
5937
  }());
5940
- AudioDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplay, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5941
- AudioDisplay.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n ", 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"] }] });
5942
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplay, decorators: [{
5938
+ AudioDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplay, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5939
+ AudioDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n ", 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"] }] });
5940
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplay, decorators: [{
5943
5941
  type: i0.Component,
5944
5942
  args: [{
5945
5943
  selector: 'app-audiodisplay',
@@ -5980,9 +5978,9 @@
5980
5978
  });
5981
5979
  return ScrollIntoViewDirective;
5982
5980
  }());
5983
- ScrollIntoViewDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScrollIntoViewDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
5984
- ScrollIntoViewDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.10", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: { scrollIntoViewToBottom: "scrollIntoViewToBottom" }, ngImport: i0__namespace });
5985
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScrollIntoViewDirective, decorators: [{
5981
+ ScrollIntoViewDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollIntoViewDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
5982
+ ScrollIntoViewDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: { scrollIntoViewToBottom: "scrollIntoViewToBottom" }, ngImport: i0__namespace });
5983
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollIntoViewDirective, decorators: [{
5986
5984
  type: i0.Directive,
5987
5985
  args: [{
5988
5986
  selector: "[scrollIntoViewToBottom]"
@@ -6029,9 +6027,9 @@
6029
6027
  });
6030
6028
  return Progress;
6031
6029
  }());
6032
- Progress.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Progress, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6033
- Progress.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <table class=\"mat-typography\">\n <thead>\n <tr>\n <th>#</th><!--<th>Code</th>-->\n <th>Prompt</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"items\">\n\n <tr *ngFor=\"let item of items; let itIdx=index;\"\n (click)=\"rowSelect=itIdx\" [class.selRow]=\"itIdx===selectedItemIdx\"\n [scrollIntoViewToBottom]=\"itIdx===selectedItemIdx\">\n <td>{{itIdx}}</td>\n <td class=\"promptDescriptor\">{{item.promptAsString}}</td>\n <td>\n <mat-icon *ngIf=\"item.recs && item.recs.length>0\">done</mat-icon>\n\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n </table>\n ", 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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }] });
6034
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Progress, decorators: [{
6030
+ Progress.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Progress, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6031
+ Progress.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n\n <table class=\"mat-typography\">\n <thead>\n <tr>\n <th>#</th><!--<th>Code</th>-->\n <th>Prompt</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"items\">\n\n <tr *ngFor=\"let item of items; let itIdx=index;\"\n (click)=\"rowSelect=itIdx\" [class.selRow]=\"itIdx===selectedItemIdx\"\n [scrollIntoViewToBottom]=\"itIdx===selectedItemIdx\">\n <td>{{itIdx}}</td>\n <td class=\"promptDescriptor\">{{item.promptAsString}}</td>\n <td>\n <mat-icon *ngIf=\"item.recs && item.recs.length>0\">done</mat-icon>\n\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n </table>\n ", 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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }] });
6032
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Progress, decorators: [{
6035
6033
  type: i0.Component,
6036
6034
  args: [{
6037
6035
  selector: 'app-sprprogress',
@@ -6074,9 +6072,9 @@
6074
6072
  };
6075
6073
  return Recinstructions;
6076
6074
  }());
6077
- Recinstructions.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Recinstructions, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6078
- Recinstructions.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: Recinstructions, selector: "spr-recinstructions", inputs: { recinstructions: "recinstructions", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount" }, ngImport: i0__namespace, template: "\n\n {{displayText()}}\n ", 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 "] });
6079
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Recinstructions, decorators: [{
6075
+ Recinstructions.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Recinstructions, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6076
+ Recinstructions.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Recinstructions, selector: "spr-recinstructions", inputs: { recinstructions: "recinstructions", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount" }, ngImport: i0__namespace, template: "\n\n {{displayText()}}\n ", 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 "] });
6077
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Recinstructions, decorators: [{
6080
6078
  type: i0.Component,
6081
6079
  args: [{
6082
6080
  selector: 'spr-recinstructions',
@@ -6264,9 +6262,9 @@
6264
6262
  });
6265
6263
  return Prompter;
6266
6264
  }());
6267
- Prompter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Prompter, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: ProjectService }], target: i0__namespace.ɵɵFactoryTarget.Component });
6268
- Prompter.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <!--<ng-template [ngIf]=\"text\">{{text}}</ng-template>-->\n <!-- <img *ngIf=\"src\" #promptImage [src]=\"srcUrl()\" [height]=\"prompterHeight-20\" /> -->\n ", 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 }"] });
6269
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Prompter, decorators: [{
6265
+ Prompter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompter, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: ProjectService }], target: i0__namespace.ɵɵFactoryTarget.Component });
6266
+ Prompter.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Prompter, selector: "app-sprprompter", inputs: { projectName: "projectName", prompterHeight: "prompterHeight", promptMediaItems: "promptMediaItems" }, host: { properties: { "class.fill": "this.prompterStyleFill" } }, ngImport: i0__namespace, template: "\n\n <!--<ng-template [ngIf]=\"text\">{{text}}</ng-template>-->\n <!-- <img *ngIf=\"src\" #promptImage [src]=\"srcUrl()\" [height]=\"prompterHeight-20\" /> -->\n ", 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 }"] });
6267
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompter, decorators: [{
6270
6268
  type: i0.Component,
6271
6269
  args: [{
6272
6270
  selector: 'app-sprprompter',
@@ -6421,9 +6419,9 @@
6421
6419
  };
6422
6420
  return PromptContainer;
6423
6421
  }());
6424
- PromptContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: PromptContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
6425
- PromptContainer.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <app-sprprompter #prompter [projectName]=\"projectName\" [promptMediaItems]=\"mediaitems\" [style.font-size]=\"fontSize+'px'\" [style.visibility]=\"prDisplay\" [prompterHeight]=\"prompterHeight\"></app-sprprompter>\n ", 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"] }] });
6426
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: PromptContainer, decorators: [{
6422
+ PromptContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
6423
+ PromptContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <app-sprprompter #prompter [projectName]=\"projectName\" [promptMediaItems]=\"mediaitems\" [style.font-size]=\"fontSize+'px'\" [style.visibility]=\"prDisplay\" [prompterHeight]=\"prompterHeight\"></app-sprprompter>\n ", 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"] }] });
6424
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptContainer, decorators: [{
6427
6425
  type: i0.Component,
6428
6426
  args: [{
6429
6427
  selector: 'app-sprpromptcontainer',
@@ -6549,9 +6547,9 @@
6549
6547
  };
6550
6548
  return PromptingContainer;
6551
6549
  }());
6552
- PromptingContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: PromptingContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
6553
- PromptingContainer.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <spr-recinstructions [selectedItemIdx]=\"selectedItemIdx\" [itemCount]=\"itemCount\"\n [recinstructions]=\"promptItem?.recinstructions?.recinstructions\"></spr-recinstructions>\n <app-sprpromptcontainer [projectName]=\"projectName\"\n [mediaitems]=\"showPrompt?(promptItem?promptItem.mediaitems:null):null\"></app-sprpromptcontainer>\n\n ", 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"] }] });
6554
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: PromptingContainer, decorators: [{
6550
+ PromptingContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptingContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
6551
+ PromptingContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <spr-recinstructions [selectedItemIdx]=\"selectedItemIdx\" [itemCount]=\"itemCount\"\n [recinstructions]=\"promptItem?.recinstructions?.recinstructions\"></spr-recinstructions>\n <app-sprpromptcontainer [projectName]=\"projectName\"\n [mediaitems]=\"showPrompt?(promptItem?promptItem.mediaitems:null):null\"></app-sprpromptcontainer>\n\n ", 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"] }] });
6552
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptingContainer, decorators: [{
6555
6553
  type: i0.Component,
6556
6554
  args: [{
6557
6555
  selector: 'app-sprpromptingcontainer',
@@ -6606,9 +6604,9 @@
6606
6604
  };
6607
6605
  return Prompting;
6608
6606
  }());
6609
- Prompting.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Prompting, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6610
- Prompting.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <app-simpletrafficlight [status]=\"startStopSignalState\"></app-simpletrafficlight>\n <app-sprpromptingcontainer [projectName]=\"projectName\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [itemCount]=\"items?.length\" [selectedItemIdx]=\"selectedItemIdx\"\n [transportActions]=\"transportActions\"></app-sprpromptingcontainer>\n <app-sprprogress fxHide.xs [items]=\"items\" [selectedItemIdx]=\"selectedItemIdx\"\n (onRowSelect)=\"itemSelect($event)\"></app-sprprogress>\n <div fxHide.xs #asCt [class.active]=\"!audioSignalCollapsed\">\n\n <app-audiodisplay #audioSignalContainer [class.active]=\"!audioSignalCollapsed\"\n [audioClip]=\"displayAudioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [playStopAction]=\"playStopAction\"></app-audiodisplay>\n\n\n </div>\n\n\n\n ", 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: i3__namespace$1.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"] }] });
6611
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: Prompting, decorators: [{
6607
+ Prompting.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompting, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6608
+ Prompting.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n\n <app-simpletrafficlight [status]=\"startStopSignalState\"></app-simpletrafficlight>\n <app-sprpromptingcontainer [projectName]=\"projectName\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [itemCount]=\"items?.length\" [selectedItemIdx]=\"selectedItemIdx\"\n [transportActions]=\"transportActions\"></app-sprpromptingcontainer>\n <app-sprprogress fxHide.xs [items]=\"items\" [selectedItemIdx]=\"selectedItemIdx\"\n (onRowSelect)=\"itemSelect($event)\"></app-sprprogress>\n <div fxHide.xs #asCt [class.active]=\"!audioSignalCollapsed\">\n\n <app-audiodisplay #audioSignalContainer [class.active]=\"!audioSignalCollapsed\"\n [audioClip]=\"displayAudioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [playStopAction]=\"playStopAction\"></app-audiodisplay>\n\n\n </div>\n\n\n\n ", 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: i3__namespace$1.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"] }] });
6609
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompting, decorators: [{
6612
6610
  type: i0.Component,
6613
6611
  args: [{
6614
6612
  selector: 'app-sprprompting',
@@ -6770,14 +6768,14 @@
6770
6768
  }
6771
6769
  return StatusDisplay;
6772
6770
  }());
6773
- StatusDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: StatusDisplay, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6774
- StatusDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0__namespace, template: "\n <p matTooltip=\"Status\">\n <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>\n {{statusMsg}}\n </p>\n ", 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\n padding: 4px;\n border-style: inset;\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__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
6775
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: StatusDisplay, decorators: [{
6771
+ StatusDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StatusDisplay, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6772
+ StatusDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0__namespace, template: "\n <p matTooltip=\"Status\">\n <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>\n {{statusMsg}}\n </p>\n ", isInline: true, styles: [":host {\n display: inline;\n text-align: left;\n font-size: smaller;\n }", "\n p {\n padding: 4px;\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__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
6773
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StatusDisplay, decorators: [{
6776
6774
  type: i0.Component,
6777
6775
  args: [{
6778
6776
  selector: 'app-sprstatusdisplay',
6779
6777
  template: "\n <p matTooltip=\"Status\">\n <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>\n {{statusMsg}}\n </p>\n ",
6780
- 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\n padding: 4px;\n border-style: inset;\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 "]
6778
+ styles: [":host {\n display: inline;\n text-align: left;\n font-size: smaller;\n }", "\n p {\n padding: 4px;\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 "]
6781
6779
  }]
6782
6780
  }], propDecorators: { statusAlertType: [{
6783
6781
  type: i0.Input
@@ -6846,9 +6844,9 @@
6846
6844
  });
6847
6845
  return UploadStatus;
6848
6846
  }());
6849
- UploadStatus.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: UploadStatus, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6850
- UploadStatus.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0__namespace, template: "\n <mat-progress-spinner [mode]=\"spinnerMode\" [color]=\"status\" [diameter]=\"30\" [strokeWidth]=\"5\" [value]=\"_value\" [matTooltip]=\"toolTipText\"></mat-progress-spinner>\n ", 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__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
6851
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: UploadStatus, decorators: [{
6847
+ UploadStatus.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: UploadStatus, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6848
+ UploadStatus.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0__namespace, template: "\n <mat-progress-spinner [mode]=\"spinnerMode\" [color]=\"status\" [diameter]=\"30\" [strokeWidth]=\"5\" [value]=\"_value\" [matTooltip]=\"toolTipText\"></mat-progress-spinner>\n ", 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__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
6849
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: UploadStatus, decorators: [{
6852
6850
  type: i0.Component,
6853
6851
  args: [{
6854
6852
  selector: 'app-uploadstatus',
@@ -6868,9 +6866,9 @@
6868
6866
  }
6869
6867
  return ProgressDisplay;
6870
6868
  }());
6871
- ProgressDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ProgressDisplay, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6872
- ProgressDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0__namespace, template: "\n <p>{{progressMsg}}</p>\n ", isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n /*display: inline; */\n width: 100%;\n text-align: left;\n }"] });
6873
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ProgressDisplay, decorators: [{
6869
+ ProgressDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProgressDisplay, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6870
+ ProgressDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0__namespace, template: "\n <p>{{progressMsg}}</p>\n ", isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n /*display: inline; */\n width: 100%;\n text-align: left;\n }"] });
6871
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProgressDisplay, decorators: [{
6874
6872
  type: i0.Component,
6875
6873
  args: [{
6876
6874
  selector: 'app-sprprogressdisplay',
@@ -6963,9 +6961,9 @@
6963
6961
  };
6964
6962
  return TransportPanel;
6965
6963
  }());
6966
- TransportPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: TransportPanel, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6967
- TransportPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled" }, ngImport: i0__namespace, template: "\n <button id=\"bwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.bwdAction.perform()\" [disabled]=\"bwdDisabled()\"\n mat-raised-button>\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"startStopNextPerform()\" [disabled]=\"startDisabled() && stopDisabled() && nextDisabled()\" mat-raised-button>\n <mat-icon [style.color]=\"startStopNextIconColor()\">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf=\"!nextDisabled()\" [style.color]=\"nextDisabled() ? 'grey' : 'black'\">chevron_right</mat-icon>\n <span fxShow.xs=\"false\">{{startStopNextName()}}</span>\n </button>\n <button (click)=\"actions.pauseAction.perform()\" [disabled]=\"pauseDisabled()\" mat-raised-button>\n <mat-icon>pause</mat-icon>\n <span fxShow.xs=\"false\">Pause</span>\n </button>\n <button id=\"fwdNextBtn\" *ngIf=\"navigationEnabled\" fxHide.xs (click)=\"actions.fwdNextAction.perform()\" [disabled]=\"fwdNextDisabled()\" mat-raised-button>\n <mat-icon>redo</mat-icon>\n </button>\n <button id=\"fwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.fwdAction.perform()\" [disabled]=\"fwdDisabled()\" mat-raised-button>\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n ", 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 }", "\n div {\n display: inline;\n flex: 0;\n }"], components: [{ type: i3__namespace$2.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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.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"] }] });
6968
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: TransportPanel, decorators: [{
6964
+ TransportPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TransportPanel, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
6965
+ TransportPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled" }, ngImport: i0__namespace, template: "\n <button id=\"bwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.bwdAction.perform()\" [disabled]=\"bwdDisabled()\"\n mat-raised-button>\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"startStopNextPerform()\" [disabled]=\"startDisabled() && stopDisabled() && nextDisabled()\" mat-raised-button>\n <mat-icon [style.color]=\"startStopNextIconColor()\">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf=\"!nextDisabled()\" [style.color]=\"nextDisabled() ? 'grey' : 'black'\">chevron_right</mat-icon>\n <span fxShow.xs=\"false\">{{startStopNextName()}}</span>\n </button>\n <button (click)=\"actions.pauseAction.perform()\" [disabled]=\"pauseDisabled()\" mat-raised-button>\n <mat-icon>pause</mat-icon>\n <span fxShow.xs=\"false\">Pause</span>\n </button>\n <button id=\"fwdNextBtn\" *ngIf=\"navigationEnabled\" fxHide.xs (click)=\"actions.fwdNextAction.perform()\" [disabled]=\"fwdNextDisabled()\" mat-raised-button>\n <mat-icon>redo</mat-icon>\n </button>\n <button id=\"fwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.fwdAction.perform()\" [disabled]=\"fwdDisabled()\" mat-raised-button>\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n ", 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 }", "\n div {\n display: inline;\n flex: 0;\n }"], components: [{ type: i3__namespace$2.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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.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"] }] });
6966
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TransportPanel, decorators: [{
6969
6967
  type: i0.Component,
6970
6968
  args: [{
6971
6969
  selector: 'app-sprtransport',
@@ -7000,9 +6998,9 @@
7000
6998
  });
7001
6999
  return ReadyStateIndicator;
7002
7000
  }());
7003
- ReadyStateIndicator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ReadyStateIndicator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
7004
- ReadyStateIndicator.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: { ready: "ready" }, ngImport: i0__namespace, template: "\n <mat-icon [matTooltip]=\"readyStateToolTip\">{{hourGlassIconName}}</mat-icon>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
7005
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ReadyStateIndicator, decorators: [{
7001
+ ReadyStateIndicator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ReadyStateIndicator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
7002
+ ReadyStateIndicator.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: { ready: "ready" }, ngImport: i0__namespace, template: "\n <mat-icon [matTooltip]=\"readyStateToolTip\">{{hourGlassIconName}}</mat-icon>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
7003
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ReadyStateIndicator, decorators: [{
7006
7004
  type: i0.Component,
7007
7005
  args: [{
7008
7006
  selector: 'app-readystateindicator',
@@ -7031,9 +7029,9 @@
7031
7029
  });
7032
7030
  return ControlPanel;
7033
7031
  }());
7034
- ControlPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ControlPanel, deps: [{ token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
7035
- ControlPanel.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <div fxHide.xs fxLayout=\"row\" >\n <app-sprstatusdisplay fxFlex=\"0 0 0\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-sprtransport fxFlex=\"10 0 0\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <div fxShow.xs fxHide fxLayout=\"column\">\n <div fxLayout=\"row\" fxFlexFill>\n <app-sprstatusdisplay fxFlex=\"10 0 0\" fxFlexAlign=\"left\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <app-sprtransport [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n\n </div>\n ", isInline: true, styles: ["div {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\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: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }], directives: [{ type: i3__namespace$1.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: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { type: i8__namespace.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }] });
7036
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ControlPanel, decorators: [{
7032
+ ControlPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ControlPanel, deps: [{ token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
7033
+ ControlPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <div fxHide.xs fxLayout=\"row\" >\n <app-sprstatusdisplay fxFlex=\"0 0 0\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-sprtransport fxFlex=\"10 0 0\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <div fxShow.xs fxHide fxLayout=\"column\">\n <div fxLayout=\"row\" fxFlexFill>\n <app-sprstatusdisplay fxFlex=\"10 0 0\" fxFlexAlign=\"left\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <app-sprtransport [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n\n </div>\n ", isInline: true, styles: ["div {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\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: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }], directives: [{ type: i3__namespace$1.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: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { type: i8__namespace.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }] });
7034
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ControlPanel, decorators: [{
7037
7035
  type: i0.Component,
7038
7036
  args: [{
7039
7037
  selector: 'app-sprcontrolpanel',
@@ -7082,9 +7080,9 @@
7082
7080
  };
7083
7081
  return SessionFinishedDialog;
7084
7082
  }());
7085
- SessionFinishedDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionFinishedDialog, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
7086
- SessionFinishedDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: SessionFinishedDialog, selector: "spr-session-finished-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title><mat-icon [style.color]=\"'green'\">done_all</mat-icon> Session finished</h1>\n <div mat-dialog-content>\n\n <p>Thank you! The recording session is complete.</p>\n\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"closeDialog()\">OK</button>\n </div>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.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__namespace$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
7087
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionFinishedDialog, decorators: [{
7083
+ SessionFinishedDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionFinishedDialog, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
7084
+ SessionFinishedDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SessionFinishedDialog, selector: "spr-session-finished-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title><mat-icon [style.color]=\"'green'\">done_all</mat-icon> Session finished</h1>\n <div mat-dialog-content>\n\n <p>Thank you! The recording session is complete.</p>\n\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"closeDialog()\">OK</button>\n </div>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.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__namespace$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
7085
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionFinishedDialog, decorators: [{
7088
7086
  type: i0.Component,
7089
7087
  args: [{
7090
7088
  selector: 'spr-session-finished-dialog',
@@ -7107,9 +7105,9 @@
7107
7105
  };
7108
7106
  return MessageDialog;
7109
7107
  }());
7110
- MessageDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: MessageDialog, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
7111
- MessageDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: MessageDialog, selector: "msg-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title><mat-icon *ngIf=\"data.type==='error'\" [style.color]=\"'red'\">error</mat-icon>\n <mat-icon *ngIf=\"data.type==='warning'\" [style.color]=\"'yellow'\">warning</mat-icon>{{data.title}}</h1>\n <div mat-dialog-content>\n\n <p>{{data.msg}}</p>\n <p>{{data.advice}}</p>\n\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"closeDialog()\">OK</button>\n </div>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.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__namespace$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
7112
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: MessageDialog, decorators: [{
7108
+ MessageDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MessageDialog, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
7109
+ MessageDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: MessageDialog, selector: "msg-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title><mat-icon *ngIf=\"data.type==='error'\" [style.color]=\"'red'\">error</mat-icon>\n <mat-icon *ngIf=\"data.type==='warning'\" [style.color]=\"'yellow'\">warning</mat-icon>{{data.title}}</h1>\n <div mat-dialog-content>\n\n <p>{{data.msg}}</p>\n <p>{{data.advice}}</p>\n\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"closeDialog()\">OK</button>\n </div>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.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__namespace$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
7110
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MessageDialog, decorators: [{
7113
7111
  type: i0.Component,
7114
7112
  args: [{
7115
7113
  selector: 'msg-dialog',
@@ -7143,11 +7141,33 @@
7143
7141
  AudioContextProvider._audioContext = null;
7144
7142
 
7145
7143
  var Item = /** @class */ (function () {
7146
- function Item(promptAsString, training) {
7147
- this.promptAsString = promptAsString;
7148
- this.training = training;
7144
+ function Item(_promptAsString, _training, _recording) {
7145
+ this._promptAsString = _promptAsString;
7146
+ this._training = _training;
7147
+ this._recording = _recording;
7149
7148
  this.recs = null;
7150
7149
  }
7150
+ Object.defineProperty(Item.prototype, "promptAsString", {
7151
+ get: function () {
7152
+ return this._promptAsString;
7153
+ },
7154
+ enumerable: false,
7155
+ configurable: true
7156
+ });
7157
+ Object.defineProperty(Item.prototype, "training", {
7158
+ get: function () {
7159
+ return this._training;
7160
+ },
7161
+ enumerable: false,
7162
+ configurable: true
7163
+ });
7164
+ Object.defineProperty(Item.prototype, "recording", {
7165
+ get: function () {
7166
+ return this._recording;
7167
+ },
7168
+ enumerable: false,
7169
+ configurable: true
7170
+ });
7151
7171
  return Item;
7152
7172
  }());
7153
7173
 
@@ -7307,9 +7327,9 @@
7307
7327
  return RecordingService;
7308
7328
  }());
7309
7329
  RecordingService.REC_API_CTX = 'recfile';
7310
- RecordingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
7311
- RecordingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingService });
7312
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingService, decorators: [{
7330
+ RecordingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
7331
+ RecordingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingService });
7332
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingService, decorators: [{
7313
7333
  type: i0.Injectable
7314
7334
  }], ctorParameters: function () {
7315
7335
  return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
@@ -7328,9 +7348,9 @@
7328
7348
  }
7329
7349
  return SpeechRecorderUploader;
7330
7350
  }(Uploader));
7331
- SpeechRecorderUploader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechRecorderUploader, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
7332
- SpeechRecorderUploader.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechRecorderUploader });
7333
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechRecorderUploader, decorators: [{
7351
+ SpeechRecorderUploader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderUploader, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
7352
+ SpeechRecorderUploader.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderUploader });
7353
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderUploader, decorators: [{
7334
7354
  type: i0.Injectable
7335
7355
  }], ctorParameters: function () {
7336
7356
  return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
@@ -7357,9 +7377,9 @@
7357
7377
  });
7358
7378
  return WarningBar;
7359
7379
  }());
7360
- WarningBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: WarningBar, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
7361
- WarningBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: WarningBar, selector: "app-warningbar", inputs: { warningText: "warningText", show: "show" }, providers: [SessionService], ngImport: i0__namespace, template: "\n <div [class]=\"displayClass\">{{warningText}}</div>\n\n ", 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 "] });
7362
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: WarningBar, decorators: [{
7380
+ WarningBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: WarningBar, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
7381
+ WarningBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: WarningBar, selector: "app-warningbar", inputs: { warningText: "warningText", show: "show" }, providers: [SessionService], ngImport: i0__namespace, template: "\n <div [class]=\"displayClass\">{{warningText}}</div>\n\n ", 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 "] });
7382
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: WarningBar, decorators: [{
7363
7383
  type: i0.Component,
7364
7384
  args: [{
7365
7385
  selector: 'app-warningbar',
@@ -7729,7 +7749,7 @@
7729
7749
  for (var piSectIdx = 0; piSectIdx < pisLen; piSectIdx++) {
7730
7750
  var pi = pis[piSectIdx];
7731
7751
  var promptAsStr = PromptitemUtil.toPlainTextString(pi);
7732
- var it = new Item(promptAsStr, section.training);
7752
+ var it = new Item(promptAsStr, section.training, (!pi.type || pi.type === 'recording'));
7733
7753
  this.items.push(it);
7734
7754
  ln++;
7735
7755
  }
@@ -8411,7 +8431,7 @@
8411
8431
  // search backwards, to gain faster detection of incomplete state
8412
8432
  for (var ri = this.items.length - 1; ri >= 0; ri--) {
8413
8433
  var it = this.items[ri];
8414
- if (!it.training && (!it.recs || it.recs.length == 0)) {
8434
+ if (it.recording && !it.training && (!it.recs || it.recs.length == 0)) {
8415
8435
  complete = false;
8416
8436
  break;
8417
8437
  }
@@ -8510,14 +8530,14 @@
8510
8530
  };
8511
8531
  return SessionManager;
8512
8532
  }());
8513
- SessionManager.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionManager, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.Renderer2 }, { token: i1__namespace$3.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Component });
8514
- SessionManager.ɵcmp = i0__namespace.ɵɵ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: LevelBar, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"isRecording()\" [displayLevelInfos]=\"displayLevelInfos\"></audio-levelbar>\n <div fxLayout=\"row\">\n <spr-recordingitemcontrols fxFlex=\"10 0 1\"\n [audioLoaded]=\"displayAudioClip?.buffer!==null\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\"\n [peakDbLvl]=\"peakLevelInDb\"\n [agc]=\"this.ac?.agcStatus\"\n (onShowRecordingDetails)=\"audioSignalCollapsed=!audioSignalCollapsed\">\n </spr-recordingitemcontrols>\n <app-uploadstatus class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n <div #controlpanel class=\"controlpanel\">\n <app-sprstatusdisplay fxHide.xs fxFlex=\"30% 1 30%\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-sprtransport fxFlex=\"100% 0 30%\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"items==null || items.length>1\"></app-sprtransport>\n <div fxFlex=\"30% 1 30%\">\n <div fxFlex=\"1 1 auto\"></div>\n <app-uploadstatus class=\"ricontrols\" fxHide.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols\" fxHide.xs [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n ", 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 }", ".ricontrols {\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n }", ".dark {\n background: darkgray;\n }", ".controlpanel {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\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__namespace.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled"] }], directives: [{ type: i3__namespace$1.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: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
8515
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SessionManager, decorators: [{
8533
+ SessionManager.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionManager, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.Renderer2 }, { token: i1__namespace$3.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Component });
8534
+ SessionManager.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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: LevelBar, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"isRecording()\" [displayLevelInfos]=\"displayLevelInfos\"></audio-levelbar>\n <div fxLayout=\"row\">\n <spr-recordingitemcontrols fxFlex=\"10 0 1\"\n [audioLoaded]=\"displayAudioClip?.buffer!==null\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\"\n [peakDbLvl]=\"peakLevelInDb\"\n [agc]=\"this.ac?.agcStatus\"\n (onShowRecordingDetails)=\"audioSignalCollapsed=!audioSignalCollapsed\">\n </spr-recordingitemcontrols>\n <app-uploadstatus class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n <div #controlpanel class=\"controlpanel\" fxLayout=\"row\">\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"start center\">\n <app-sprstatusdisplay fxHide.xs [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"></app-sprstatusdisplay>\n </div>\n <app-sprtransport fxFlex=\"10 0 30%\" fxLayoutAlign=\"center center\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"items==null || items.length>1\"></app-sprtransport>\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"end center\" fxLayout=\"row\">\n <app-uploadstatus class=\"ricontrols\" fxHide.xs fxLayoutAlign=\"end center\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols\" fxLayoutAlign=\"end center\" fxHide.xs [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n ", 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 }", ".ricontrols {\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n }", ".dark {\n background: darkgray;\n }", ".controlpanel {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\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__namespace.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled"] }], directives: [{ type: i3__namespace$1.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: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }] });
8535
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionManager, decorators: [{
8516
8536
  type: i0.Component,
8517
8537
  args: [{
8518
8538
  selector: 'app-sprrecordingsession',
8519
8539
  providers: [SessionService],
8520
- template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"isRecording()\" [displayLevelInfos]=\"displayLevelInfos\"></audio-levelbar>\n <div fxLayout=\"row\">\n <spr-recordingitemcontrols fxFlex=\"10 0 1\"\n [audioLoaded]=\"displayAudioClip?.buffer!==null\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\"\n [peakDbLvl]=\"peakLevelInDb\"\n [agc]=\"this.ac?.agcStatus\"\n (onShowRecordingDetails)=\"audioSignalCollapsed=!audioSignalCollapsed\">\n </spr-recordingitemcontrols>\n <app-uploadstatus class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n <div #controlpanel class=\"controlpanel\">\n <app-sprstatusdisplay fxHide.xs fxFlex=\"30% 1 30%\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-sprtransport fxFlex=\"100% 0 30%\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"items==null || items.length>1\"></app-sprtransport>\n <div fxFlex=\"30% 1 30%\">\n <div fxFlex=\"1 1 auto\"></div>\n <app-uploadstatus class=\"ricontrols\" fxHide.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols\" fxHide.xs [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n ",
8540
+ template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"isRecording()\" [displayLevelInfos]=\"displayLevelInfos\"></audio-levelbar>\n <div fxLayout=\"row\">\n <spr-recordingitemcontrols fxFlex=\"10 0 1\"\n [audioLoaded]=\"displayAudioClip?.buffer!==null\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\"\n [peakDbLvl]=\"peakLevelInDb\"\n [agc]=\"this.ac?.agcStatus\"\n (onShowRecordingDetails)=\"audioSignalCollapsed=!audioSignalCollapsed\">\n </spr-recordingitemcontrols>\n <app-uploadstatus class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n <div #controlpanel class=\"controlpanel\" fxLayout=\"row\">\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"start center\">\n <app-sprstatusdisplay fxHide.xs [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"></app-sprstatusdisplay>\n </div>\n <app-sprtransport fxFlex=\"10 0 30%\" fxLayoutAlign=\"center center\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"items==null || items.length>1\"></app-sprtransport>\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"end center\" fxLayout=\"row\">\n <app-uploadstatus class=\"ricontrols\" fxHide.xs fxLayoutAlign=\"end center\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols\" fxLayoutAlign=\"end center\" fxHide.xs [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n ",
8521
8541
  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 }", ".ricontrols {\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n }", ".dark {\n background: darkgray;\n }", ".controlpanel {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }"]
8522
8542
  }]
8523
8543
  }], ctorParameters: function () {
@@ -8576,9 +8596,9 @@
8576
8596
  };
8577
8597
  return ScriptService;
8578
8598
  }());
8579
- ScriptService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScriptService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
8580
- ScriptService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScriptService });
8581
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScriptService, decorators: [{
8599
+ ScriptService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
8600
+ ScriptService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptService });
8601
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptService, decorators: [{
8582
8602
  type: i0.Injectable
8583
8603
  }], ctorParameters: function () {
8584
8604
  return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
@@ -8981,9 +9001,9 @@
8981
9001
  };
8982
9002
  return SpeechrecorderngComponent;
8983
9003
  }());
8984
- SpeechrecorderngComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechrecorderngComponent, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i1__namespace$1.Router }, { token: i0__namespace.ChangeDetectorRef }, { token: SessionService }, { token: ProjectService }, { token: ScriptService }, { token: RecordingService }, { token: SpeechRecorderUploader }], target: i0__namespace.ɵɵFactoryTarget.Component });
8985
- SpeechrecorderngComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <app-sprrecordingsession [projectName]=\"project?.name\" [dataSaved]=\"dataSaved\"></app-sprrecordingsession>\n ", 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"] }] });
8986
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechrecorderngComponent, decorators: [{
9004
+ SpeechrecorderngComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngComponent, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i1__namespace$1.Router }, { token: i0__namespace.ChangeDetectorRef }, { token: SessionService }, { token: ProjectService }, { token: ScriptService }, { token: RecordingService }, { token: SpeechRecorderUploader }], target: i0__namespace.ɵɵFactoryTarget.Component });
9005
+ SpeechrecorderngComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <app-sprrecordingsession [projectName]=\"project?.name\" [dataSaved]=\"dataSaved\"></app-sprrecordingsession>\n ", 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"] }] });
9006
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngComponent, decorators: [{
8987
9007
  type: i0.Component,
8988
9008
  args: [{
8989
9009
  selector: 'app-speechrecorder',
@@ -9001,9 +9021,9 @@
9001
9021
  }
9002
9022
  return ScrollPaneHorizontal;
9003
9023
  }());
9004
- ScrollPaneHorizontal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScrollPaneHorizontal, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9005
- ScrollPaneHorizontal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0__namespace, 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 }"] });
9006
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: ScrollPaneHorizontal, decorators: [{
9024
+ ScrollPaneHorizontal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollPaneHorizontal, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9025
+ ScrollPaneHorizontal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0__namespace, 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 }"] });
9026
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollPaneHorizontal, decorators: [{
9007
9027
  type: i0.Component,
9008
9028
  args: [{
9009
9029
  selector: 'scroll-pane-horizontal',
@@ -9230,9 +9250,9 @@
9230
9250
  };
9231
9251
  return AudioDisplayPlayer;
9232
9252
  }());
9233
- AudioDisplayPlayer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplayPlayer, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9234
- AudioDisplayPlayer.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control><p>{{status}}\n ", 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"] }] });
9235
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: AudioDisplayPlayer, decorators: [{
9253
+ AudioDisplayPlayer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayPlayer, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9254
+ AudioDisplayPlayer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control><p>{{status}}\n ", 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"] }] });
9255
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayPlayer, decorators: [{
9236
9256
  type: i0.Component,
9237
9257
  args: [{
9238
9258
  selector: 'app-audiodisplayplayer',
@@ -9505,9 +9525,9 @@
9505
9525
  return RecordingFileService;
9506
9526
  }());
9507
9527
  RecordingFileService.RECOFILE_API_CTX = 'recordingfile';
9508
- RecordingFileService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
9509
- RecordingFileService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileService });
9510
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileService, decorators: [{
9528
+ RecordingFileService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
9529
+ RecordingFileService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileService });
9530
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileService, decorators: [{
9511
9531
  type: i0.Injectable
9512
9532
  }], ctorParameters: function () {
9513
9533
  return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
@@ -9530,9 +9550,9 @@
9530
9550
  };
9531
9551
  return RecordingFileMetaComponent;
9532
9552
  }());
9533
- RecordingFileMetaComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileMetaComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9534
- RecordingFileMetaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", recordingFile: "recordingFile" }, ngImport: i0__namespace, template: "\n <mat-card>\n <mat-card-title>Recording file ID: {{recordingFile?.recordingFileId}}</mat-card-title>\n <mat-card-content>\n <table>\n <tr>\n <td>Itemcode:</td>\n <td>{{recordingFile?.recording?.itemcode}}</td>\n </tr>\n <tr *ngIf=\"recordingFile?.date\">\n <td>Date:</td>\n <td>{{recordingFile?.date}}</td>\n </tr>\n <tr>\n <td>Prompt:</td>\n <td>{{recordingAsPlainText()}}</td>\n </tr>\n \n <tr *ngIf=\"sessionId\">\n <td>Session:</td>\n <td>{{sessionId}}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n ", isInline: true, components: [{ type: i1__namespace$4.MatCard, selector: "mat-card", exportAs: ["matCard"] }], directives: [{ type: i1__namespace$4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1__namespace$4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
9535
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileMetaComponent, decorators: [{
9553
+ RecordingFileMetaComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileMetaComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9554
+ RecordingFileMetaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", recordingFile: "recordingFile" }, ngImport: i0__namespace, template: "\n <mat-card>\n <mat-card-title>Recording file ID: {{recordingFile?.recordingFileId}}</mat-card-title>\n <mat-card-content>\n <table>\n <tr>\n <td>Itemcode:</td>\n <td>{{recordingFile?.recording?.itemcode}}</td>\n </tr>\n <tr *ngIf=\"recordingFile?.date\">\n <td>Date:</td>\n <td>{{recordingFile?.date}}</td>\n </tr>\n <tr>\n <td>Prompt:</td>\n <td>{{recordingAsPlainText()}}</td>\n </tr>\n \n <tr *ngIf=\"sessionId\">\n <td>Session:</td>\n <td>{{sessionId}}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n ", isInline: true, components: [{ type: i1__namespace$4.MatCard, selector: "mat-card", exportAs: ["matCard"] }], directives: [{ type: i1__namespace$4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1__namespace$4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
9555
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileMetaComponent, decorators: [{
9536
9556
  type: i0.Component,
9537
9557
  args: [{
9538
9558
  selector: 'app-recording-file-meta',
@@ -9563,9 +9583,9 @@
9563
9583
  };
9564
9584
  return RecordingFileNaviComponent;
9565
9585
  }());
9566
- RecordingFileNaviComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileNaviComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9567
- RecordingFileNaviComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <div #controlPanel style=\"display:flex;flex-direction: row;\">\n <div #navi style=\"flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap\">\n <fieldset>\n <legend>Versions</legend>\n <mat-progress-spinner *ngIf=\"naviInfoLoading\" mode=\"indeterminate\" [diameter]=\"15\"></mat-progress-spinner>\n <select *ngIf=\"!naviInfoLoading\" [disabled]=\"versions==null || versions.length==1\" (change)=\"selectVersionChange($event)\">\n <option *ngFor=\"let v of versions; let i = index\" [selected]=\"v===version\" value=\"{{v}}\">{{v}}<span *ngIf=\"i==0\"> (latest)</span></option>\n </select>\n </fieldset>\n <fieldset>\n <legend>Navigate</legend>\n <mat-progress-spinner *ngIf=\"naviInfoLoading\" mode=\"indeterminate\" [diameter]=\"15\"></mat-progress-spinner>\n <div *ngIf=\"!naviInfoLoading\" style=\"flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap\">\n <button (click)=\"firstAction?.perform()\" [disabled]=\"!firstAction || firstAction?.disabled\" matTooltip=\"First recording file\">\n <mat-icon>first_page</mat-icon>\n </button>\n <button (click)=\"prevAction?.perform()\" [disabled]=\"!prevAction || prevAction?.disabled\" matTooltip=\"Previous recording file\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"nextAction?.perform()\" [disabled]=\"!nextAction || nextAction?.disabled\" matTooltip=\"Next recording file\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n <button (click)=\"lastAction?.perform()\" [disabled]=\"!lastAction || lastAction?.disabled\" matTooltip=\"Last recording file\">\n <mat-icon>last_page</mat-icon>\n </button>\n </div>\n <p *ngIf=\"items && itemPos!==null && itemPos!==undefined\">Item {{itemPos+1}} of {{items}}</p>\n <p>(List ordered by date)</p>\n </fieldset>\n </div>\n </div>\n ", isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i1__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
9568
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileNaviComponent, decorators: [{
9586
+ RecordingFileNaviComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileNaviComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
9587
+ RecordingFileNaviComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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__namespace, template: "\n <div #controlPanel style=\"display:flex;flex-direction: row;\">\n <div #navi style=\"flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap\">\n <fieldset>\n <legend>Versions</legend>\n <mat-progress-spinner *ngIf=\"naviInfoLoading\" mode=\"indeterminate\" [diameter]=\"15\"></mat-progress-spinner>\n <select *ngIf=\"!naviInfoLoading\" [disabled]=\"versions==null || versions.length==1\" (change)=\"selectVersionChange($event)\">\n <option *ngFor=\"let v of versions; let i = index\" [selected]=\"v===version\" value=\"{{v}}\">{{v}}<span *ngIf=\"i==0\"> (latest)</span></option>\n </select>\n </fieldset>\n <fieldset>\n <legend>Navigate</legend>\n <mat-progress-spinner *ngIf=\"naviInfoLoading\" mode=\"indeterminate\" [diameter]=\"15\"></mat-progress-spinner>\n <div *ngIf=\"!naviInfoLoading\" style=\"flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap\">\n <button (click)=\"firstAction?.perform()\" [disabled]=\"!firstAction || firstAction?.disabled\" matTooltip=\"First recording file\">\n <mat-icon>first_page</mat-icon>\n </button>\n <button (click)=\"prevAction?.perform()\" [disabled]=\"!prevAction || prevAction?.disabled\" matTooltip=\"Previous recording file\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"nextAction?.perform()\" [disabled]=\"!nextAction || nextAction?.disabled\" matTooltip=\"Next recording file\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n <button (click)=\"lastAction?.perform()\" [disabled]=\"!lastAction || lastAction?.disabled\" matTooltip=\"Last recording file\">\n <mat-icon>last_page</mat-icon>\n </button>\n </div>\n <p *ngIf=\"items && itemPos!==null && itemPos!==undefined\">Item {{itemPos+1}} of {{items}}</p>\n <p>(List ordered by date)</p>\n </fieldset>\n </div>\n </div>\n ", isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i1__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
9588
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileNaviComponent, decorators: [{
9569
9589
  type: i0.Component,
9570
9590
  args: [{
9571
9591
  selector: 'app-recording-file-navi',
@@ -9924,9 +9944,9 @@
9924
9944
  };
9925
9945
  return RecordingFileViewComponent;
9926
9946
  }(AudioDisplayPlayer));
9927
- RecordingFileViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileViewComponent, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1__namespace$1.Router }, { token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
9928
- RecordingFileViewComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n <div class=\"ctrlview\">\n <app-recording-file-meta [sessionId]=\"sessionId\" [recordingFile]=\"recordingFile\"></app-recording-file-meta>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n <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>\n </div>\n ", 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"] }] });
9929
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileViewComponent, decorators: [{
9947
+ RecordingFileViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileViewComponent, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1__namespace$1.Router }, { token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
9948
+ RecordingFileViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileViewComponent, selector: "app-audiodisplayplayer", viewQueries: [{ propertyName: "ac", first: true, predicate: AudioDisplayScrollPane, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n <div class=\"ctrlview\">\n <app-recording-file-meta [sessionId]=\"sessionId\" [recordingFile]=\"recordingFile\"></app-recording-file-meta>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n <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>\n </div>\n ", 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"] }] });
9949
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileViewComponent, decorators: [{
9930
9950
  type: i0.Component,
9931
9951
  args: [{
9932
9952
  selector: 'app-audiodisplayplayer',
@@ -10020,9 +10040,9 @@
10020
10040
  };
10021
10041
  return RecordingFileUI;
10022
10042
  }(RecordingFileViewComponent));
10023
- RecordingFileUI.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileUI, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1__namespace$1.Router }, { token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i1__namespace$3.MatDialog }, { token: i6__namespace.MatSnackBar }], target: i0__namespace.ɵɵFactoryTarget.Component });
10024
- RecordingFileUI.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0__namespace, template: "\n <h1>Recording file editing</h1>\n <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>\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n <div class=\"ctrlview\">\n <app-recording-file-meta [sessionId]=\"sessionId\" [recordingFile]=\"recordingFile\"></app-recording-file-meta>\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n <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>\n </div>\n\n <button mat-raised-button color=\"accent\" (click)=\"applySelection()\" [disabled]=\"editSaved\">{{this.applyButtonText()}}</button>\n ", 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__namespace$2.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"] }] });
10025
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: RecordingFileUI, decorators: [{
10043
+ RecordingFileUI.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileUI, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1__namespace$1.Router }, { token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i1__namespace$3.MatDialog }, { token: i6__namespace.MatSnackBar }], target: i0__namespace.ɵɵFactoryTarget.Component });
10044
+ RecordingFileUI.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0__namespace, template: "\n <h1>Recording file editing</h1>\n <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>\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n <div class=\"ctrlview\">\n <app-recording-file-meta [sessionId]=\"sessionId\" [recordingFile]=\"recordingFile\"></app-recording-file-meta>\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n <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>\n </div>\n\n <button mat-raised-button color=\"accent\" (click)=\"applySelection()\" [disabled]=\"editSaved\">{{this.applyButtonText()}}</button>\n ", 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__namespace$2.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"] }] });
10045
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileUI, decorators: [{
10026
10046
  type: i0.Component,
10027
10047
  args: [{
10028
10048
  selector: 'app-audiodisplayplayer',
@@ -10063,11 +10083,11 @@
10063
10083
  };
10064
10084
  return SpeechrecorderngModule;
10065
10085
  }());
10066
- SpeechrecorderngModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechrecorderngModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
10067
- SpeechrecorderngModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
10086
+ SpeechrecorderngModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
10087
+ SpeechrecorderngModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
10068
10088
  ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent], imports: [i1__namespace$1.RouterModule, flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$2.MatButtonModule, i1$3.MatDialogModule, i7.MatProgressBarModule, i1$2.MatProgressSpinnerModule, i3.MatTooltipModule, i1.HttpClientModule, i2$1.MatCheckboxModule, i1$4.MatCardModule, divider.MatDividerModule, gridList.MatGridListModule, table.MatTableModule, input.MatInputModule, select.MatSelectModule, i6.MatSnackBarModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar] });
10069
- SpeechrecorderngModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [[i1$1.RouterModule.forChild(SPR_ROUTES), flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$2.MatButtonModule, i1$3.MatDialogModule, i7.MatProgressBarModule, i1$2.MatProgressSpinnerModule, i3.MatTooltipModule, i1.HttpClientModule, i2$1.MatCheckboxModule, i1$4.MatCardModule, divider.MatDividerModule, gridList.MatGridListModule, table.MatTableModule, input.MatInputModule, select.MatSelectModule, i6.MatSnackBarModule]] });
10070
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0__namespace, type: SpeechrecorderngModule, decorators: [{
10089
+ SpeechrecorderngModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [[i1$1.RouterModule.forChild(SPR_ROUTES), flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$2.MatButtonModule, i1$3.MatDialogModule, i7.MatProgressBarModule, i1$2.MatProgressSpinnerModule, i3.MatTooltipModule, i1.HttpClientModule, i2$1.MatCheckboxModule, i1$4.MatCardModule, divider.MatDividerModule, gridList.MatGridListModule, table.MatTableModule, input.MatInputModule, select.MatSelectModule, i6.MatSnackBarModule]] });
10090
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, decorators: [{
10071
10091
  type: i0.NgModule,
10072
10092
  args: [{
10073
10093
  declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
@@ -10081,7 +10101,7 @@
10081
10101
  }]
10082
10102
  }] });
10083
10103
 
10084
- var VERSION = '2.21.0';
10104
+ var VERSION = '2.21.4';
10085
10105
 
10086
10106
  /*
10087
10107
  * Public API Surface of speechrecorderng
@@ -10122,5 +10142,5 @@
10122
10142
 
10123
10143
  Object.defineProperty(exports, '__esModule', { value: true });
10124
10144
 
10125
- })));
10145
+ }));
10126
10146
  //# sourceMappingURL=speechrecorderng.umd.js.map