speechrecorderng 2.22.0 → 2.22.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.
@@ -1448,6 +1448,7 @@ class RecordingFile {
1448
1448
  this.date = null;
1449
1449
  this._dateAsDateObj = null;
1450
1450
  this.startedDate = null;
1451
+ this._startedAsDateObj = null;
1451
1452
  this.audioBuffer = null;
1452
1453
  this.session = null;
1453
1454
  this.frames = null;
@@ -2297,7 +2298,7 @@ RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
2297
2298
  <div style="min-width: 14ch;padding:2px"><table style="border-style: none"><tr><td>Peak:</td><td><span matTooltip="Peak level"
2298
2299
  [style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
2299
2300
  <tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
2300
- `, isInline: true, styles: [":host{flex:0;width:100%;background:darkgray;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3$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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i4.DecimalPipe } });
2301
+ `, isInline: true, styles: [":host{flex:0;width:100%;background:darkgray;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n", "button{touch-action:manipulation}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3$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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i4.DecimalPipe } });
2301
2302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingItemControls, decorators: [{
2302
2303
  type: Component,
2303
2304
  args: [{
@@ -2342,7 +2343,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
2342
2343
  display: inline-block;
2343
2344
  white-space: nowrap;
2344
2345
  box-sizing: border-box;
2345
- }`]
2346
+ }`, `
2347
+ button {
2348
+ touch-action: manipulation;
2349
+ }`]
2346
2350
  }]
2347
2351
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { audioSignalCollapsed: [{
2348
2352
  type: Input
@@ -6275,9 +6279,9 @@ class PromptingContainer {
6275
6279
  this.touchStartTimeStamp = ev.timeStamp;
6276
6280
  this.e.style.transition = 'none';
6277
6281
  //console.log("Touch start x: "+this.startX)
6282
+ //ev.preventDefault();
6278
6283
  }
6279
6284
  }
6280
- ev.preventDefault();
6281
6285
  }
6282
6286
  }
6283
6287
  onTouchEnd(ev) {
@@ -6319,6 +6323,7 @@ class PromptingContainer {
6319
6323
  }
6320
6324
  else {
6321
6325
  }
6326
+ ev.preventDefault();
6322
6327
  }
6323
6328
  }
6324
6329
  // reset animated
@@ -6327,7 +6332,6 @@ class PromptingContainer {
6327
6332
  this.startX = null;
6328
6333
  this.touchStartTimeStamp = null;
6329
6334
  this.e.style.left = "0px";
6330
- ev.preventDefault();
6331
6335
  }
6332
6336
  onTouchMove(ev) {
6333
6337
  //console.log("Touch move!")
@@ -6342,14 +6346,14 @@ class PromptingContainer {
6342
6346
  this.e.style.left = deltaX + "px";
6343
6347
  // console.log("Touch move delta x: "+deltaX)
6344
6348
  }
6349
+ ev.preventDefault();
6345
6350
  }
6346
- ev.preventDefault();
6347
6351
  }
6348
6352
  }
6349
6353
  onTouchCancel(ev) {
6350
6354
  //console.log("Touch cancel!")
6351
6355
  this.e.style.left = "0px";
6352
- ev.preventDefault();
6356
+ //ev.preventDefault();
6353
6357
  }
6354
6358
  }
6355
6359
  PromptingContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: PromptingContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -6938,7 +6942,7 @@ TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
6938
6942
  <mat-icon>chevron_right</mat-icon>
6939
6943
  </button>
6940
6944
 
