@@ -7,6 +7,7 @@ import {FeaturedValue} from './featured-value';
77import { CurrencyPipe } from '@angular/common' ;
88import { ImmediateData } from '../../resources/interface/immediate-data' ;
99import { OverflowService } from '../../header/services/overflow.service' ;
10+ import { I18nFieldValue } from "../../data-fields/i18n-field/models/i18n-field-value" ;
1011
1112@Component ( {
1213 selector : 'ncc-abstract-panel-with-immediate' ,
@@ -35,33 +36,37 @@ export abstract class AbstractPanelWithImmediateDataComponent extends AbstractPa
3536 case 'dateTime' :
3637 return {
3738 value : toMoment ( immediate . value as NaeDate ) . format ( DATE_TIME_FORMAT_STRING ) ,
38- icon : 'event' , type : immediate . type
39+ icon : 'event' ,
40+ type : immediate . type
3941 } ;
4042 case 'enumeration' :
41- return { value : immediate . value . defaultValue , icon : undefined , type : immediate . type } ;
43+ return { value : this . getTranslation ( immediate . value ) , icon : undefined , type : immediate . type } ;
4244 case 'multichoice' :
4345 return {
44- value : immediate . value . map ( it => it . defaultValue ) . join ( ', ' ) ,
46+ value : immediate . value . map ( it => this . getTranslation ( it ) ) . join ( ', ' ) ,
4547 icon : undefined ,
4648 type : immediate . type
4749 } ;
4850 case 'enumeration_map' :
4951 return {
50- value : immediate . options [ immediate . value ] . defaultValue ,
52+ value : this . getTranslation ( immediate . options [ immediate . value ] ) ,
5153 icon : undefined ,
5254 type : immediate . type
5355 } ;
5456 case 'multichoice_map' :
5557 return {
5658 value : immediate . value . map ( it =>
57- immediate . options [ it ] . defaultValue ) . join ( ', ' ) , icon : undefined , type : immediate . type
59+ this . getTranslation ( immediate . options [ it ] ) ) . join ( ', ' ) ,
60+ icon : undefined ,
61+ type : immediate . type
5862 } ;
5963 case 'file' :
6064 return { value : immediate . value ?. name , icon : 'insert_drive_file' , type : immediate . type } ;
6165 case 'fileList' :
6266 return {
6367 value : immediate . value ?. namesPaths . map ( obj => obj . name ) . join ( ', ' ) ,
64- icon : 'file_copy' , type : immediate . type
68+ icon : 'file_copy' ,
69+ type : immediate . type
6570 } ;
6671 case 'userList' :
6772 return { value : immediate . value ?. userValues . map ( obj => obj . fullName ) . join ( ', ' ) , icon : 'account_circle' , type : immediate . type } ;
@@ -73,11 +78,18 @@ export abstract class AbstractPanelWithImmediateDataComponent extends AbstractPa
7378 icon : undefined , type : immediate . type
7479 } ;
7580 case 'button' :
81+ let buttonValue : string ;
82+ if ( ( immediate as any ) . placeholder ?. defaultValue !== undefined ) {
83+ buttonValue = this . getTranslation ( ( immediate as any ) . placeholder ) ;
84+ } else if ( immediate . name ?. defaultValue !== undefined ) {
85+ buttonValue = this . getTranslation ( immediate . name ) ;
86+ } else {
87+ buttonValue = this . _translate . instant ( 'dialog.submit' ) ;
88+ }
7689 return {
77- value : ( immediate as any ) . placeholder && ( immediate as any ) . placeholder . defaultValue !== undefined
78- ? ( immediate as any ) . placeholder . defaultValue : ( immediate . name && immediate . name . defaultValue !== undefined
79- ? immediate . name . defaultValue : this . _translate . instant ( 'dialog.submit' ) ) ,
80- icon : undefined , type : immediate . type
90+ value : buttonValue ,
91+ icon : undefined ,
92+ type : immediate . type
8193 } ;
8294 case 'filter' :
8395 return {
@@ -101,6 +113,13 @@ export abstract class AbstractPanelWithImmediateDataComponent extends AbstractPa
101113 }
102114 }
103115
116+ protected getTranslation ( i18n : I18nFieldValue | undefined ) : string {
117+ const locale = this . _translate . currentLang ;
118+ return ( i18n && i18n . translations && locale in i18n . translations )
119+ ? i18n . translations [ locale ]
120+ : ( i18n ?. defaultValue ?? '' ) ;
121+ }
122+
104123 protected formatCurrencyPipe ( value : any , code : string , fraction : number , locale : string , type : string ) {
105124 return {
106125 value :
0 commit comments