6941
- `, isInline: true, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n"], components: [{ type: i3$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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$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"] }] });
6945
+ `, isInline: true, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n", "button{touch-action:manipulation}\n"], components: [{ type: i3$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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$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"] }] });
6942
6946
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TransportPanel, decorators: [{
6943
6947
  type: Component,
6944
6948
  args: [{
@@ -6976,7 +6980,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
6976
6980
  div {
6977
6981
  display: inline;
6978
6982
  flex: 0;
6979
- }`
6983
+ }`, `
6984
+ button {
6985
+ touch-action: manipulation;
6986
+ }`
6980
6987
  ]
6981
6988
  }]
6982
6989
  }], propDecorators: { readonly: [{
@@ -7712,10 +7719,17 @@ class SessionManager {
7712
7719
  }
7713
7720
  }
7714
7721
  onKeyDown(ke) {
7715
- if (ke.key == ' ' || ke.key == 'Escape') {
7722
+ if (ke.key == ' ') {
7716
7723
  this.transportActions.stopAction.perform();
7717
7724
  }
7718
- if (ke.key == 'p' || ke.key == 'Escape') {
7725
+ if (ke.key == 'p') {
7726
+ this.transportActions.pauseAction.perform();
7727
+ }
7728
+ if (ke.key == 'Escape') {
7729
+ if (!this.audioSignalCollapsed) {
7730
+ this.audioSignalCollapsed = true;
7731
+ }
7732
+ this.transportActions.stopAction.perform();
7719
7733
  this.transportActions.pauseAction.perform();
7720
7734
  }
7721
7735
  if (ke.key == 'MediaPlayPause') {
@@ -10643,15 +10657,44 @@ class RecordingList {
10643
10657
  this.recordingListDataSource = new MatTableDataSource();
10644
10658
  }
10645
10659
  ngAfterViewInit() {
10646
- this.recordingListDataSource.data = this.recordingList.reverse();
10660
+ this.buildDataSource();
10661
+ }
10662
+ buildDataSource() {
10663
+ this.recordingList.sort((a, b) => {
10664
+ let cmp = 0;
10665
+ let aD = null;
10666
+ let bD = null;
10667
+ if (a._startedAsDateObj && b._startedAsDateObj) {
10668
+ aD = a._startedAsDateObj;
10669
+ bD = b._startedAsDateObj;
10670
+ }
10671
+ else if (a.startedDate && b.startedDate) {
10672
+ aD = new Date(a.startedDate);
10673
+ bD = new Date(b.startedDate);
10674
+ }
10675
+ else if (a.date && b.date) {
10676
+ aD = new Date(a.date);
10677
+ bD = new Date(b.date);
10678
+ }
10679
+ if (aD !== null && bD !== null) {
10680
+ cmp = bD.getTime() - aD.getTime();
10681
+ }
10682
+ return cmp;
10683
+ });
10684
+ this.recordingListDataSource.data = this.recordingList;
10647
10685
  }
10648
10686
  push(rf) {
10649
10687
  this.recordingList.push(rf);
10650
- this.recordingListDataSource.data = this.recordingList.reverse();
10688
+ this.buildDataSource();
10651
10689
  }
10652
10690
  selectRecordingFile(rf) {
10653
10691
  this.selectedRecordingFileChanged.emit(rf);
10654
10692
  }
10693
+ selectTop() {
10694
+ if (this.recordingList.length > 0) {
10695
+ this.selectRecordingFile(this.recordingList[0]);
10696
+ }
10697
+ }
10655
10698
  lengthTimeFormatted(rf) {
10656
10699
  let str = '--:--:--';
10657
10700
  if (rf.frames && rf.audioBuffer) {
@@ -10671,15 +10714,15 @@ RecordingList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
10671
10714
  <tr mat-header-row *matHeaderRowDef="cols;sticky:true"></tr>
10672
10715
  <tr mat-row *matRowDef="let element; columns: cols;" [scrollIntoViewToBottom]="element.uuid===selectedRecordingFile?.uuid"></tr>
10673
10716
  <ng-container matColumnDef="index">
10674
- <th mat-header-cell *matHeaderCellDef mat-sort-header>#</th>
10717
+ <th mat-header-cell *matHeaderCellDef mat-header>#</th>
10675
10718
  <td mat-cell class="monospaced" *matCellDef="let element;let i = index">{{recordingListDataSource.data.length-i}}</td>
10676
10719
  </ng-container>
10677
10720
  <ng-container matColumnDef="startedDate">
10678
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Started</th>
10721
+ <th mat-header-cell *matHeaderCellDef mat-header>Started</th>
10679
10722
  <td mat-cell class="monospaced" *matCellDef="let element">{{element.startedDate | date:'YYYY-MM-dd HH:mm:ss'}}</td>
10680
10723
  </ng-container>
10681
10724
  <ng-container matColumnDef="length">
10682
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Length</th>
10725
+ <th mat-header-cell *matHeaderCellDef mat-header>Length</th>
10683
10726
  <td mat-cell class="monospaced" *matCellDef="let element">{{lengthTimeFormatted(element)}}</td>
10684
10727
  </ng-container>
10685
10728
  <ng-container matColumnDef="action">
@@ -10703,15 +10746,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
10703
10746
  <tr mat-header-row *matHeaderRowDef="cols;sticky:true"></tr>
10704
10747
  <tr mat-row *matRowDef="let element; columns: cols;" [scrollIntoViewToBottom]="element.uuid===selectedRecordingFile?.uuid"></tr>
10705
10748
  <ng-container matColumnDef="index">
10706
- <th mat-header-cell *matHeaderCellDef mat-sort-header>#</th>
10749
+ <th mat-header-cell *matHeaderCellDef mat-header>#</th>
10707
10750
  <td mat-cell class="monospaced" *matCellDef="let element;let i = index">{{recordingListDataSource.data.length-i}}</td>
10708
10751
  </ng-container>
10709
10752
  <ng-container matColumnDef="startedDate">
10710
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Started</th>
10753
+ <th mat-header-cell *matHeaderCellDef mat-header>Started</th>
10711
10754
  <td mat-cell class="monospaced" *matCellDef="let element">{{element.startedDate | date:'YYYY-MM-dd HH:mm:ss'}}</td>
10712
10755
  </ng-container>
10713
10756
  <ng-container matColumnDef="length">
10714
- <th mat-header-cell *matHeaderCellDef mat-sort-header>Length</th>
10757
+ <th mat-header-cell *matHeaderCellDef mat-header>Length</th>
10715
10758
  <td mat-cell class="monospaced" *matCellDef="let element">{{lengthTimeFormatted(element)}}</td>
10716
10759
  </ng-container>
10717
10760
  <ng-container matColumnDef="action">
@@ -10747,11 +10790,16 @@ class RecorderCombiPane {
10747
10790
  selectRecordingFile(rf) {
10748
10791
  this.selectedRecordingFileChanged.emit(rf);
10749
10792
  }
10793
+ selectTop() {
10794
+ this.recordingListComp.selectTop();
10795
+ }
10750
10796
  }
10751
10797
  RecorderCombiPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecorderCombiPane, deps: [], target: i0.ɵɵFactoryTarget.Component });
10752
10798
  RecorderCombiPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: RecorderCombiPane, selector: "app-recordercombipane", inputs: { selectDisabled: "selectDisabled", selectedRecordingFile: "selectedRecordingFile", audioSignalCollapsed: "audioSignalCollapsed", displayAudioClip: "displayAudioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", playStopAction: "playStopAction" }, outputs: { selectedRecordingFileChanged: "selectedRecordingFileChanged" }, viewQueries: [{ propertyName: "recordingListComp", first: true, predicate: RecordingList, descendants: true }, { propertyName: "audioDisplay", first: true, predicate: AudioDisplay, descendants: true, static: true }], ngImport: i0, template: `
10753
- <app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
10754
- <div fxHide.xs #asCt [class.active]="!audioSignalCollapsed">
10799
+ <div class="scrollList">
10800
+ <app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
10801
+ </div>
10802
+ <div class="collapsable" fxHide.xs #asCt [class.active]="!audioSignalCollapsed">
10755
10803
  <app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
10756
10804
  [audioClip]="displayAudioClip"
10757
10805
  [playStartAction]="playStartAction"
@@ -10759,12 +10807,14 @@ RecorderCombiPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
10759
10807
  [autoPlayOnSelectToggleAction]="autoPlayOnSelectToggleAction"
10760
10808
  [playStopAction]="playStopAction"></app-audiodisplay>
10761
10809
  </div>
10762
- `, isInline: true, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;overflow-y:auto;min-height:0px}\n", ".selected{font-weight:700}\n", "div{display:none;position:absolute;z-index:5}\n", "div.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"], components: [{ type: RecordingList, selector: "app-recordinglist", inputs: ["selectDisabled", "selectedRecordingFile"], outputs: ["selectedRecordingFileChanged"] }, { type: AudioDisplay, selector: "app-audiodisplay", inputs: ["playStartAction", "playStopAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "audioData", "audioClip"] }], directives: [{ type: i3$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"] }] });
10810
+ `, isInline: true, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{background-color:#ff0;position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px}\n", ".scrollList{margin:0;padding:0;background:lightgrey;width:100%;height:100%;overflow-y:auto}\n", ".collapsable{display:none;position:absolute;z-index:5}\n", ".collapsable.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"], components: [{ type: RecordingList, selector: "app-recordinglist", inputs: ["selectDisabled", "selectedRecordingFile"], outputs: ["selectedRecordingFileChanged"] }, { type: AudioDisplay, selector: "app-audiodisplay", inputs: ["playStartAction", "playStopAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "audioData", "audioClip"] }], directives: [{ type: i3$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"] }] });
10763
10811
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecorderCombiPane, decorators: [{
10764
10812
  type: Component,
10765
10813
  args: [{ selector: 'app-recordercombipane', template: `
10766
- <app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
10767
- <div fxHide.xs #asCt [class.active]="!audioSignalCollapsed">
10814
+ <div class="scrollList">
10815
+ <app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
10816
+ </div>
10817
+ <div class="collapsable" fxHide.xs #asCt [class.active]="!audioSignalCollapsed">
10768
10818
  <app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
10769
10819
  [audioClip]="displayAudioClip"
10770
10820
  [playStartAction]="playStartAction"
@@ -10772,7 +10822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
10772
10822
  [autoPlayOnSelectToggleAction]="autoPlayOnSelectToggleAction"
10773
10823
  [playStopAction]="playStopAction"></app-audiodisplay>
10774
10824
  </div>
10775
- `, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;overflow-y:auto;min-height:0px}\n", ".selected{font-weight:700}\n", "div{display:none;position:absolute;z-index:5}\n", "div.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"] }]
10825
+ `, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{background-color:#ff0;position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px}\n", ".scrollList{margin:0;padding:0;background:lightgrey;width:100%;height:100%;overflow-y:auto}\n", ".collapsable{display:none;position:absolute;z-index:5}\n", ".collapsable.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"] }]
10776
10826
  }], ctorParameters: function () { return []; }, propDecorators: { recordingListComp: [{
10777
10827
  type: ViewChild,
10778
10828
  args: [RecordingList]
@@ -10965,15 +11015,27 @@ class AudioRecorder {
10965
11015
  }
10966
11016
  onKeyPress(ke) {
10967
11017
  if (ke.key == ' ') {
10968
- this.transportActions.startAction.perform();
10969
- this.transportActions.nextAction.perform();
11018
+ //this.transportActions.startAction.perform();
11019
+ //this.transportActions.nextAction.perform();
10970
11020
  }
10971
11021
  }
10972
11022
  onKeyDown(ke) {
10973
- if (ke.key == ' ' || ke.key == 'Escape') {
10974
- this.transportActions.stopAction.perform();
11023
+ if (ke.key == ' ') {
11024
+ if (!this.transportActions.startAction.disabled) {
11025
+ this.transportActions.startAction.perform();
11026
+ }
11027
+ else if (!this.transportActions.stopAction.disabled) {
11028
+ this.transportActions.stopAction.perform();
11029
+ }
10975
11030
  }
10976
- if (ke.key == 'p' || ke.key == 'Escape') {
11031
+ if (ke.key == 'p') {
11032
+ this.transportActions.pauseAction.perform();
11033
+ }
11034
+ if (ke.key == 'Escape') {
11035
+ if (!this.audioSignalCollapsed) {
11036
+ this.audioSignalCollapsed = true;
11037
+ }
11038
+ this.transportActions.stopAction.perform();
10977
11039
  this.transportActions.pauseAction.perform();
10978
11040
  }
10979
11041
  if (ke.key == 'MediaPlayPause') {
@@ -11046,8 +11108,12 @@ class AudioRecorder {
11046
11108
  if (rfs) {
11047
11109
  if (rfs instanceof Array) {
11048
11110
  rfs.forEach((rf) => {
11049
- //console.debug("Already recorded: " + rf+ " "+rf.recording.itemcode);
11050
- //this.addRecordingFileByDescriptor(rf);
11111
+ if (rf.startedDate) {
11112
+ rf._startedAsDateObj = new Date(rf.startedDate);
11113
+ }
11114
+ if (rf.date) {
11115
+ rf._dateAsDateObj = new Date(rf.date);
11116
+ }
11051
11117
  this.recorderCombiPane.push(rf);
11052
11118
  });
11053
11119
  }
@@ -11511,9 +11577,10 @@ class AudioRecorder {
11511
11577
  }
11512
11578
  });
11513
11579
  }
11514
- if (this.recorderCombiPane.recordingListComp.recordingList.length > 0) {
11515
- this.selectRecordingFile(this.recorderCombiPane.recordingListComp.recordingList[0]);
11516
- }
11580
+ // if(this.recorderCombiPane.recordingListComp.recordingList.length>0){
11581
+ // this.selectRecordingFile(this.recorderCombiPane.recordingListComp.recordingList[0]);
11582
+ // }
11583
+ this.recorderCombiPane.selectTop();
11517
11584
  this.enableNavigation();
11518
11585
  }
11519
11586
  isRecording() {
@@ -11617,7 +11684,10 @@ class AudioRecorder {
11617
11684
  // it.recs = new Array<RecordingFile>();
11618
11685
  // }
11619
11686
  let rf = new RecordingFile(UUID.generate(), sessId, ad);
11620
- rf.startedDate = this.startedDate;
11687
+ rf._startedAsDateObj = this.startedDate;
11688
+ if (rf._startedAsDateObj) {
11689
+ rf.startedDate = rf._startedAsDateObj.toString();
11690
+ }
11621
11691
  // it.recs.push(rf);
11622
11692
  //
11623
11693
  // if (this.enableUploadRecordings) {
@@ -11649,7 +11719,7 @@ class AudioRecorder {
11649
11719
  this.displayRecFile = rf;
11650
11720
  //this.recordingListComp.recordingList.push(rf);
11651
11721
  this.recorderCombiPane.push(rf);
11652
- this.postRecordingMultipart(wavFile, rf.uuid, rf.session, rf.startedDate, recUrl);
11722
+ this.postRecordingMultipart(wavFile, rf.uuid, rf.session, rf._startedAsDateObj, recUrl);
11653
11723
  this.processingRecording = false;
11654
11724
  this.changeDetectorRef.detectChanges();
11655
11725
  });
@@ -11948,7 +12018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImpor
11948
12018
  }]
11949
12019
  }] });
11950
12020
 
11951
- const VERSION = '2.22.0';
12021
+ const VERSION = '2.22.4';
11952
12022
 
11953
12023
  /*
11954
12024
  * Public API Surface of speechrecorderng