apply card component changes side affects ...

This commit is contained in:
2026-08-28 03:36:54 +03:30
parent 6c669f8ce2
commit e1b8ebe882
17 changed files with 3081 additions and 855 deletions
@@ -89,6 +89,18 @@ export class XCardEmptyContainer
this.cardPropertyProvider.cardSubTitle; this.cardPropertyProvider.cardSubTitle;
readonly cardCssClass: XStandardType<XOneOrManyType<string>> = readonly cardCssClass: XStandardType<XOneOrManyType<string>> =
this.cardPropertyProvider.cardCssClass; this.cardPropertyProvider.cardCssClass;
//
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -181,6 +193,27 @@ export class XCardEmptyContainerComponent
@Input() @Input()
cardCssClass: XStandardType<XOneOrManyType<string>> = cardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.cardCssClass; this.propertyProvider.cardCssClass;
//
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -296,6 +329,31 @@ export class XCardEmptyContainerComponent
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle
), ),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
),
//#endregion //#endregion
// //
@@ -402,6 +460,16 @@ export class XCardActionBarContainer extends XBaseContainer implements IXCardAct
this.cardPropertyProvider.cardShowFooter; this.cardPropertyProvider.cardShowFooter;
readonly cardShowActions: XStandardType<boolean> = readonly cardShowActions: XStandardType<boolean> =
this.cardPropertyProvider.cardShowActions; this.cardPropertyProvider.cardShowActions;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -480,6 +548,27 @@ export class XCardActionBarContainerComponent
@Input() @Input()
cardActionProvider: Subject<XCardActionModel> = cardActionProvider: Subject<XCardActionModel> =
this.propertyProvider.cardActionProvider; this.propertyProvider.cardActionProvider;
//
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -568,6 +657,31 @@ export class XCardActionBarContainerComponent
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle
), ),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
),
//#endregion //#endregion
// //
@@ -48,9 +48,7 @@ export interface IXMaxAllowedFilesContainer {
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class XMaxAllowedFilesContainer export class XMaxAllowedFilesContainer implements Readonly<IXMaxAllowedFilesContainer> {
implements Readonly<IXMaxAllowedFilesContainer>
{
// //
//#region Props ... //#region Props ...
readonly maxAllowedFiles: XStandardType<number> = this.config.maxUploadFiles; readonly maxAllowedFiles: XStandardType<number> = this.config.maxUploadFiles;
@@ -63,7 +61,7 @@ export class XMaxAllowedFilesContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
@Inject(X_FRAMEWORK_COMPONENTS_CONFIG) @Inject(X_FRAMEWORK_COMPONENTS_CONFIG)
private config: XFrameworkComponentsConfig private config: XFrameworkComponentsConfig,
) {} ) {}
//#endregion //#endregion
} }
@@ -79,9 +77,7 @@ export interface IXMaxAllowedSizeContainer {
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class XMaxAllowedSizeContainer export class XMaxAllowedSizeContainer implements Readonly<IXMaxAllowedSizeContainer> {
implements Readonly<IXMaxAllowedSizeContainer>
{
// //
//#region Props ... //#region Props ...
readonly maxAllowedSize: XStandardType<number> = this.config.maxAllowedSize; readonly maxAllowedSize: XStandardType<number> = this.config.maxAllowedSize;
@@ -94,7 +90,7 @@ export class XMaxAllowedSizeContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
@Inject(X_FRAMEWORK_COMPONENTS_CONFIG) @Inject(X_FRAMEWORK_COMPONENTS_CONFIG)
private config: XFrameworkComponentsConfig private config: XFrameworkComponentsConfig,
) {} ) {}
//#endregion //#endregion
} }
@@ -110,9 +106,7 @@ export interface IXMinAllowedFileSizeContainer {
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class XMinAllowedFileSizeContainer export class XMinAllowedFileSizeContainer implements Readonly<IXMinAllowedFileSizeContainer> {
implements Readonly<IXMinAllowedFileSizeContainer>
{
// //
//#region Props ... //#region Props ...
readonly minAllowedFileSize: XStandardType<number> = readonly minAllowedFileSize: XStandardType<number> =
@@ -126,7 +120,7 @@ export class XMinAllowedFileSizeContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
@Inject(X_FRAMEWORK_COMPONENTS_CONFIG) @Inject(X_FRAMEWORK_COMPONENTS_CONFIG)
private config: XFrameworkComponentsConfig private config: XFrameworkComponentsConfig,
) {} ) {}
//#endregion //#endregion
} }
@@ -142,9 +136,7 @@ export interface IXMaxAllowedFileSizeContainer {
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
export class XMaxAllowedFileSizeContainer export class XMaxAllowedFileSizeContainer implements Readonly<IXMaxAllowedFileSizeContainer> {
implements Readonly<IXMaxAllowedFileSizeContainer>
{
// //
//#region Props ... //#region Props ...
readonly maxAllowedFileSize: XStandardType<number> = readonly maxAllowedFileSize: XStandardType<number> =
@@ -158,7 +150,7 @@ export class XMaxAllowedFileSizeContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
@Inject(X_FRAMEWORK_COMPONENTS_CONFIG) @Inject(X_FRAMEWORK_COMPONENTS_CONFIG)
private config: XFrameworkComponentsConfig private config: XFrameworkComponentsConfig,
) {} ) {}
//#endregion //#endregion
} }
@@ -191,7 +183,7 @@ export class XFileRegularContainer implements Readonly<IXFileRegularContainer> {
//#region Constructor ... //#region Constructor ...
constructor( constructor(
@Inject(X_FRAMEWORK_COMPONENTS_CONFIG) @Inject(X_FRAMEWORK_COMPONENTS_CONFIG)
private config: XFrameworkComponentsConfig private config: XFrameworkComponentsConfig,
) {} ) {}
//#endregion //#endregion
} }
@@ -254,7 +246,7 @@ export class XFileContainer implements Readonly<IXFileContainer> {
//#region Constructor ... //#region Constructor ...
constructor( constructor(
@Inject(X_FRAMEWORK_COMPONENTS_CONFIG) @Inject(X_FRAMEWORK_COMPONENTS_CONFIG)
private config: XFrameworkComponentsConfig private config: XFrameworkComponentsConfig,
) {} ) {}
//#endregion //#endregion
} }
@@ -267,9 +259,9 @@ export class XFileContainer implements Readonly<IXFileContainer> {
}) })
@Component({ @Component({
template: ` template: `
<!-- <!--
<ng-container *ngIf="extractProps() | async as props"> <ng-container *ngIf="extractProps() | async as props">
</ng-container> </ng-container>
--> -->
`, `,
}) })
@@ -339,7 +331,7 @@ export abstract class XFileContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XFileContainer protected propertyProvider: XFileContainer,
) { ) {
super( super(
config, config,
@@ -348,7 +340,7 @@ export abstract class XFileContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -356,52 +348,52 @@ export abstract class XFileContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXFileContainer container?: IXFileContainer,
): Observable<IXFileContainer> { ): Observable<IXFileContainer> {
return forkJoin({ return forkJoin({
// //
emptyFileException: this.getValue( emptyFileException: this.getValue(
container ? container.emptyFileException : this.emptyFileException container ? container.emptyFileException : this.emptyFileException,
), ),
notAllowedFileException: this.getValue( notAllowedFileException: this.getValue(
container container
? container.notAllowedFileException ? container.notAllowedFileException
: this.notAllowedFileException : this.notAllowedFileException,
), ),
allowedExtensions: this.getValue( allowedExtensions: this.getValue(
container ? container.allowedExtensions : this.allowedExtensions container ? container.allowedExtensions : this.allowedExtensions,
), ),
maxAllowedFiles: this.getValue( maxAllowedFiles: this.getValue(
container ? container.maxAllowedFiles : this.maxAllowedFiles container ? container.maxAllowedFiles : this.maxAllowedFiles,
), ),
maxAllowedFilesException: this.getValue( maxAllowedFilesException: this.getValue(
container container
? container.maxAllowedFilesException ? container.maxAllowedFilesException
: this.maxAllowedFilesException : this.maxAllowedFilesException,
), ),
maxAllowedSize: this.getValue( maxAllowedSize: this.getValue(
container ? container.maxAllowedSize : this.maxAllowedSize container ? container.maxAllowedSize : this.maxAllowedSize,
), ),
maxAllowedSizeException: this.getValue( maxAllowedSizeException: this.getValue(
container container
? container.maxAllowedSizeException ? container.maxAllowedSizeException
: this.maxAllowedSizeException : this.maxAllowedSizeException,
), ),
minAllowedFileSize: this.getValue( minAllowedFileSize: this.getValue(
container ? container.minAllowedFileSize : this.minAllowedFileSize container ? container.minAllowedFileSize : this.minAllowedFileSize,
), ),
minAllowedFileSizeException: this.getValue( minAllowedFileSizeException: this.getValue(
container container
? container.minAllowedFileSizeException ? container.minAllowedFileSizeException
: this.minAllowedFileSizeException : this.minAllowedFileSizeException,
), ),
maxAllowedFileSize: this.getValue( maxAllowedFileSize: this.getValue(
container ? container.maxAllowedFileSize : this.maxAllowedFileSize container ? container.maxAllowedFileSize : this.maxAllowedFileSize,
), ),
maxAllowedFileSizeException: this.getValue( maxAllowedFileSizeException: this.getValue(
container container
? container.maxAllowedFileSizeException ? container.maxAllowedFileSizeException
: this.maxAllowedFileSizeException : this.maxAllowedFileSizeException,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -411,7 +403,7 @@ export abstract class XFileContainerComponent
// //
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -454,6 +446,16 @@ export class XCardFileContainer
this.cardPropertyProvider.cardSubTitle; this.cardPropertyProvider.cardSubTitle;
readonly cardCssClass: XStandardType<XOneOrManyType<string>> = readonly cardCssClass: XStandardType<XOneOrManyType<string>> =
this.cardPropertyProvider.cardCssClass; this.cardPropertyProvider.cardCssClass;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -501,7 +503,7 @@ export class XCardFileContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
protected cardPropertyProvider: XComponentCardContainer, protected cardPropertyProvider: XComponentCardContainer,
protected filePropertyProvider: XFileContainer protected filePropertyProvider: XFileContainer,
) { ) {
super(); super();
} }
@@ -556,6 +558,26 @@ export class XCardFileContainerComponent
@Input() @Input()
cardCssClass: XStandardType<XOneOrManyType<string>> = cardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.cardCssClass; this.propertyProvider.cardCssClass;
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -621,7 +643,7 @@ export class XCardFileContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XCardFileContainer protected propertyProvider: XCardFileContainer,
) { ) {
super( super(
config, config,
@@ -630,7 +652,7 @@ export class XCardFileContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -638,82 +660,107 @@ export class XCardFileContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXCardFileContainer container?: IXCardFileContainer,
): Observable<IXCardFileContainer> { ): Observable<IXCardFileContainer> {
return forkJoin({ return forkJoin({
// //
//#region XComponentCard ... //#region XComponentCard ...
cardCssClass: this.getArrayValue( cardCssClass: this.getArrayValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
//#endregion //#endregion
// //
//#region File ... //#region File ...
emptyFileException: this.getValue( emptyFileException: this.getValue(
container ? container.emptyFileException : this.emptyFileException container ? container.emptyFileException : this.emptyFileException,
), ),
notAllowedFileException: this.getValue( notAllowedFileException: this.getValue(
container container
? container.notAllowedFileException ? container.notAllowedFileException
: this.notAllowedFileException : this.notAllowedFileException,
), ),
allowedExtensions: this.getValue( allowedExtensions: this.getValue(
container ? container.allowedExtensions : this.allowedExtensions container ? container.allowedExtensions : this.allowedExtensions,
), ),
maxAllowedFiles: this.getValue( maxAllowedFiles: this.getValue(
container ? container.maxAllowedFiles : this.maxAllowedFiles container ? container.maxAllowedFiles : this.maxAllowedFiles,
), ),
maxAllowedFilesException: this.getValue( maxAllowedFilesException: this.getValue(
container container
? container.maxAllowedFilesException ? container.maxAllowedFilesException
: this.maxAllowedFilesException : this.maxAllowedFilesException,
), ),
maxAllowedSize: this.getValue( maxAllowedSize: this.getValue(
container ? container.maxAllowedSize : this.maxAllowedSize container ? container.maxAllowedSize : this.maxAllowedSize,
), ),
maxAllowedSizeException: this.getValue( maxAllowedSizeException: this.getValue(
container container
? container.maxAllowedSizeException ? container.maxAllowedSizeException
: this.maxAllowedSizeException : this.maxAllowedSizeException,
), ),
minAllowedFileSize: this.getValue( minAllowedFileSize: this.getValue(
container ? container.minAllowedFileSize : this.minAllowedFileSize container ? container.minAllowedFileSize : this.minAllowedFileSize,
), ),
minAllowedFileSizeException: this.getValue( minAllowedFileSizeException: this.getValue(
container container
? container.minAllowedFileSizeException ? container.minAllowedFileSizeException
: this.minAllowedFileSizeException : this.minAllowedFileSizeException,
), ),
maxAllowedFileSize: this.getValue( maxAllowedFileSize: this.getValue(
container ? container.maxAllowedFileSize : this.maxAllowedFileSize container ? container.maxAllowedFileSize : this.maxAllowedFileSize,
), ),
maxAllowedFileSizeException: this.getValue( maxAllowedFileSizeException: this.getValue(
container container
? container.maxAllowedFileSizeException ? container.maxAllowedFileSizeException
: this.maxAllowedFileSizeException : this.maxAllowedFileSizeException,
), ),
//#endregion //#endregion
}).pipe( }).pipe(
@@ -727,7 +774,7 @@ export class XCardFileContainerComponent
? container.cardActionProvider ? container.cardActionProvider
: this.cardActionProvider, : this.cardActionProvider,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -740,8 +787,7 @@ export class XCardFileContainerComponent
type TXCardFileFileDropContainer = IXComponentCardContainer & type TXCardFileFileDropContainer = IXComponentCardContainer &
IXFileContainer & IXFileContainer &
IXComponentFileDropAreaContainer; IXComponentFileDropAreaContainer;
export interface IXCardFileFileDropContainer export interface IXCardFileFileDropContainer extends TXCardFileFileDropContainer {}
extends TXCardFileFileDropContainer {}
// //
@Injectable({ @Injectable({
@@ -775,6 +821,16 @@ export class XCardFileFileDropContainer
this.cardPropertyProvider.cardSubTitle; this.cardPropertyProvider.cardSubTitle;
readonly cardCssClass: XStandardType<XOneOrManyType<string>> = readonly cardCssClass: XStandardType<XOneOrManyType<string>> =
this.cardPropertyProvider.cardCssClass; this.cardPropertyProvider.cardCssClass;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -899,6 +955,16 @@ export class XCardFileFileDropContainer
this.fileDropPropertyProvider.fileDropAreaCardSubTitle; this.fileDropPropertyProvider.fileDropAreaCardSubTitle;
readonly fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>> = readonly fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>> =
this.fileDropPropertyProvider.fileDropAreaCardCssClass; this.fileDropPropertyProvider.fileDropAreaCardCssClass;
readonly fileDropAreaCardShowFullScreenButton: XStandardType<boolean> =
this.fileDropPropertyProvider.fileDropAreaCardShowFullScreenButton;
readonly fileDropAreaCardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.fileDropPropertyProvider.fileDropAreaCardEnterFullScreenButtonIcon;
readonly fileDropAreaCardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.fileDropPropertyProvider.fileDropAreaCardEnterFullScreenButtonColor;
readonly fileDropAreaCardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.fileDropPropertyProvider.fileDropAreaCardExitFullScreenButtonIcon;
readonly fileDropAreaCardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.fileDropPropertyProvider.fileDropAreaCardExitFullScreenButtonColor;
//#endregion //#endregion
//#endregion //#endregion
//#endregion //#endregion
@@ -908,7 +974,7 @@ export class XCardFileFileDropContainer
constructor( constructor(
protected cardPropertyProvider: XComponentCardContainer, protected cardPropertyProvider: XComponentCardContainer,
protected fileDropPropertyProvider: XComponentFileDropAreaContainer, protected fileDropPropertyProvider: XComponentFileDropAreaContainer,
protected filePropertyProvider: XFileContainer protected filePropertyProvider: XFileContainer,
) { ) {
super(); super();
} }
@@ -963,6 +1029,26 @@ export class XCardFileFileDropContainerComponent
@Input() @Input()
cardCssClass: XStandardType<XOneOrManyType<string>> = cardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.cardCssClass; this.propertyProvider.cardCssClass;
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -1131,6 +1217,26 @@ export class XCardFileFileDropContainerComponent
@Input() @Input()
fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>> = fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.fileDropAreaCardCssClass; this.propertyProvider.fileDropAreaCardCssClass;
@Input()
fileDropAreaCardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.fileDropAreaCardShowFullScreenButton;
@Input()
fileDropAreaCardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.fileDropAreaCardEnterFullScreenButtonIcon;
@Input()
fileDropAreaCardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.fileDropAreaCardEnterFullScreenButtonColor;
@Input()
fileDropAreaCardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.fileDropAreaCardExitFullScreenButtonIcon;
@Input()
fileDropAreaCardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.fileDropAreaCardExitFullScreenButtonColor;
//#endregion //#endregion
//#endregion //#endregion
//#endregion //#endregion
@@ -1146,7 +1252,7 @@ export class XCardFileFileDropContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XCardFileFileDropContainer protected propertyProvider: XCardFileFileDropContainer,
) { ) {
super( super(
config, config,
@@ -1155,7 +1261,7 @@ export class XCardFileFileDropContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -1163,82 +1269,107 @@ export class XCardFileFileDropContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXCardFileFileDropContainer container?: IXCardFileFileDropContainer,
): Observable<IXCardFileFileDropContainer> { ): Observable<IXCardFileFileDropContainer> {
return forkJoin({ return forkJoin({
// //
//#region XComponentCard ... //#region XComponentCard ...
cardCssClass: this.getArrayValue( cardCssClass: this.getArrayValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
//#endregion //#endregion
// //
//#region File ... //#region File ...
emptyFileException: this.getValue( emptyFileException: this.getValue(
container ? container.emptyFileException : this.emptyFileException container ? container.emptyFileException : this.emptyFileException,
), ),
notAllowedFileException: this.getValue( notAllowedFileException: this.getValue(
container container
? container.notAllowedFileException ? container.notAllowedFileException
: this.notAllowedFileException : this.notAllowedFileException,
), ),
allowedExtensions: this.getValue( allowedExtensions: this.getValue(
container ? container.allowedExtensions : this.allowedExtensions container ? container.allowedExtensions : this.allowedExtensions,
), ),
maxAllowedFiles: this.getValue( maxAllowedFiles: this.getValue(
container ? container.maxAllowedFiles : this.maxAllowedFiles container ? container.maxAllowedFiles : this.maxAllowedFiles,
), ),
maxAllowedFilesException: this.getValue( maxAllowedFilesException: this.getValue(
container container
? container.maxAllowedFilesException ? container.maxAllowedFilesException
: this.maxAllowedFilesException : this.maxAllowedFilesException,
), ),
maxAllowedSize: this.getValue( maxAllowedSize: this.getValue(
container ? container.maxAllowedSize : this.maxAllowedSize container ? container.maxAllowedSize : this.maxAllowedSize,
), ),
maxAllowedSizeException: this.getValue( maxAllowedSizeException: this.getValue(
container container
? container.maxAllowedSizeException ? container.maxAllowedSizeException
: this.maxAllowedSizeException : this.maxAllowedSizeException,
), ),
minAllowedFileSize: this.getValue( minAllowedFileSize: this.getValue(
container ? container.minAllowedFileSize : this.minAllowedFileSize container ? container.minAllowedFileSize : this.minAllowedFileSize,
), ),
minAllowedFileSizeException: this.getValue( minAllowedFileSizeException: this.getValue(
container container
? container.minAllowedFileSizeException ? container.minAllowedFileSizeException
: this.minAllowedFileSizeException : this.minAllowedFileSizeException,
), ),
maxAllowedFileSize: this.getValue( maxAllowedFileSize: this.getValue(
container ? container.maxAllowedFileSize : this.maxAllowedFileSize container ? container.maxAllowedFileSize : this.maxAllowedFileSize,
), ),
maxAllowedFileSizeException: this.getValue( maxAllowedFileSizeException: this.getValue(
container container
? container.maxAllowedFileSizeException ? container.maxAllowedFileSizeException
: this.maxAllowedFileSizeException : this.maxAllowedFileSizeException,
), ),
//#endregion //#endregion
@@ -1246,103 +1377,132 @@ export class XCardFileFileDropContainerComponent
//#region FileDrop ... //#region FileDrop ...
// //
fileDropAreaCssClass: this.getValue( fileDropAreaCssClass: this.getValue(
container ? container.fileDropAreaCssClass : this.fileDropAreaCssClass container ? container.fileDropAreaCssClass : this.fileDropAreaCssClass,
), ),
fileDropAreaColor: this.getValue( fileDropAreaColor: this.getValue(
container ? container.fileDropAreaColor : this.fileDropAreaColor container ? container.fileDropAreaColor : this.fileDropAreaColor,
), ),
fileDropAreaForegroundColor: this.getValue( fileDropAreaForegroundColor: this.getValue(
container container
? container.fileDropAreaForegroundColor ? container.fileDropAreaForegroundColor
: this.fileDropAreaForegroundColor : this.fileDropAreaForegroundColor,
), ),
fileDropAreaIcon: this.getValue( fileDropAreaIcon: this.getValue(
container ? container.fileDropAreaIcon : this.fileDropAreaIcon container ? container.fileDropAreaIcon : this.fileDropAreaIcon,
), ),
fileDropAreaMessage: this.getValue( fileDropAreaMessage: this.getValue(
container ? container.fileDropAreaMessage : this.fileDropAreaMessage container ? container.fileDropAreaMessage : this.fileDropAreaMessage,
), ),
fileDropAreaDisableFileCheck: this.getValue( fileDropAreaDisableFileCheck: this.getValue(
container container
? container.fileDropAreaDisableFileCheck ? container.fileDropAreaDisableFileCheck
: this.fileDropAreaDisableFileCheck : this.fileDropAreaDisableFileCheck,
), ),
fileDropAreaSupportsMultipleFiles: this.getValue( fileDropAreaSupportsMultipleFiles: this.getValue(
container container
? container.fileDropAreaSupportsMultipleFiles ? container.fileDropAreaSupportsMultipleFiles
: this.fileDropAreaSupportsMultipleFiles : this.fileDropAreaSupportsMultipleFiles,
), ),
fileDropAreaAllowedExtensions: this.getValue( fileDropAreaAllowedExtensions: this.getValue(
container container
? container.fileDropAreaAllowedExtensions ? container.fileDropAreaAllowedExtensions
: this.fileDropAreaAllowedExtensions : this.fileDropAreaAllowedExtensions,
), ),
fileDropAreaDragDisabled: this.getValue( fileDropAreaDragDisabled: this.getValue(
container container
? container.fileDropAreaDragDisabled ? container.fileDropAreaDragDisabled
: this.fileDropAreaDragDisabled : this.fileDropAreaDragDisabled,
), ),
fileDropAreaContentTemplate: this.getValue( fileDropAreaContentTemplate: this.getValue(
container container
? container.fileDropAreaContentTemplate ? container.fileDropAreaContentTemplate
: this.fileDropAreaContentTemplate : this.fileDropAreaContentTemplate,
), ),
fileDropAreaSuccessColor: this.getValue( fileDropAreaSuccessColor: this.getValue(
container container
? container.fileDropAreaSuccessColor ? container.fileDropAreaSuccessColor
: this.fileDropAreaSuccessColor : this.fileDropAreaSuccessColor,
), ),
fileDropAreaErrorColor: this.getValue( fileDropAreaErrorColor: this.getValue(
container container
? container.fileDropAreaErrorColor ? container.fileDropAreaErrorColor
: this.fileDropAreaErrorColor : this.fileDropAreaErrorColor,
), ),
fileDropAreaAccentColor: this.getValue( fileDropAreaAccentColor: this.getValue(
container container
? container.fileDropAreaAccentColor ? container.fileDropAreaAccentColor
: this.fileDropAreaAccentColor : this.fileDropAreaAccentColor,
), ),
showFileDropArea: this.getValue( showFileDropArea: this.getValue(
container ? container.showFileDropArea : this.showFileDropArea container ? container.showFileDropArea : this.showFileDropArea,
), ),
fileDropAreaIsInPage: this.getValue( fileDropAreaIsInPage: this.getValue(
container ? container.fileDropAreaIsInPage : this.fileDropAreaIsInPage container ? container.fileDropAreaIsInPage : this.fileDropAreaIsInPage,
), ),
fileDropAreaWrapWithCard: this.getValue( fileDropAreaWrapWithCard: this.getValue(
container container
? container.fileDropAreaWrapWithCard ? container.fileDropAreaWrapWithCard
: this.fileDropAreaWrapWithCard : this.fileDropAreaWrapWithCard,
), ),
fileDropAreaCardShowFooter: this.getValue( fileDropAreaCardShowFooter: this.getValue(
container container
? container.fileDropAreaCardShowFooter ? container.fileDropAreaCardShowFooter
: this.fileDropAreaCardShowFooter : this.fileDropAreaCardShowFooter,
), ),
fileDropAreaCardShowActions: this.getValue( fileDropAreaCardShowActions: this.getValue(
container container
? container.fileDropAreaCardShowActions ? container.fileDropAreaCardShowActions
: this.fileDropAreaCardShowActions : this.fileDropAreaCardShowActions,
), ),
fileDropAreaCardColor: this.getValue( fileDropAreaCardColor: this.getValue(
container ? container.fileDropAreaCardColor : this.fileDropAreaCardColor container
? container.fileDropAreaCardColor
: this.fileDropAreaCardColor,
), ),
fileDropAreaCardForegroundColor: this.getValue( fileDropAreaCardForegroundColor: this.getValue(
container container
? container.fileDropAreaCardForegroundColor ? container.fileDropAreaCardForegroundColor
: this.fileDropAreaCardForegroundColor : this.fileDropAreaCardForegroundColor,
), ),
fileDropAreaCardTitle: this.getValue( fileDropAreaCardTitle: this.getValue(
container ? container.fileDropAreaCardTitle : this.fileDropAreaCardTitle container
? container.fileDropAreaCardTitle
: this.fileDropAreaCardTitle,
), ),
fileDropAreaCardSubTitle: this.getValue( fileDropAreaCardSubTitle: this.getValue(
container container
? container.fileDropAreaCardSubTitle ? container.fileDropAreaCardSubTitle
: this.fileDropAreaCardSubTitle : this.fileDropAreaCardSubTitle,
), ),
fileDropAreaCardCssClass: this.getValue( fileDropAreaCardCssClass: this.getValue(
container container
? container.fileDropAreaCardCssClass ? container.fileDropAreaCardCssClass
: this.fileDropAreaCardCssClass : this.fileDropAreaCardCssClass,
),
fileDropAreaCardShowFullScreenButton: this.getValue(
container
? container.fileDropAreaCardShowFullScreenButton
: this.fileDropAreaCardShowFullScreenButton,
),
fileDropAreaCardEnterFullScreenButtonIcon: this.getValue(
container
? container.fileDropAreaCardEnterFullScreenButtonIcon
: this.fileDropAreaCardEnterFullScreenButtonIcon,
),
fileDropAreaCardEnterFullScreenButtonColor: this.getValue(
container
? container.fileDropAreaCardEnterFullScreenButtonColor
: this.fileDropAreaCardEnterFullScreenButtonColor,
),
fileDropAreaCardExitFullScreenButtonIcon: this.getValue(
container
? container.fileDropAreaCardExitFullScreenButtonIcon
: this.fileDropAreaCardExitFullScreenButtonIcon,
),
fileDropAreaCardExitFullScreenButtonColor: this.getValue(
container
? container.fileDropAreaCardExitFullScreenButtonColor
: this.fileDropAreaCardExitFullScreenButtonColor,
), ),
//#endregion //#endregion
}).pipe( }).pipe(
@@ -1369,7 +1529,7 @@ export class XCardFileFileDropContainerComponent
// //
fileDropAreaFilesChangeEmiter: this.fileDropAreaFilesChangeEmiter, fileDropAreaFilesChangeEmiter: this.fileDropAreaFilesChangeEmiter,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -32,6 +32,7 @@ import { map } from 'rxjs/operators';
import { Observable, forkJoin, Subject } from 'rxjs'; import { Observable, forkJoin, Subject } from 'rxjs';
import { ViewportRuler } from '@angular/cdk/overlay'; import { ViewportRuler } from '@angular/cdk/overlay';
import { XManagerService } from 'x-framework-services'; import { XManagerService } from 'x-framework-services';
import { XIconIdentifier } from '../x-icon/x-icon.typings';
import { IXButtonContainer, XButtonType } from '../x-button/x-button.typings'; import { IXButtonContainer, XButtonType } from '../x-button/x-button.typings';
import { X_FRAMEWORK_COMPONENTS_CONFIG } from '../tokens/x-injectable-tokens'; import { X_FRAMEWORK_COMPONENTS_CONFIG } from '../tokens/x-injectable-tokens';
import { XSlotNameIdentifier, XSlotName } from '../x-slotter/x-slotter.typings'; import { XSlotNameIdentifier, XSlotName } from '../x-slotter/x-slotter.typings';
@@ -274,7 +275,7 @@ export abstract class XNextPrevResetHostContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XNextPrevResetHostContainer protected propertyProvider: XNextPrevResetHostContainer,
) { ) {
super( super(
config, config,
@@ -283,7 +284,7 @@ export abstract class XNextPrevResetHostContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -291,7 +292,7 @@ export abstract class XNextPrevResetHostContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXNextPrevResetHostContainer container?: IXNextPrevResetHostContainer,
): Observable<IXNextPrevResetHostContainer> { ): Observable<IXNextPrevResetHostContainer> {
return forkJoin({ return forkJoin({
// //
@@ -309,7 +310,7 @@ export abstract class XNextPrevResetHostContainerComponent
onPrev: this.onPrev, onPrev: this.onPrev,
onReset: this.onReset, onReset: this.onReset,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -321,8 +322,7 @@ export abstract class XNextPrevResetHostContainerComponent
// //
type TXCardEmptyContainer = IXComponentCardContainer & type TXCardEmptyContainer = IXComponentCardContainer &
IXNextPrevResetHostContainer; IXNextPrevResetHostContainer;
export interface IXCardNextPrevResetHostContainer export interface IXCardNextPrevResetHostContainer extends TXCardEmptyContainer {}
extends TXCardEmptyContainer {}
// //
@Injectable({ @Injectable({
@@ -356,6 +356,16 @@ export class XCardNextPrevResetHostContainer
this.cardPropertyProvider.cardSubTitle; this.cardPropertyProvider.cardSubTitle;
readonly cardCssClass: XStandardType<XOneOrManyType<string>> = readonly cardCssClass: XStandardType<XOneOrManyType<string>> =
this.cardPropertyProvider.cardCssClass; this.cardPropertyProvider.cardCssClass;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -390,7 +400,7 @@ export class XCardNextPrevResetHostContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
protected cardPropertyProvider: XComponentCardContainer, protected cardPropertyProvider: XComponentCardContainer,
protected nextPrevResetHostPropertyProvider: XNextPrevResetHostContainer protected nextPrevResetHostPropertyProvider: XNextPrevResetHostContainer,
) { ) {
super(); super();
} }
@@ -445,6 +455,26 @@ export class XCardNextPrevResetHostContainerComponent
@Input() @Input()
cardCssClass: XStandardType<XOneOrManyType<string>> = cardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.cardCssClass; this.propertyProvider.cardCssClass;
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -489,7 +519,7 @@ export class XCardNextPrevResetHostContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XCardNextPrevResetHostContainer protected propertyProvider: XCardNextPrevResetHostContainer,
) { ) {
super( super(
config, config,
@@ -498,7 +528,7 @@ export class XCardNextPrevResetHostContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -506,35 +536,60 @@ export class XCardNextPrevResetHostContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXCardNextPrevResetHostContainer container?: IXCardNextPrevResetHostContainer,
): Observable<IXCardNextPrevResetHostContainer> { ): Observable<IXCardNextPrevResetHostContainer> {
return forkJoin({ return forkJoin({
// //
//#region XComponentCard ... //#region XComponentCard ...
cardCssClass: this.getArrayValue( cardCssClass: this.getArrayValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
//#endregion //#endregion
@@ -561,7 +616,7 @@ export class XCardNextPrevResetHostContainerComponent
onPrev: this.onPrev, onPrev: this.onPrev,
onReset: this.onReset, onReset: this.onReset,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -576,8 +631,7 @@ type TXNextPrevResetContainer = IXNextContainer &
IXResetContainer; IXResetContainer;
// tslint:disable-next-line:no-empty-interface // tslint:disable-next-line:no-empty-interface
export interface IXNextPrevResetContainer export interface IXNextPrevResetContainer
extends IXBaseContainer, extends IXBaseContainer, TXNextPrevResetContainer {}
TXNextPrevResetContainer {}
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@@ -637,7 +691,7 @@ export class XNextPrevResetContainer
constructor( constructor(
protected prevPropertyProvider: XPrevContainer, protected prevPropertyProvider: XPrevContainer,
protected nextPropertyProvider: XNextContainer, protected nextPropertyProvider: XNextContainer,
protected resetpropertyProvider: XResetContainer protected resetpropertyProvider: XResetContainer,
) { ) {
super(); super();
} }
@@ -741,7 +795,7 @@ export abstract class XNextPrevResetContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XNextPrevResetContainer protected propertyProvider: XNextPrevResetContainer,
) { ) {
super( super(
config, config,
@@ -750,7 +804,7 @@ export abstract class XNextPrevResetContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -758,57 +812,57 @@ export abstract class XNextPrevResetContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXNextPrevResetContainer container?: IXNextPrevResetContainer,
): Observable<IXNextPrevResetContainer> { ): Observable<IXNextPrevResetContainer> {
return forkJoin({ return forkJoin({
// //
hasNext: this.getValue(container ? container.hasNext : this.hasNext), hasNext: this.getValue(container ? container.hasNext : this.hasNext),
disableNext: this.getValue( disableNext: this.getValue(
container ? container.disableNext : this.disableNext container ? container.disableNext : this.disableNext,
), ),
nextConfirmer: this.getValue( nextConfirmer: this.getValue(
container ? container.nextConfirmer : this.nextConfirmer container ? container.nextConfirmer : this.nextConfirmer,
), ),
nextPosition: this.getValue( nextPosition: this.getValue(
container ? container.nextPosition : this.nextPosition container ? container.nextPosition : this.nextPosition,
), ),
nextCssClass: this.getValue( nextCssClass: this.getValue(
container ? container.nextCssClass : this.nextCssClass container ? container.nextCssClass : this.nextCssClass,
), ),
nextButton: this.getValue( nextButton: this.getValue(
container ? container.nextButton : this.nextButton container ? container.nextButton : this.nextButton,
), ),
hasPrev: this.getValue(container ? container.hasPrev : this.hasPrev), hasPrev: this.getValue(container ? container.hasPrev : this.hasPrev),
disablePrev: this.getValue( disablePrev: this.getValue(
container ? container.disablePrev : this.disablePrev container ? container.disablePrev : this.disablePrev,
), ),
prevConfirmer: this.getValue( prevConfirmer: this.getValue(
container ? container.prevConfirmer : this.prevConfirmer container ? container.prevConfirmer : this.prevConfirmer,
), ),
prevPosition: this.getValue( prevPosition: this.getValue(
container ? container.prevPosition : this.prevPosition container ? container.prevPosition : this.prevPosition,
), ),
prevCssClass: this.getValue( prevCssClass: this.getValue(
container ? container.prevCssClass : this.prevCssClass container ? container.prevCssClass : this.prevCssClass,
), ),
prevButton: this.getValue( prevButton: this.getValue(
container ? container.prevButton : this.prevButton container ? container.prevButton : this.prevButton,
), ),
hasReset: this.getValue(container ? container.hasReset : this.hasReset), hasReset: this.getValue(container ? container.hasReset : this.hasReset),
disableReset: this.getValue( disableReset: this.getValue(
container ? container.disableReset : this.disableReset container ? container.disableReset : this.disableReset,
), ),
resetConfirmer: this.getValue( resetConfirmer: this.getValue(
container ? container.resetConfirmer : this.resetConfirmer container ? container.resetConfirmer : this.resetConfirmer,
), ),
resetPosition: this.getValue( resetPosition: this.getValue(
container ? container.resetPosition : this.resetPosition container ? container.resetPosition : this.resetPosition,
), ),
resetCssClass: this.getValue( resetCssClass: this.getValue(
container ? container.resetCssClass : this.resetCssClass container ? container.resetCssClass : this.resetCssClass,
), ),
resetButton: this.getValue( resetButton: this.getValue(
container ? container.resetButton : this.resetButton container ? container.resetButton : this.resetButton,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -818,7 +872,7 @@ export abstract class XNextPrevResetContainerComponent
// //
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -830,8 +884,7 @@ export abstract class XNextPrevResetContainerComponent
type TXNextPrevResetAndHostContainer = IXNextPrevResetContainer & type TXNextPrevResetAndHostContainer = IXNextPrevResetContainer &
IXCardNextPrevResetHostContainer; IXCardNextPrevResetHostContainer;
export interface IXNextPrevResetAndHostContainer export interface IXNextPrevResetAndHostContainer
extends IXBaseContainer, extends IXBaseContainer, TXNextPrevResetAndHostContainer {}
TXNextPrevResetAndHostContainer {}
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@@ -940,6 +993,16 @@ export class XNextPrevResetAndHostContainer
this.cardNextPrevResetPropertyProvider.cardSubTitle; this.cardNextPrevResetPropertyProvider.cardSubTitle;
readonly cardCssClass: XStandardType<XOneOrManyType<string>> = readonly cardCssClass: XStandardType<XOneOrManyType<string>> =
this.cardNextPrevResetPropertyProvider.cardCssClass; this.cardNextPrevResetPropertyProvider.cardCssClass;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardNextPrevResetPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardNextPrevResetPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardNextPrevResetPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardNextPrevResetPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardNextPrevResetPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
//#endregion //#endregion
@@ -947,7 +1010,7 @@ export class XNextPrevResetAndHostContainer
//#region Constructor ... //#region Constructor ...
constructor( constructor(
protected nextPrevResetPropertyProvider: XNextPrevResetContainer, protected nextPrevResetPropertyProvider: XNextPrevResetContainer,
protected cardNextPrevResetPropertyProvider: XCardNextPrevResetHostContainer protected cardNextPrevResetPropertyProvider: XCardNextPrevResetHostContainer,
) { ) {
super(); super();
} }
@@ -1001,6 +1064,26 @@ export class XNextPrevResetAndHostContainerComponent
@Input() @Input()
cardCssClass: XStandardType<XOneOrManyType<string>> = cardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.cardCssClass; this.propertyProvider.cardCssClass;
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -1123,7 +1206,7 @@ export class XNextPrevResetAndHostContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XNextPrevResetAndHostContainer protected propertyProvider: XNextPrevResetAndHostContainer,
) { ) {
super( super(
config, config,
@@ -1132,7 +1215,7 @@ export class XNextPrevResetAndHostContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -1140,35 +1223,60 @@ export class XNextPrevResetAndHostContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXNextPrevResetAndHostContainer container?: IXNextPrevResetAndHostContainer,
): Observable<IXNextPrevResetAndHostContainer> { ): Observable<IXNextPrevResetAndHostContainer> {
return forkJoin({ return forkJoin({
// //
//#region XComponentCard ... //#region XComponentCard ...
cardCssClass: this.getArrayValue( cardCssClass: this.getArrayValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
//#endregion //#endregion
@@ -1185,51 +1293,51 @@ export class XNextPrevResetAndHostContainerComponent
// //
hasNext: this.getValue(container ? container.hasNext : this.hasNext), hasNext: this.getValue(container ? container.hasNext : this.hasNext),
disableNext: this.getValue( disableNext: this.getValue(
container ? container.disableNext : this.disableNext container ? container.disableNext : this.disableNext,
), ),
nextConfirmer: this.getValue( nextConfirmer: this.getValue(
container ? container.nextConfirmer : this.nextConfirmer container ? container.nextConfirmer : this.nextConfirmer,
), ),
nextPosition: this.getValue( nextPosition: this.getValue(
container ? container.nextPosition : this.nextPosition container ? container.nextPosition : this.nextPosition,
), ),
nextCssClass: this.getValue( nextCssClass: this.getValue(
container ? container.nextCssClass : this.nextCssClass container ? container.nextCssClass : this.nextCssClass,
), ),
nextButton: this.getValue( nextButton: this.getValue(
container ? container.nextButton : this.nextButton container ? container.nextButton : this.nextButton,
), ),
hasPrev: this.getValue(container ? container.hasPrev : this.hasPrev), hasPrev: this.getValue(container ? container.hasPrev : this.hasPrev),
disablePrev: this.getValue( disablePrev: this.getValue(
container ? container.disablePrev : this.disablePrev container ? container.disablePrev : this.disablePrev,
), ),
prevConfirmer: this.getValue( prevConfirmer: this.getValue(
container ? container.prevConfirmer : this.prevConfirmer container ? container.prevConfirmer : this.prevConfirmer,
), ),
prevPosition: this.getValue( prevPosition: this.getValue(
container ? container.prevPosition : this.prevPosition container ? container.prevPosition : this.prevPosition,
), ),
prevCssClass: this.getValue( prevCssClass: this.getValue(
container ? container.prevCssClass : this.prevCssClass container ? container.prevCssClass : this.prevCssClass,
), ),
prevButton: this.getValue( prevButton: this.getValue(
container ? container.prevButton : this.prevButton container ? container.prevButton : this.prevButton,
), ),
hasReset: this.getValue(container ? container.hasReset : this.hasReset), hasReset: this.getValue(container ? container.hasReset : this.hasReset),
disableReset: this.getValue( disableReset: this.getValue(
container ? container.disableReset : this.disableReset container ? container.disableReset : this.disableReset,
), ),
resetConfirmer: this.getValue( resetConfirmer: this.getValue(
container ? container.resetConfirmer : this.resetConfirmer container ? container.resetConfirmer : this.resetConfirmer,
), ),
resetPosition: this.getValue( resetPosition: this.getValue(
container ? container.resetPosition : this.resetPosition container ? container.resetPosition : this.resetPosition,
), ),
resetCssClass: this.getValue( resetCssClass: this.getValue(
container ? container.resetCssClass : this.resetCssClass container ? container.resetCssClass : this.resetCssClass,
), ),
resetButton: this.getValue( resetButton: this.getValue(
container ? container.resetButton : this.resetButton container ? container.resetButton : this.resetButton,
), ),
//#endregion //#endregion
}).pipe( }).pipe(
@@ -1248,7 +1356,7 @@ export class XNextPrevResetAndHostContainerComponent
onPrev: this.onPrev, onPrev: this.onPrev,
onReset: this.onReset, onReset: this.onReset,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -43,6 +43,11 @@ export class XCardTestComponent extends XCardContainerComponent {}
[showFooter]="props.cardShowFooter" [showFooter]="props.cardShowFooter"
[actionProvider]="props.cardActionProvider" [actionProvider]="props.cardActionProvider"
[foregroundColor]="props.cardForegroundColor" [foregroundColor]="props.cardForegroundColor"
[showFullScreenButton]="props.showFullScreenButton"
[exitFullScreenButtonIcon]="props.exitFullScreenButtonIcon"
[enterFullScreenButtonIcon]="props.enterFullScreenButtonIcon"
[exitFullScreenButtonColor]="props.exitFullScreenButtonColor"
[enterFullScreenButtonColor]="props.enterFullScreenButtonColor"
> >
</x-card> </x-card>
</ng-container> </ng-container>
@@ -55,16 +60,21 @@ export class XCardTestComponent extends XCardContainerComponent {}
class="x-card" class="x-card"
[showActions]="true" [showActions]="true"
[color]="props.cardColor" [color]="props.cardColor"
[ngClass]="props.cardCssClass"
[isInPage]="props.isInPage" [isInPage]="props.isInPage"
[ngClass]="props.cardCssClass"
[showHeader]=" [showHeader]="
(notEmptyValue(props.cardTitle) | async) || (notEmptyValue(props.cardTitle) | async) ||
(notEmptyValue(props.cardSubTitle) | async) (notEmptyValue(props.cardSubTitle) | async)
" "
[subTitle]="getResourceValue(props.cardSubTitle)"
[title]="getResourceValue(props.cardTitle) | async" [title]="getResourceValue(props.cardTitle) | async"
[showFooter]="getValue(props.cardShowFooter) | async" [showFooter]="getValue(props.cardShowFooter) | async"
[subTitle]="getResourceValue(props.cardSubTitle) | async"
[foregroundColor]="getValue(props.cardForegroundColor) | async" [foregroundColor]="getValue(props.cardForegroundColor) | async"
[showFullScreenButton]="getValue(props.cardShowFullScreenButton) | async"
[exitFullScreenButtonIcon]="getValue(props.cardExitFullScreenButtonIcon) | async"
[enterFullScreenButtonIcon]="getValue(props.cardEnterFullScreenButtonIcon) | async"
[exitFullScreenButtonColor]="getValue(props.cardExitFullScreenButtonColor) | async"
[enterFullScreenButtonColor]="getValue(props.cardEnterFullScreenButtonColor) | async"
> >
<!-- Content --> <!-- Content -->
<ng-container *ngTemplateOutlet="componentsRef"></ng-container> <ng-container *ngTemplateOutlet="componentsRef"></ng-container>
@@ -6,6 +6,7 @@
[class.no-text]="isNoTextCard() | async" [class.no-text]="isNoTextCard() | async"
[class.page-card]="getValue(isInPage) | async" [class.page-card]="getValue(isInPage) | async"
[isForeground]="getValue(foregroundColor) | async" [isForeground]="getValue(foregroundColor) | async"
[class.full-screen]="getValue(isFullScreen) | async"
> >
<!-- Card Header --> <!-- Card Header -->
<mat-card-header class="x-header" *ngIf="getValue(showHeader) | async"> <mat-card-header class="x-header" *ngIf="getValue(showHeader) | async">
@@ -51,6 +52,16 @@
<!-- Header Content --> <!-- Header Content -->
<ng-content select="[header]"></ng-content> <ng-content select="[header]"></ng-content>
<!-- Fullscreen Toggle Button -->
<x-icon
class="x-fullscreen-toggle"
(clicked)="handleToggleFullScreen()"
[name]="getFullScreenIconName() | async"
[color]="getFullScreenIconColor() | async"
[clickable]="!loading && !uiDisabled && !lock"
*ngIf="getValue(showFullScreenButton) | async"
></x-icon>
</mat-card-header> </mat-card-header>
<!-- Card Image --> <!-- Card Image -->
@@ -1,5 +1,5 @@
// //
@import '../theme/theme.scss'; @import "../theme/theme.scss";
// //
:host::ng-deep.x-card.no-text { :host::ng-deep.x-card.no-text {
@@ -20,7 +20,7 @@
@include push-auto(); @include push-auto();
@include applyWidthHeight(); @include applyWidthHeight();
@include m-tb($d-l); @include m-tb($d-l);
@include animation('fadeInUp'); @include animation("fadeInUp");
&.mobile { &.mobile {
box-sizing: border-box; box-sizing: border-box;
@@ -32,6 +32,19 @@
} }
} }
.x-card.full-screen {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100vw;
height: 100vh;
border-radius: 0;
margin: 0;
z-index: var(--full-screen-z-index, 9999);
}
.x-header, .x-header,
.x-content, .x-content,
.x-actions, .x-actions,
@@ -20,6 +20,19 @@ export class XCardComponent extends XCardContainerComponent {
//#region Props ... //#region Props ...
// //
private ACTION_PROVIDER_SUBSCRIPTION: Subscription; private ACTION_PROVIDER_SUBSCRIPTION: Subscription;
//
private IS_FULL_SCREEN: boolean = false;
set isFullScreen(v: boolean) {
//
const isChanged = v != this.IS_FULL_SCREEN;
//
this.IS_FULL_SCREEN = v;
}
get isFullScreen() {
return this.IS_FULL_SCREEN;
}
//#endregion //#endregion
// //
@@ -31,7 +44,7 @@ export class XCardComponent extends XCardContainerComponent {
//#region Action Provider Changed ... //#region Action Provider Changed ...
// //
const isActionProviderChanged = changeKeys.includes( const isActionProviderChanged = changeKeys.includes(
nameof<XCardComponent>('actionProvider') nameof<XCardComponent>('actionProvider'),
); );
if (isActionProviderChanged) { if (isActionProviderChanged) {
this.registerActionProvider(); this.registerActionProvider();
@@ -71,11 +84,84 @@ export class XCardComponent extends XCardContainerComponent {
isNullOrEmptyString(object.title) && isNullOrEmptyString(object.title) &&
isNullOrEmptyString(object.subTitle) isNullOrEmptyString(object.subTitle)
); );
}) }),
) ),
) ),
); );
} }
getFullScreenIconName() {
return this.getValue(this.isFullScreen).pipe(
concatMap((isFull) => {
//
if (!isFull) {
return this.getValue(this.enterFullScreenButtonIcon);
} else {
return this.getValue(this.exitFullScreenButtonIcon);
}
}),
);
}
getFullScreenIconColor() {
return this.getValue(this.isFullScreen).pipe(
concatMap((isFull) => {
//
if (!isFull) {
return this.getValue(this.enterFullScreenButtonColor);
} else {
return this.getValue(this.exitFullScreenButtonColor);
}
}),
);
}
//#endregion
//
//#region UI Handlers ...
async handleToggleFullScreen() {
await this.toggleFullScreen();
}
//#endregion
//
//#region Actions ...
public async enterFullScreen() {
//
if (this.isFullScreen) {
return;
}
//
this.isFullScreen = true;
// this.fullScreenChanged.emit(true);
//
this.detectChanges();
}
public async exitFullScreen() {
//
if (!this.isFullScreen) {
return;
}
//
this.isFullScreen = false;
// this.fullScreenChanged.emit(false);
//
this.detectChanges();
}
public async toggleFullScreen() {
//
if (this.isFullScreen) {
await this.exitFullScreen();
} else {
await this.enterFullScreen();
}
}
//#endregion //#endregion
// //
@@ -94,7 +180,7 @@ export class XCardComponent extends XCardContainerComponent {
// //
// Handle Action Provider ... // Handle Action Provider ...
this.ACTION_PROVIDER_SUBSCRIPTION = this.applyTakeUntilWrapper( this.ACTION_PROVIDER_SUBSCRIPTION = this.applyTakeUntilWrapper(
this.actionProvider.asObservable() this.actionProvider.asObservable(),
).subscribe(async (model) => { ).subscribe(async (model) => {
// //
if (!model) { if (!model) {
@@ -107,6 +193,21 @@ export class XCardComponent extends XCardContainerComponent {
case XCardAction.Refresh: case XCardAction.Refresh:
this.detectChanges(); this.detectChanges();
break; break;
//
case XCardAction.EnterFullScreen:
await this.enterFullScreen();
break;
//
case XCardAction.ExitFullScreen:
await this.exitFullScreen();
break;
//
case XCardAction.ToggleFullScreen:
await this.toggleFullScreen();
break;
} }
}); });
} }
@@ -1,13 +1,12 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { XCardComponent } from './x-card.component'; import { XCardComponent } from './x-card.component';
import { XIconModule } from './../x-icon/x-icon.module';
import { XBaseComponentModule } from '../modules/x-base-component.module'; import { XBaseComponentModule } from '../modules/x-base-component.module';
@NgModule({ @NgModule({
declarations: [ declarations: [XCardComponent],
XCardComponent imports: [CommonModule, XIconModule, XBaseComponentModule],
], exports: [XIconModule, XBaseComponentModule, XCardComponent],
imports: [CommonModule, XBaseComponentModule],
exports: [XBaseComponentModule, XCardComponent],
}) })
export class XCardModule {} export class XCardModule {}
@@ -29,17 +29,20 @@ import { forkJoin, Observable, Subject } from 'rxjs';
import { ViewportRuler } from '@angular/cdk/overlay'; import { ViewportRuler } from '@angular/cdk/overlay';
import { XManagerService } from 'x-framework-services'; import { XManagerService } from 'x-framework-services';
import { XBaseActionModel } from '../classes/x-base-action.model'; import { XBaseActionModel } from '../classes/x-base-action.model';
import { XIconIdentifier, XIconNames } from '../x-icon/x-icon.typings';
import { X_FRAMEWORK_COMPONENTS_CONFIG } from '../tokens/x-injectable-tokens'; import { X_FRAMEWORK_COMPONENTS_CONFIG } from '../tokens/x-injectable-tokens';
import { XFrameworkComponentsConfig } from '../config/x-framework-components.config'; import { XFrameworkComponentsConfig } from '../config/x-framework-components.config';
export enum XCardAction { export enum XCardAction {
Refresh = 'refresh', Refresh = 'refresh',
ExitFullScreen = 'exit_full_screen',
EnterFullScreen = 'enter_full_screen',
ToggleFullScreen = 'toggle_full_screen',
} }
export type XCardActionIdentifier = XCardAction | string; export type XCardActionIdentifier = XCardAction | string;
export interface XCardActionModel export interface XCardActionModel extends XBaseActionModel<XCardActionIdentifier> {}
extends XBaseActionModel<XCardActionIdentifier> {}
// //
//#region Container ... //#region Container ...
@@ -59,6 +62,13 @@ export interface IXCardContainer extends IXBaseContainer {
avatarUrl: XStandardType<string>; avatarUrl: XStandardType<string>;
avatarTemplate: TemplateRef<any>; avatarTemplate: TemplateRef<any>;
//
showFullScreenButton: XStandardType<boolean>;
enterFullScreenButtonIcon: XStandardType<XIconIdentifier>;
enterFullScreenButtonColor: XStandardType<XColorIdentifier>;
exitFullScreenButtonIcon: XStandardType<XIconIdentifier>;
exitFullScreenButtonColor: XStandardType<XColorIdentifier>;
// //
imageUrl: XStandardType<string>; imageUrl: XStandardType<string>;
imageDescription: XStandardType<XResourceIdentifier>; imageDescription: XStandardType<XResourceIdentifier>;
@@ -97,6 +107,17 @@ export class XCardContainer
readonly avatarUrl: XStandardType<string>; readonly avatarUrl: XStandardType<string>;
readonly avatarTemplate: TemplateRef<any>; readonly avatarTemplate: TemplateRef<any>;
//
readonly showFullScreenButton: XStandardType<boolean> = false;
readonly enterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
XIconNames.fullscreen;
readonly enterFullScreenButtonColor: XStandardType<XColorIdentifier> =
XColorWithBrightness.Light;
readonly exitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
XIconNames.close_fullscreen;
readonly exitFullScreenButtonColor: XStandardType<XColorIdentifier> =
XColorWithBrightness.Light;
// //
readonly imageUrl: XStandardType<string>; readonly imageUrl: XStandardType<string>;
readonly imageDescription: XStandardType<XResourceIdentifier>; readonly imageDescription: XStandardType<XResourceIdentifier>;
@@ -153,6 +174,27 @@ export abstract class XCardContainerComponent
@Input() @Input()
avatarTemplate: TemplateRef<any> = this.propertyProvider.avatarTemplate; avatarTemplate: TemplateRef<any> = this.propertyProvider.avatarTemplate;
//
@Input()
showFullScreenButton: XStandardType<boolean> =
this.propertyProvider.showFullScreenButton;
@Input()
enterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.enterFullScreenButtonIcon;
@Input()
enterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.enterFullScreenButtonColor;
@Input()
exitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.exitFullScreenButtonIcon;
@Input()
exitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.exitFullScreenButtonColor;
// //
@Input() @Input()
imageUrl: XStandardType<string> = this.propertyProvider.imageUrl; imageUrl: XStandardType<string> = this.propertyProvider.imageUrl;
@@ -187,7 +229,7 @@ export abstract class XCardContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XCardContainer protected propertyProvider: XCardContainer,
) { ) {
super( super(
config, config,
@@ -196,7 +238,7 @@ export abstract class XCardContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -204,37 +246,62 @@ export abstract class XCardContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXCardContainer container?: IXCardContainer,
): Observable<IXCardContainer> { ): Observable<IXCardContainer> {
return forkJoin({ return forkJoin({
// //
cssClass: this.getArrayValue( cssClass: this.getArrayValue(
container ? container.cssClass : this.cssClass container ? container.cssClass : this.cssClass,
), ),
// //
color: this.getValue(container ? container.color : this.color), color: this.getValue(container ? container.color : this.color),
foregroundColor: this.getValue( foregroundColor: this.getValue(
container ? container.foregroundColor : this.foregroundColor container ? container.foregroundColor : this.foregroundColor,
), ),
// //
showHeader: this.getValue( showHeader: this.getValue(
container ? container.showHeader : this.showHeader container ? container.showHeader : this.showHeader,
), ),
title: this.getValue(container ? container.title : this.title), title: this.getValue(container ? container.title : this.title),
subTitle: this.getValue(container ? container.subTitle : this.subTitle), subTitle: this.getValue(container ? container.subTitle : this.subTitle),
avatarUrl: this.getValue( avatarUrl: this.getValue(
container ? container.avatarUrl : this.avatarUrl container ? container.avatarUrl : this.avatarUrl,
), ),
avatarTemplate: this.getValue( avatarTemplate: this.getValue(
container ? container.avatarTemplate : this.avatarTemplate container ? container.avatarTemplate : this.avatarTemplate,
),
//
showFullScreenButton: this.getValue(
container ? container.showFullScreenButton : this.showFullScreenButton,
),
enterFullScreenButtonIcon: this.getValue(
container
? container.enterFullScreenButtonIcon
: this.enterFullScreenButtonIcon,
),
enterFullScreenButtonColor: this.getValue(
container
? container.enterFullScreenButtonColor
: this.enterFullScreenButtonColor,
),
exitFullScreenButtonIcon: this.getValue(
container
? container.exitFullScreenButtonIcon
: this.exitFullScreenButtonIcon,
),
exitFullScreenButtonColor: this.getValue(
container
? container.exitFullScreenButtonColor
: this.exitFullScreenButtonColor,
), ),
// //
imageUrl: this.getValue(container ? container.imageUrl : this.imageUrl), imageUrl: this.getValue(container ? container.imageUrl : this.imageUrl),
imageDescription: this.getValue( imageDescription: this.getValue(
container ? container.imageDescription : this.imageDescription container ? container.imageDescription : this.imageDescription,
), ),
// //
@@ -242,13 +309,13 @@ export abstract class XCardContainerComponent
// //
showContent: this.getValue( showContent: this.getValue(
container ? container.showContent : this.showContent container ? container.showContent : this.showContent,
), ),
showActions: this.getValue( showActions: this.getValue(
container ? container.showActions : this.showActions container ? container.showActions : this.showActions,
), ),
showFooter: this.getValue( showFooter: this.getValue(
container ? container.showFooter : this.showFooter container ? container.showFooter : this.showFooter,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -261,7 +328,7 @@ export abstract class XCardContainerComponent
? container.actionProvider ? container.actionProvider
: this.actionProvider, : this.actionProvider,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -281,12 +348,16 @@ type TXComponentCardContainer = {
| 'subTitle' | 'subTitle'
| 'showFooter' | 'showFooter'
| 'showActions' | 'showActions'
| 'showFullScreenButton'
| 'enterFullScreenButtonIcon'
| 'enterFullScreenButtonColor'
| 'exitFullScreenButtonIcon'
| 'exitFullScreenButtonColor'
> as `card${Capitalize<string & TKey>}`]: IXCardContainer[TKey]; > as `card${Capitalize<string & TKey>}`]: IXCardContainer[TKey];
}; };
export interface IXComponentCardContainer export interface IXComponentCardContainer
extends TXComponentCardContainer, extends TXComponentCardContainer, IXBaseComponentContainer {
IXBaseComponentContainer {
isInPage: XStandardType<boolean>; isInPage: XStandardType<boolean>;
wrapWithCard: XStandardType<boolean>; wrapWithCard: XStandardType<boolean>;
} }
@@ -327,6 +398,18 @@ export class XComponentCardContainer
this.propertyProvider.showFooter; this.propertyProvider.showFooter;
readonly cardShowActions: XStandardType<boolean> = readonly cardShowActions: XStandardType<boolean> =
this.propertyProvider.showActions; this.propertyProvider.showActions;
//
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.showFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.enterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.enterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.exitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.exitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -387,6 +470,27 @@ export abstract class XComponentCardContainerComponent
@Input() @Input()
cardShowActions: XStandardType<boolean> = cardShowActions: XStandardType<boolean> =
this.propertyProvider.cardShowActions; this.propertyProvider.cardShowActions;
//
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -400,7 +504,7 @@ export abstract class XComponentCardContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XComponentCardContainer protected propertyProvider: XComponentCardContainer,
) { ) {
super( super(
config, config,
@@ -409,7 +513,7 @@ export abstract class XComponentCardContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -417,34 +521,59 @@ export abstract class XComponentCardContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXComponentCardContainer container?: IXComponentCardContainer,
): Observable<IXComponentCardContainer> { ): Observable<IXComponentCardContainer> {
return forkJoin({ return forkJoin({
// //
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardCssClass: this.getValue( cardCssClass: this.getValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -457,7 +586,7 @@ export abstract class XComponentCardContainerComponent
? container.cardActionProvider ? container.cardActionProvider
: this.cardActionProvider, : this.cardActionProvider,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -14,7 +14,18 @@
[title]="getResourceValue(cardTitle) | async" [title]="getResourceValue(cardTitle) | async"
[showFooter]="getValue(cardShowFooter) | async" [showFooter]="getValue(cardShowFooter) | async"
[showActions]="getValue(cardShowActions) | async" [showActions]="getValue(cardShowActions) | async"
[enterFullScreenButtonIcon]="
getValue(cardEnterFullScreenButtonIcon) | async
"
[enterFullScreenButtonColor]="
getValue(cardEnterFullScreenButtonColor) | async
"
[exitFullScreenButtonColor]="
getValue(cardExitFullScreenButtonColor) | async
"
[foregroundColor]="getValue(cardForegroundColor) | async" [foregroundColor]="getValue(cardForegroundColor) | async"
[showFullScreenButton]="getValue(cardShowFullScreenButton) | async"
[exitFullScreenButtonIcon]="getValue(cardExitFullScreenButtonIcon) | async"
> >
<!-- Content --> <!-- Content -->
<ng-container *ngTemplateOutlet="componentsRef"></ng-container> <ng-container *ngTemplateOutlet="componentsRef"></ng-container>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -45,8 +45,7 @@ export enum XFileDropAreaAction {
export type XFileDropAreaActionIdentifier = XFileDropAreaAction | string; export type XFileDropAreaActionIdentifier = XFileDropAreaAction | string;
export interface XFileDropAreaActionModel export interface XFileDropAreaActionModel extends XBaseActionModel<XFileDropAreaActionIdentifier> {}
extends XBaseActionModel<XFileDropAreaActionIdentifier> {}
export enum XFileDropAreaCssVars { export enum XFileDropAreaCssVars {
LabelColor = 'label-color', LabelColor = 'label-color',
@@ -211,7 +210,7 @@ export abstract class XFileDropAreaContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XFileDropAreaContainer protected propertyProvider: XFileDropAreaContainer,
) { ) {
super( super(
config, config,
@@ -221,7 +220,7 @@ export abstract class XFileDropAreaContainerComponent
ruler, ruler,
zone, zone,
changeDetector, changeDetector,
propertyProvider propertyProvider,
); );
} }
//#endregion //#endregion
@@ -229,7 +228,7 @@ export abstract class XFileDropAreaContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXFileDropAreaContainer container?: IXFileDropAreaContainer,
): Observable<IXFileDropAreaContainer> { ): Observable<IXFileDropAreaContainer> {
return super return super
.extractProps(container ? container : this) .extractProps(container ? container : this)
@@ -238,40 +237,40 @@ export abstract class XFileDropAreaContainerComponent
return forkJoin({ return forkJoin({
// //
cssClass: this.getArrayValue( cssClass: this.getArrayValue(
container ? container.cssClass : this.cssClass container ? container.cssClass : this.cssClass,
), ),
// //
color: this.getValue(container ? container.color : this.color), color: this.getValue(container ? container.color : this.color),
foregroundColor: this.getValue( foregroundColor: this.getValue(
container ? container.foregroundColor : this.foregroundColor container ? container.foregroundColor : this.foregroundColor,
), ),
icon: this.getValue(container ? container.icon : this.icon), icon: this.getValue(container ? container.icon : this.icon),
message: this.getValue( message: this.getValue(
container ? container.message : this.message container ? container.message : this.message,
), ),
disableFileCheck: this.getValue( disableFileCheck: this.getValue(
container ? container.disableFileCheck : this.disableFileCheck container ? container.disableFileCheck : this.disableFileCheck,
), ),
supportsMultipleFiles: this.getValue( supportsMultipleFiles: this.getValue(
container container
? container.supportsMultipleFiles ? container.supportsMultipleFiles
: this.supportsMultipleFiles : this.supportsMultipleFiles,
), ),
allowedExtensions: this.getValue( allowedExtensions: this.getValue(
container ? container.allowedExtensions : this.allowedExtensions container ? container.allowedExtensions : this.allowedExtensions,
), ),
dragDisabled: this.getValue( dragDisabled: this.getValue(
container ? container.dragDisabled : this.dragDisabled container ? container.dragDisabled : this.dragDisabled,
), ),
successColor: this.getValue( successColor: this.getValue(
container ? container.successColor : this.successColor container ? container.successColor : this.successColor,
), ),
errorColor: this.getValue( errorColor: this.getValue(
container ? container.errorColor : this.errorColor container ? container.errorColor : this.errorColor,
), ),
accentColor: this.getValue( accentColor: this.getValue(
container ? container.accentColor : this.accentColor container ? container.accentColor : this.accentColor,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -279,9 +278,9 @@ export abstract class XFileDropAreaContainerComponent
superData, superData,
data, data,
}; };
}) }),
); );
}) }),
) )
.pipe( .pipe(
map((info) => { map((info) => {
@@ -305,7 +304,7 @@ export abstract class XFileDropAreaContainerComponent
// //
filesChangeEmiter: this.filesChangeEmiter, filesChangeEmiter: this.filesChangeEmiter,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -321,8 +320,7 @@ type TXComponentFileDropAreaContainer = {
}; };
export interface IXComponentFileDropAreaContainer export interface IXComponentFileDropAreaContainer
extends TXComponentFileDropAreaContainer, extends TXComponentFileDropAreaContainer, IXBaseComponentContainer {
IXBaseComponentContainer {
showFileDropArea: XStandardType<boolean>; showFileDropArea: XStandardType<boolean>;
} }
@@ -405,6 +403,16 @@ export class XComponentFileDropAreaContainer
new Subject<XCardActionModel>(); new Subject<XCardActionModel>();
readonly fileDropAreaCardSubTitle: XStandardType<XResourceIdentifier>; readonly fileDropAreaCardSubTitle: XStandardType<XResourceIdentifier>;
readonly fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>>; readonly fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>>;
readonly fileDropAreaCardShowFullScreenButton: XStandardType<boolean> = false;
readonly fileDropAreaCardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
XIconNames.fullscreen;
readonly fileDropAreaCardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
XColorWithBrightness.Light;
readonly fileDropAreaCardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
XIconNames.close_fullscreen;
readonly fileDropAreaCardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
XColorWithBrightness.Light;
//#endregion //#endregion
//#endregion //#endregion
@@ -421,7 +429,7 @@ export class XComponentFileDropAreaContainer
}) })
@Component({ @Component({
template: ` template: `
<!-- <!--
<ng-container *ngIf="extractProps() | async as props"> <ng-container *ngIf="extractProps() | async as props">
<ng-container *ngIf="props.showFileDropArea"> <ng-container *ngIf="props.showFileDropArea">
<x-file-drop-area <x-file-drop-area
@@ -452,7 +460,7 @@ export class XComponentFileDropAreaContainer
[supportsMultipleFiles]="props.fileDropAreaSupportsMultipleFiles" [supportsMultipleFiles]="props.fileDropAreaSupportsMultipleFiles"
></x-file-drop-area> ></x-file-drop-area>
</ng-container> </ng-container>
</ng-container> </ng-container>
--> -->
`, `,
}) })
@@ -575,6 +583,26 @@ export abstract class XComponentFileDropAreaContainerComponent
@Input() @Input()
fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>> = fileDropAreaCardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.fileDropAreaCardCssClass; this.propertyProvider.fileDropAreaCardCssClass;
@Input()
fileDropAreaCardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.fileDropAreaCardShowFullScreenButton;
@Input()
fileDropAreaCardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.fileDropAreaCardEnterFullScreenButtonIcon;
@Input()
fileDropAreaCardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.fileDropAreaCardEnterFullScreenButtonColor;
@Input()
fileDropAreaCardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.fileDropAreaCardExitFullScreenButtonIcon;
@Input()
fileDropAreaCardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.fileDropAreaCardExitFullScreenButtonColor;
//#endregion //#endregion
//#endregion //#endregion
@@ -589,7 +617,7 @@ export abstract class XComponentFileDropAreaContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XComponentFileDropAreaContainer protected propertyProvider: XComponentFileDropAreaContainer,
) { ) {
super( super(
config, config,
@@ -598,7 +626,7 @@ export abstract class XComponentFileDropAreaContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -606,108 +634,137 @@ export abstract class XComponentFileDropAreaContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXComponentFileDropAreaContainer container?: IXComponentFileDropAreaContainer,
): Observable<IXComponentFileDropAreaContainer> { ): Observable<IXComponentFileDropAreaContainer> {
return forkJoin({ return forkJoin({
// //
fileDropAreaCssClass: this.getValue( fileDropAreaCssClass: this.getValue(
container ? container.fileDropAreaCssClass : this.fileDropAreaCssClass container ? container.fileDropAreaCssClass : this.fileDropAreaCssClass,
), ),
fileDropAreaColor: this.getValue( fileDropAreaColor: this.getValue(
container ? container.fileDropAreaColor : this.fileDropAreaColor container ? container.fileDropAreaColor : this.fileDropAreaColor,
), ),
fileDropAreaForegroundColor: this.getValue( fileDropAreaForegroundColor: this.getValue(
container container
? container.fileDropAreaForegroundColor ? container.fileDropAreaForegroundColor
: this.fileDropAreaForegroundColor : this.fileDropAreaForegroundColor,
), ),
fileDropAreaIcon: this.getValue( fileDropAreaIcon: this.getValue(
container ? container.fileDropAreaIcon : this.fileDropAreaIcon container ? container.fileDropAreaIcon : this.fileDropAreaIcon,
), ),
fileDropAreaMessage: this.getValue( fileDropAreaMessage: this.getValue(
container ? container.fileDropAreaMessage : this.fileDropAreaMessage container ? container.fileDropAreaMessage : this.fileDropAreaMessage,
), ),
fileDropAreaDisableFileCheck: this.getValue( fileDropAreaDisableFileCheck: this.getValue(
container container
? container.fileDropAreaDisableFileCheck ? container.fileDropAreaDisableFileCheck
: this.fileDropAreaDisableFileCheck : this.fileDropAreaDisableFileCheck,
), ),
fileDropAreaSupportsMultipleFiles: this.getValue( fileDropAreaSupportsMultipleFiles: this.getValue(
container container
? container.fileDropAreaSupportsMultipleFiles ? container.fileDropAreaSupportsMultipleFiles
: this.fileDropAreaSupportsMultipleFiles : this.fileDropAreaSupportsMultipleFiles,
), ),
fileDropAreaAllowedExtensions: this.getValue( fileDropAreaAllowedExtensions: this.getValue(
container container
? container.fileDropAreaAllowedExtensions ? container.fileDropAreaAllowedExtensions
: this.fileDropAreaAllowedExtensions : this.fileDropAreaAllowedExtensions,
), ),
fileDropAreaDragDisabled: this.getValue( fileDropAreaDragDisabled: this.getValue(
container container
? container.fileDropAreaDragDisabled ? container.fileDropAreaDragDisabled
: this.fileDropAreaDragDisabled : this.fileDropAreaDragDisabled,
), ),
fileDropAreaContentTemplate: this.getValue( fileDropAreaContentTemplate: this.getValue(
container container
? container.fileDropAreaContentTemplate ? container.fileDropAreaContentTemplate
: this.fileDropAreaContentTemplate : this.fileDropAreaContentTemplate,
), ),
fileDropAreaSuccessColor: this.getValue( fileDropAreaSuccessColor: this.getValue(
container container
? container.fileDropAreaSuccessColor ? container.fileDropAreaSuccessColor
: this.fileDropAreaSuccessColor : this.fileDropAreaSuccessColor,
), ),
fileDropAreaErrorColor: this.getValue( fileDropAreaErrorColor: this.getValue(
container container
? container.fileDropAreaErrorColor ? container.fileDropAreaErrorColor
: this.fileDropAreaErrorColor : this.fileDropAreaErrorColor,
), ),
fileDropAreaAccentColor: this.getValue( fileDropAreaAccentColor: this.getValue(
container container
? container.fileDropAreaAccentColor ? container.fileDropAreaAccentColor
: this.fileDropAreaAccentColor : this.fileDropAreaAccentColor,
), ),
showFileDropArea: this.getValue( showFileDropArea: this.getValue(
container ? container.showFileDropArea : this.showFileDropArea container ? container.showFileDropArea : this.showFileDropArea,
), ),
fileDropAreaIsInPage: this.getValue( fileDropAreaIsInPage: this.getValue(
container ? container.fileDropAreaIsInPage : this.fileDropAreaIsInPage container ? container.fileDropAreaIsInPage : this.fileDropAreaIsInPage,
), ),
fileDropAreaWrapWithCard: this.getValue( fileDropAreaWrapWithCard: this.getValue(
container container
? container.fileDropAreaWrapWithCard ? container.fileDropAreaWrapWithCard
: this.fileDropAreaWrapWithCard : this.fileDropAreaWrapWithCard,
), ),
fileDropAreaCardShowFooter: this.getValue( fileDropAreaCardShowFooter: this.getValue(
container container
? container.fileDropAreaCardShowFooter ? container.fileDropAreaCardShowFooter
: this.fileDropAreaCardShowFooter : this.fileDropAreaCardShowFooter,
), ),
fileDropAreaCardShowActions: this.getValue( fileDropAreaCardShowActions: this.getValue(
container container
? container.fileDropAreaCardShowActions ? container.fileDropAreaCardShowActions
: this.fileDropAreaCardShowActions : this.fileDropAreaCardShowActions,
), ),
fileDropAreaCardColor: this.getValue( fileDropAreaCardColor: this.getValue(
container ? container.fileDropAreaCardColor : this.fileDropAreaCardColor container
? container.fileDropAreaCardColor
: this.fileDropAreaCardColor,
), ),
fileDropAreaCardForegroundColor: this.getValue( fileDropAreaCardForegroundColor: this.getValue(
container container
? container.fileDropAreaCardForegroundColor ? container.fileDropAreaCardForegroundColor
: this.fileDropAreaCardForegroundColor : this.fileDropAreaCardForegroundColor,
), ),
fileDropAreaCardTitle: this.getValue( fileDropAreaCardTitle: this.getValue(
container ? container.fileDropAreaCardTitle : this.fileDropAreaCardTitle container
? container.fileDropAreaCardTitle
: this.fileDropAreaCardTitle,
), ),
fileDropAreaCardSubTitle: this.getValue( fileDropAreaCardSubTitle: this.getValue(
container container
? container.fileDropAreaCardSubTitle ? container.fileDropAreaCardSubTitle
: this.fileDropAreaCardSubTitle : this.fileDropAreaCardSubTitle,
), ),
fileDropAreaCardCssClass: this.getValue( fileDropAreaCardCssClass: this.getValue(
container container
? container.fileDropAreaCardCssClass ? container.fileDropAreaCardCssClass
: this.fileDropAreaCardCssClass : this.fileDropAreaCardCssClass,
),
fileDropAreaCardShowFullScreenButton: this.getValue(
container
? container.fileDropAreaCardShowFullScreenButton
: this.fileDropAreaCardShowFullScreenButton,
),
fileDropAreaCardEnterFullScreenButtonIcon: this.getValue(
container
? container.fileDropAreaCardEnterFullScreenButtonIcon
: this.fileDropAreaCardEnterFullScreenButtonIcon,
),
fileDropAreaCardEnterFullScreenButtonColor: this.getValue(
container
? container.fileDropAreaCardEnterFullScreenButtonColor
: this.fileDropAreaCardEnterFullScreenButtonColor,
),
fileDropAreaCardExitFullScreenButtonIcon: this.getValue(
container
? container.fileDropAreaCardExitFullScreenButtonIcon
: this.fileDropAreaCardExitFullScreenButtonIcon,
),
fileDropAreaCardExitFullScreenButtonColor: this.getValue(
container
? container.fileDropAreaCardExitFullScreenButtonColor
: this.fileDropAreaCardExitFullScreenButtonColor,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -728,7 +785,7 @@ export abstract class XComponentFileDropAreaContainerComponent
// //
fileDropAreaFilesChangeEmiter: this.fileDropAreaFilesChangeEmiter, fileDropAreaFilesChangeEmiter: this.fileDropAreaFilesChangeEmiter,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -96,12 +96,11 @@ export enum XFileUploadAction {
export type XFileUploadActionIdentifier = XFileUploadAction | string; export type XFileUploadActionIdentifier = XFileUploadAction | string;
export interface XFileUploadActionModel export interface XFileUploadActionModel extends XBaseActionModel<XFileUploadActionIdentifier> {}
extends XBaseActionModel<XFileUploadActionIdentifier> {}
export const defaultFileUploadListFilteringHandler: XListFilteringHandler = ( export const defaultFileUploadListFilteringHandler: XListFilteringHandler = (
query: string, query: string,
items: XListItem<File>[] items: XListItem<File>[],
) => { ) => {
// //
if (!query || !hasChild(items)) { if (!query || !hasChild(items)) {
@@ -110,7 +109,7 @@ export const defaultFileUploadListFilteringHandler: XListFilteringHandler = (
// //
return items.filter((i) => return items.filter((i) =>
toNormalString(fileToJsonString(i.data)).includes(toNormalString(query)) toNormalString(fileToJsonString(i.data)).includes(toNormalString(query)),
); );
}; };
@@ -130,8 +129,7 @@ type TXFileUploadContainer = IXComponentCardContainer &
IXFileContainer; IXFileContainer;
export interface IXFileUploadContainer export interface IXFileUploadContainer
extends IXBaseContainer, extends IXBaseContainer, TXFileUploadContainer {
TXFileUploadContainer {
// //
actionProvider: Subject<XFileUploadActionModel>; actionProvider: Subject<XFileUploadActionModel>;
cssClass: XStandardType<XOneOrManyType<string>>; cssClass: XStandardType<XOneOrManyType<string>>;
@@ -170,9 +168,8 @@ export class XFileUploadContainer
readonly foregroundColor: XStandardType<boolean> = false; readonly foregroundColor: XStandardType<boolean> = false;
// //
readonly fileChange: EventEmitter<XOneOrManyType<File | XFileBlob | any>> = new EventEmitter< readonly fileChange: EventEmitter<XOneOrManyType<File | XFileBlob | any>> =
XOneOrManyType<File | XFileBlob> new EventEmitter<XOneOrManyType<File | XFileBlob>>();
>();
readonly actionBarHideActions: XStandardType< readonly actionBarHideActions: XStandardType<
XOneOrManyType<XActionBarActionIdentifier> XOneOrManyType<XActionBarActionIdentifier>
@@ -253,6 +250,16 @@ export class XFileUploadContainer
this.cardPropertyProvider.cardShowFooter; this.cardPropertyProvider.cardShowFooter;
readonly cardShowActions: XStandardType<boolean> = readonly cardShowActions: XStandardType<boolean> =
this.cardPropertyProvider.cardShowActions; this.cardPropertyProvider.cardShowActions;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -438,7 +445,7 @@ export class XFileUploadContainer
protected emptyPropertyProvider: XComponentEmptyContainer, protected emptyPropertyProvider: XComponentEmptyContainer,
protected actionBarPropertyProvider: XComponentActionBarContainer, protected actionBarPropertyProvider: XComponentActionBarContainer,
protected searchBarPropertyProvider: XComponentSearchBarContainer, protected searchBarPropertyProvider: XComponentSearchBarContainer,
protected fileDropAreaPropertyProvider: XComponentFileDropAreaContainer protected fileDropAreaPropertyProvider: XComponentFileDropAreaContainer,
) { ) {
super(); super();
} }
@@ -476,7 +483,8 @@ export abstract class XFileUploadContainerComponent
// //
@Output() @Output()
fileChange: EventEmitter<XOneOrManyType<File | XFileBlob | any>> = new EventEmitter(); fileChange: EventEmitter<XOneOrManyType<File | XFileBlob | any>> =
new EventEmitter();
@Input() @Input()
actionBarHideActions: XStandardType< actionBarHideActions: XStandardType<
@@ -596,6 +604,26 @@ export abstract class XFileUploadContainerComponent
@Input() @Input()
cardShowActions: XStandardType<boolean> = cardShowActions: XStandardType<boolean> =
this.propertyProvider.cardShowActions; this.propertyProvider.cardShowActions;
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -666,7 +694,8 @@ export abstract class XFileUploadContainerComponent
// //
@Output() @Output()
actionBarActionFired: EventEmitter<XActionBarActionFiredModel> = new EventEmitter<XActionBarActionFiredModel>(); actionBarActionFired: EventEmitter<XActionBarActionFiredModel> =
new EventEmitter<XActionBarActionFiredModel>();
//#endregion //#endregion
// //
@@ -888,7 +917,7 @@ export abstract class XFileUploadContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XFileUploadContainer protected propertyProvider: XFileUploadContainer,
) { ) {
super( super(
config, config,
@@ -897,7 +926,7 @@ export abstract class XFileUploadContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -905,313 +934,342 @@ export abstract class XFileUploadContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXFileUploadContainer container?: IXFileUploadContainer,
): Observable<IXFileUploadContainer> { ): Observable<IXFileUploadContainer> {
return forkJoin({ return forkJoin({
// //
cssClass: this.getValue(container ? container.cssClass : this.cssClass), cssClass: this.getValue(container ? container.cssClass : this.cssClass),
color: this.getValue(container ? container.color : this.color), color: this.getValue(container ? container.color : this.color),
foregroundColor: this.getValue( foregroundColor: this.getValue(
container ? container.foregroundColor : this.foregroundColor container ? container.foregroundColor : this.foregroundColor,
), ),
actionBarHideActions: this.getValue( actionBarHideActions: this.getValue(
container ? container.actionBarHideActions : this.actionBarHideActions container ? container.actionBarHideActions : this.actionBarHideActions,
), ),
showFileDropArea: this.getValue( showFileDropArea: this.getValue(
container ? container.showFileDropArea : this.showFileDropArea container ? container.showFileDropArea : this.showFileDropArea,
), ),
fileDropAreaCssClass: this.getValue( fileDropAreaCssClass: this.getValue(
container ? container.fileDropAreaCssClass : this.fileDropAreaCssClass container ? container.fileDropAreaCssClass : this.fileDropAreaCssClass,
), ),
fileDropAreaColor: this.getValue( fileDropAreaColor: this.getValue(
container ? container.fileDropAreaColor : this.fileDropAreaColor container ? container.fileDropAreaColor : this.fileDropAreaColor,
), ),
fileDropAreaForegroundColor: this.getValue( fileDropAreaForegroundColor: this.getValue(
container container
? container.fileDropAreaForegroundColor ? container.fileDropAreaForegroundColor
: this.fileDropAreaForegroundColor : this.fileDropAreaForegroundColor,
), ),
fileDropAreaIcon: this.getValue( fileDropAreaIcon: this.getValue(
container ? container.fileDropAreaIcon : this.fileDropAreaIcon container ? container.fileDropAreaIcon : this.fileDropAreaIcon,
), ),
fileDropAreaMessage: this.getValue( fileDropAreaMessage: this.getValue(
container ? container.fileDropAreaMessage : this.fileDropAreaMessage container ? container.fileDropAreaMessage : this.fileDropAreaMessage,
), ),
fileDropAreaDisableFileCheck: this.getValue( fileDropAreaDisableFileCheck: this.getValue(
container container
? container.fileDropAreaDisableFileCheck ? container.fileDropAreaDisableFileCheck
: this.fileDropAreaDisableFileCheck : this.fileDropAreaDisableFileCheck,
), ),
fileDropAreaSupportsMultipleFiles: this.getValue( fileDropAreaSupportsMultipleFiles: this.getValue(
container container
? container.fileDropAreaSupportsMultipleFiles ? container.fileDropAreaSupportsMultipleFiles
: this.fileDropAreaSupportsMultipleFiles : this.fileDropAreaSupportsMultipleFiles,
), ),
fileDropAreaAllowedExtensions: this.getValue( fileDropAreaAllowedExtensions: this.getValue(
container container
? container.fileDropAreaAllowedExtensions ? container.fileDropAreaAllowedExtensions
: this.fileDropAreaAllowedExtensions : this.fileDropAreaAllowedExtensions,
), ),
fileDropAreaDragDisabled: this.getValue( fileDropAreaDragDisabled: this.getValue(
container container
? container.fileDropAreaDragDisabled ? container.fileDropAreaDragDisabled
: this.fileDropAreaDragDisabled : this.fileDropAreaDragDisabled,
), ),
fileDropAreaContentTemplate: this.getValue( fileDropAreaContentTemplate: this.getValue(
container container
? container.fileDropAreaContentTemplate ? container.fileDropAreaContentTemplate
: this.fileDropAreaContentTemplate : this.fileDropAreaContentTemplate,
), ),
fileDropAreaSuccessColor: this.getValue( fileDropAreaSuccessColor: this.getValue(
container container
? container.fileDropAreaSuccessColor ? container.fileDropAreaSuccessColor
: this.fileDropAreaSuccessColor : this.fileDropAreaSuccessColor,
), ),
fileDropAreaErrorColor: this.getValue( fileDropAreaErrorColor: this.getValue(
container container
? container.fileDropAreaErrorColor ? container.fileDropAreaErrorColor
: this.fileDropAreaErrorColor : this.fileDropAreaErrorColor,
), ),
fileDropAreaAccentColor: this.getValue( fileDropAreaAccentColor: this.getValue(
container container
? container.fileDropAreaAccentColor ? container.fileDropAreaAccentColor
: this.fileDropAreaAccentColor : this.fileDropAreaAccentColor,
), ),
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardCssClass: this.getValue( cardCssClass: this.getValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
showList: this.getValue(container ? container.showList : this.showList), showList: this.getValue(container ? container.showList : this.showList),
listConfirmRemove: this.getValue( listConfirmRemove: this.getValue(
container ? container.listConfirmRemove : this.listConfirmRemove container ? container.listConfirmRemove : this.listConfirmRemove,
), ),
listCssClass: this.getValue( listCssClass: this.getValue(
container ? container.listCssClass : this.listCssClass container ? container.listCssClass : this.listCssClass,
), ),
listShowToolbar: this.getValue( listShowToolbar: this.getValue(
container ? container.listShowToolbar : this.listShowToolbar container ? container.listShowToolbar : this.listShowToolbar,
), ),
listStickyToolbar: this.getValue( listStickyToolbar: this.getValue(
container ? container.listStickyToolbar : this.listStickyToolbar container ? container.listStickyToolbar : this.listStickyToolbar,
), ),
listEnableReordering: this.getValue( listEnableReordering: this.getValue(
container ? container.listEnableReordering : this.listEnableReordering container ? container.listEnableReordering : this.listEnableReordering,
), ),
listShowDivider: this.getValue( listShowDivider: this.getValue(
container ? container.listShowDivider : this.listShowDivider container ? container.listShowDivider : this.listShowDivider,
), ),
listFilteringHandler: this.getValue( listFilteringHandler: this.getValue(
container ? container.listFilteringHandler : this.listFilteringHandler container ? container.listFilteringHandler : this.listFilteringHandler,
), ),
showActionBar: this.getValue( showActionBar: this.getValue(
container ? container.showActionBar : this.showActionBar container ? container.showActionBar : this.showActionBar,
), ),
actionBarCssClass: this.getValue( actionBarCssClass: this.getValue(
container ? container.actionBarCssClass : this.actionBarCssClass container ? container.actionBarCssClass : this.actionBarCssClass,
), ),
actionBarColor: this.getValue( actionBarColor: this.getValue(
container ? container.actionBarColor : this.actionBarColor container ? container.actionBarColor : this.actionBarColor,
), ),
actionBarForegroundColor: this.getValue( actionBarForegroundColor: this.getValue(
container container
? container.actionBarForegroundColor ? container.actionBarForegroundColor
: this.actionBarForegroundColor : this.actionBarForegroundColor,
), ),
actionBarActions: this.getValue( actionBarActions: this.getValue(
container ? container.actionBarActions : this.actionBarActions container ? container.actionBarActions : this.actionBarActions,
), ),
showSearchBar: this.getValue( showSearchBar: this.getValue(
container ? container.showSearchBar : this.showSearchBar container ? container.showSearchBar : this.showSearchBar,
), ),
searchBarCssClass: this.getValue( searchBarCssClass: this.getValue(
container ? container.searchBarCssClass : this.searchBarCssClass container ? container.searchBarCssClass : this.searchBarCssClass,
), ),
searchBarColor: this.getValue( searchBarColor: this.getValue(
container ? container.searchBarColor : this.searchBarColor container ? container.searchBarColor : this.searchBarColor,
), ),
searchBarForegroundColor: this.getValue( searchBarForegroundColor: this.getValue(
container container
? container.searchBarForegroundColor ? container.searchBarForegroundColor
: this.searchBarForegroundColor : this.searchBarForegroundColor,
), ),
searchBarSearchInputColor: this.getValue( searchBarSearchInputColor: this.getValue(
container container
? container.searchBarSearchInputColor ? container.searchBarSearchInputColor
: this.searchBarSearchInputColor : this.searchBarSearchInputColor,
), ),
searchBarForegroundSearchInputColor: this.getValue( searchBarForegroundSearchInputColor: this.getValue(
container container
? container.searchBarForegroundSearchInputColor ? container.searchBarForegroundSearchInputColor
: this.searchBarForegroundSearchInputColor : this.searchBarForegroundSearchInputColor,
), ),
searchBarType: this.getValue( searchBarType: this.getValue(
container ? container.searchBarType : this.searchBarType container ? container.searchBarType : this.searchBarType,
), ),
searchBarTitle: this.getValue( searchBarTitle: this.getValue(
container ? container.searchBarTitle : this.searchBarTitle container ? container.searchBarTitle : this.searchBarTitle,
), ),
searchBarValue: this.getValue( searchBarValue: this.getValue(
container ? container.searchBarValue : this.searchBarValue container ? container.searchBarValue : this.searchBarValue,
), ),
searchBarEnterKeyHint: this.getValue( searchBarEnterKeyHint: this.getValue(
container ? container.searchBarEnterKeyHint : this.searchBarEnterKeyHint container
? container.searchBarEnterKeyHint
: this.searchBarEnterKeyHint,
), ),
searchBarKeyboardType: this.getValue( searchBarKeyboardType: this.getValue(
container ? container.searchBarKeyboardType : this.searchBarKeyboardType container
? container.searchBarKeyboardType
: this.searchBarKeyboardType,
), ),
searchBarSpellcheck: this.getValue( searchBarSpellcheck: this.getValue(
container ? container.searchBarSpellcheck : this.searchBarSpellcheck container ? container.searchBarSpellcheck : this.searchBarSpellcheck,
), ),
searchBarDebounce: this.getValue( searchBarDebounce: this.getValue(
container ? container.searchBarDebounce : this.searchBarDebounce container ? container.searchBarDebounce : this.searchBarDebounce,
), ),
searchBarShowCancelButton: this.getValue( searchBarShowCancelButton: this.getValue(
container container
? container.searchBarShowCancelButton ? container.searchBarShowCancelButton
: this.searchBarShowCancelButton : this.searchBarShowCancelButton,
), ),
searchBarCancelButtonIcon: this.getValue( searchBarCancelButtonIcon: this.getValue(
container container
? container.searchBarCancelButtonIcon ? container.searchBarCancelButtonIcon
: this.searchBarCancelButtonIcon : this.searchBarCancelButtonIcon,
), ),
searchBarCancelButtonTitle: this.getValue( searchBarCancelButtonTitle: this.getValue(
container container
? container.searchBarCancelButtonTitle ? container.searchBarCancelButtonTitle
: this.searchBarCancelButtonTitle : this.searchBarCancelButtonTitle,
), ),
searchBarCancelButtonIconColor: this.getValue( searchBarCancelButtonIconColor: this.getValue(
container container
? container.searchBarCancelButtonIconColor ? container.searchBarCancelButtonIconColor
: this.searchBarCancelButtonIconColor : this.searchBarCancelButtonIconColor,
), ),
searchBarShowClearButton: this.getValue( searchBarShowClearButton: this.getValue(
container container
? container.searchBarShowClearButton ? container.searchBarShowClearButton
: this.searchBarShowClearButton : this.searchBarShowClearButton,
), ),
searchBarClearButtonIcon: this.getValue( searchBarClearButtonIcon: this.getValue(
container container
? container.searchBarClearButtonIcon ? container.searchBarClearButtonIcon
: this.searchBarClearButtonIcon : this.searchBarClearButtonIcon,
), ),
searchBarClearButtonIconColor: this.getValue( searchBarClearButtonIconColor: this.getValue(
container container
? container.searchBarClearButtonIconColor ? container.searchBarClearButtonIconColor
: this.searchBarClearButtonIconColor : this.searchBarClearButtonIconColor,
), ),
searchBarSearchButtonIcon: this.getValue( searchBarSearchButtonIcon: this.getValue(
container container
? container.searchBarSearchButtonIcon ? container.searchBarSearchButtonIcon
: this.searchBarSearchButtonIcon : this.searchBarSearchButtonIcon,
), ),
searchBarSearchButtonIconColor: this.getValue( searchBarSearchButtonIconColor: this.getValue(
container container
? container.searchBarSearchButtonIconColor ? container.searchBarSearchButtonIconColor
: this.searchBarSearchButtonIconColor : this.searchBarSearchButtonIconColor,
), ),
showEmpty: this.getValue( showEmpty: this.getValue(
container ? container.showEmpty : this.showEmpty container ? container.showEmpty : this.showEmpty,
), ),
emptyCssClass: this.getValue( emptyCssClass: this.getValue(
container ? container.emptyCssClass : this.emptyCssClass container ? container.emptyCssClass : this.emptyCssClass,
), ),
emptyColor: this.getValue( emptyColor: this.getValue(
container ? container.emptyColor : this.emptyColor container ? container.emptyColor : this.emptyColor,
), ),
emptyForegroundColor: this.getValue( emptyForegroundColor: this.getValue(
container ? container.emptyForegroundColor : this.emptyForegroundColor container ? container.emptyForegroundColor : this.emptyForegroundColor,
), ),
emptyMessage: this.getValue( emptyMessage: this.getValue(
container ? container.emptyMessage : this.emptyMessage container ? container.emptyMessage : this.emptyMessage,
), ),
emptyMessageColor: this.getValue( emptyMessageColor: this.getValue(
container ? container.emptyMessageColor : this.emptyMessageColor container ? container.emptyMessageColor : this.emptyMessageColor,
), ),
emptyForegroundMessageColor: this.getValue( emptyForegroundMessageColor: this.getValue(
container container
? container.emptyForegroundMessageColor ? container.emptyForegroundMessageColor
: this.emptyForegroundMessageColor : this.emptyForegroundMessageColor,
), ),
emptyHasRefresh: this.getValue( emptyHasRefresh: this.getValue(
container ? container.emptyHasRefresh : this.emptyHasRefresh container ? container.emptyHasRefresh : this.emptyHasRefresh,
), ),
emptyRefreshButtonColor: this.getValue( emptyRefreshButtonColor: this.getValue(
container container
? container.emptyRefreshButtonColor ? container.emptyRefreshButtonColor
: this.emptyRefreshButtonColor : this.emptyRefreshButtonColor,
), ),
emptyForegroundRefreshButtonColor: this.getValue( emptyForegroundRefreshButtonColor: this.getValue(
container container
? container.emptyForegroundRefreshButtonColor ? container.emptyForegroundRefreshButtonColor
: this.emptyForegroundRefreshButtonColor : this.emptyForegroundRefreshButtonColor,
), ),
emptyRefreshIcon: this.getValue( emptyRefreshIcon: this.getValue(
container ? container.emptyRefreshIcon : this.emptyRefreshIcon container ? container.emptyRefreshIcon : this.emptyRefreshIcon,
), ),
emptyFileException: this.getValue( emptyFileException: this.getValue(
container ? container.emptyFileException : this.emptyFileException container ? container.emptyFileException : this.emptyFileException,
), ),
notAllowedFileException: this.getValue( notAllowedFileException: this.getValue(
container container
? container.notAllowedFileException ? container.notAllowedFileException
: this.notAllowedFileException : this.notAllowedFileException,
), ),
allowedExtensions: this.getValue( allowedExtensions: this.getValue(
container ? container.allowedExtensions : this.allowedExtensions container ? container.allowedExtensions : this.allowedExtensions,
), ),
maxAllowedFiles: this.getValue( maxAllowedFiles: this.getValue(
container ? container.maxAllowedFiles : this.maxAllowedFiles container ? container.maxAllowedFiles : this.maxAllowedFiles,
), ),
maxAllowedFilesException: this.getValue( maxAllowedFilesException: this.getValue(
container container
? container.maxAllowedFilesException ? container.maxAllowedFilesException
: this.maxAllowedFilesException : this.maxAllowedFilesException,
), ),
maxAllowedSize: this.getValue( maxAllowedSize: this.getValue(
container ? container.maxAllowedSize : this.maxAllowedSize container ? container.maxAllowedSize : this.maxAllowedSize,
), ),
maxAllowedSizeException: this.getValue( maxAllowedSizeException: this.getValue(
container container
? container.maxAllowedSizeException ? container.maxAllowedSizeException
: this.maxAllowedSizeException : this.maxAllowedSizeException,
), ),
minAllowedFileSize: this.getValue( minAllowedFileSize: this.getValue(
container ? container.minAllowedFileSize : this.minAllowedFileSize container ? container.minAllowedFileSize : this.minAllowedFileSize,
), ),
minAllowedFileSizeException: this.getValue( minAllowedFileSizeException: this.getValue(
container container
? container.minAllowedFileSizeException ? container.minAllowedFileSizeException
: this.minAllowedFileSizeException : this.minAllowedFileSizeException,
), ),
maxAllowedFileSize: this.getValue( maxAllowedFileSize: this.getValue(
container ? container.maxAllowedFileSize : this.maxAllowedFileSize container ? container.maxAllowedFileSize : this.maxAllowedFileSize,
), ),
maxAllowedFileSizeException: this.getValue( maxAllowedFileSizeException: this.getValue(
container container
? container.maxAllowedFileSizeException ? container.maxAllowedFileSizeException
: this.maxAllowedFileSizeException : this.maxAllowedFileSizeException,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -1270,7 +1328,7 @@ export abstract class XFileUploadContainerComponent
// //
emptyRefresh: this.emptyRefresh, emptyRefresh: this.emptyRefresh,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -16,7 +16,6 @@ import {
isDate, isDate,
assign, assign,
entries, entries,
XUiEvent,
hasChild, hasChild,
isFunction, isFunction,
parseXColor, parseXColor,
@@ -38,6 +38,7 @@ import {
import { forkJoin, Observable, Subject } from 'rxjs'; import { forkJoin, Observable, Subject } from 'rxjs';
import { ViewportRuler } from '@angular/cdk/scrolling'; import { ViewportRuler } from '@angular/cdk/scrolling';
import { XManagerService } from 'x-framework-services'; import { XManagerService } from 'x-framework-services';
import { XIconIdentifier } from '../x-icon/x-icon.typings';
import { XBaseActionModel } from '../classes/x-base-action.model'; import { XBaseActionModel } from '../classes/x-base-action.model';
import { XPopoverService } from '../dialogs/x-popover/x-popover.service'; import { XPopoverService } from '../dialogs/x-popover/x-popover.service';
import { XTabAlign, XTabAlignIdentifier } from '../x-tabs/x-tabs.typings'; import { XTabAlign, XTabAlignIdentifier } from '../x-tabs/x-tabs.typings';
@@ -83,8 +84,7 @@ export enum XIDEAction {
export type XIDEActionIdentifier = XIDEAction | string; export type XIDEActionIdentifier = XIDEAction | string;
export interface XIDEActionModel export interface XIDEActionModel extends XBaseActionModel<XIDEActionIdentifier> {}
extends XBaseActionModel<XIDEActionIdentifier> {}
//#endregion //#endregion
// //
@@ -520,6 +520,16 @@ export class XIDEContainer extends XBaseContainer implements IXIDEContainer {
this.cardPropertyProvider.cardShowFooter; this.cardPropertyProvider.cardShowFooter;
readonly cardShowActions: XStandardType<boolean> = readonly cardShowActions: XStandardType<boolean> =
this.cardPropertyProvider.cardShowActions; this.cardPropertyProvider.cardShowActions;
readonly cardShowFullScreenButton: XStandardType<boolean> =
this.cardPropertyProvider.cardShowFullScreenButton;
readonly cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonIcon;
readonly cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardEnterFullScreenButtonColor;
readonly cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonIcon;
readonly cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.cardPropertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -545,7 +555,7 @@ export class XIDEContainer extends XBaseContainer implements IXIDEContainer {
//#region Constructor ... //#region Constructor ...
constructor( constructor(
protected cardPropertyProvider: XComponentCardContainer, protected cardPropertyProvider: XComponentCardContainer,
protected actionBarPropertyProvider: XComponentActionBarContainer protected actionBarPropertyProvider: XComponentActionBarContainer,
) { ) {
super(); super();
} }
@@ -572,7 +582,8 @@ export class XIDEContainerComponent
defaultTabName: XStandardType<string> = this.propertyProvider.defaultTabName; defaultTabName: XStandardType<string> = this.propertyProvider.defaultTabName;
@Input() @Input()
hasCloseOnDefaultTab: XStandardType<boolean> = this.propertyProvider.hasCloseOnDefaultTab; hasCloseOnDefaultTab: XStandardType<boolean> =
this.propertyProvider.hasCloseOnDefaultTab;
@Input() @Input()
theme: XStandardType<XIDEThemeIdentifier> = this.propertyProvider.theme; theme: XStandardType<XIDEThemeIdentifier> = this.propertyProvider.theme;
@@ -691,6 +702,27 @@ export class XIDEContainerComponent
@Input() @Input()
cardActionProvider: Subject<XCardActionModel> = cardActionProvider: Subject<XCardActionModel> =
this.propertyProvider.cardActionProvider; this.propertyProvider.cardActionProvider;
//
@Input()
cardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
@Input()
cardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
@Input()
cardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
@Input()
cardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
@Input()
cardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -735,7 +767,7 @@ export class XIDEContainerComponent
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XIDEContainer, protected propertyProvider: XIDEContainer,
protected popoverService: XPopoverService protected popoverService: XPopoverService,
) { ) {
super( super(
config, config,
@@ -744,7 +776,7 @@ export class XIDEContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -763,43 +795,43 @@ export class XIDEContainerComponent
mode: this.getValue(container ? container.mode : this.mode), mode: this.getValue(container ? container.mode : this.mode),
theme: this.getValue(container ? container.theme : this.theme), theme: this.getValue(container ? container.theme : this.theme),
highlightActiveLine: this.getValue( highlightActiveLine: this.getValue(
container ? container.highlightActiveLine : this.highlightActiveLine container ? container.highlightActiveLine : this.highlightActiveLine,
), ),
cssClass: this.getArrayValue( cssClass: this.getArrayValue(
container ? container.cssClass : this.cssClass container ? container.cssClass : this.cssClass,
), ),
basicAutocompletion: this.getValue( basicAutocompletion: this.getValue(
container ? container.basicAutocompletion : this.basicAutocompletion container ? container.basicAutocompletion : this.basicAutocompletion,
), ),
wordWrapping: this.getValue( wordWrapping: this.getValue(
container ? container.wordWrapping : this.wordWrapping container ? container.wordWrapping : this.wordWrapping,
), ),
showPrintMargin: this.getValue( showPrintMargin: this.getValue(
container ? container.showPrintMargin : this.showPrintMargin container ? container.showPrintMargin : this.showPrintMargin,
), ),
showLineNumbers: this.getValue( showLineNumbers: this.getValue(
container ? container.showLineNumbers : this.showLineNumbers container ? container.showLineNumbers : this.showLineNumbers,
), ),
showFoldWidgets: this.getValue( showFoldWidgets: this.getValue(
container ? container.showFoldWidgets : this.showFoldWidgets container ? container.showFoldWidgets : this.showFoldWidgets,
), ),
defaultTabName: this.getValue( defaultTabName: this.getValue(
container ? container.defaultTabName : this.defaultTabName container ? container.defaultTabName : this.defaultTabName,
), ),
hasCloseOnDefaultTab: this.getValue( hasCloseOnDefaultTab: this.getValue(
container ? container.hasCloseOnDefaultTab : this.hasCloseOnDefaultTab container ? container.hasCloseOnDefaultTab : this.hasCloseOnDefaultTab,
), ),
// //
//#region Tabs ... //#region Tabs ...
alignTabs: this.getValue( alignTabs: this.getValue(
container ? container.alignTabs : this.alignTabs container ? container.alignTabs : this.alignTabs,
), ),
tabHeaderColor: this.getValue( tabHeaderColor: this.getValue(
container ? container.tabHeaderColor : this.tabHeaderColor container ? container.tabHeaderColor : this.tabHeaderColor,
), ),
activeTabColor: this.getValue( activeTabColor: this.getValue(
container ? container.activeTabColor : this.activeTabColor container ? container.activeTabColor : this.activeTabColor,
), ),
//#endregion //#endregion
@@ -808,62 +840,87 @@ export class XIDEContainerComponent
defaultActionBarItemColor: this.getValue( defaultActionBarItemColor: this.getValue(
container container
? container.defaultActionBarItemColor ? container.defaultActionBarItemColor
: this.defaultActionBarItemColor : this.defaultActionBarItemColor,
), ),
availableActionBarItems: this.getArrayValue( availableActionBarItems: this.getArrayValue(
container container
? container.availableActionBarItems ? container.availableActionBarItems
: this.availableActionBarItems : this.availableActionBarItems,
), ),
//#endregion //#endregion
// //
//#region XComponentCard ... //#region XComponentCard ...
cardCssClass: this.getArrayValue( cardCssClass: this.getArrayValue(
container ? container.cardCssClass : this.cardCssClass container ? container.cardCssClass : this.cardCssClass,
), ),
isInPage: this.getValue(container ? container.isInPage : this.isInPage), isInPage: this.getValue(container ? container.isInPage : this.isInPage),
wrapWithCard: this.getValue( wrapWithCard: this.getValue(
container ? container.wrapWithCard : this.wrapWithCard container ? container.wrapWithCard : this.wrapWithCard,
), ),
cardShowFooter: this.getValue( cardShowFooter: this.getValue(
container ? container.cardShowFooter : this.cardShowFooter container ? container.cardShowFooter : this.cardShowFooter,
), ),
cardShowActions: this.getValue( cardShowActions: this.getValue(
container ? container.cardShowActions : this.cardShowActions container ? container.cardShowActions : this.cardShowActions,
), ),
cardColor: this.getValue( cardColor: this.getValue(
container ? container.cardColor : this.cardColor container ? container.cardColor : this.cardColor,
), ),
cardForegroundColor: this.getValue( cardForegroundColor: this.getValue(
container ? container.cardForegroundColor : this.cardForegroundColor container ? container.cardForegroundColor : this.cardForegroundColor,
), ),
cardTitle: this.getValue( cardTitle: this.getValue(
container ? container.cardTitle : this.cardTitle container ? container.cardTitle : this.cardTitle,
), ),
cardSubTitle: this.getValue( cardSubTitle: this.getValue(
container ? container.cardSubTitle : this.cardSubTitle container ? container.cardSubTitle : this.cardSubTitle,
),
cardShowFullScreenButton: this.getValue(
container
? container.cardShowFullScreenButton
: this.cardShowFullScreenButton,
),
cardEnterFullScreenButtonIcon: this.getValue(
container
? container.cardEnterFullScreenButtonIcon
: this.cardEnterFullScreenButtonIcon,
),
cardEnterFullScreenButtonColor: this.getValue(
container
? container.cardEnterFullScreenButtonColor
: this.cardEnterFullScreenButtonColor,
),
cardExitFullScreenButtonIcon: this.getValue(
container
? container.cardExitFullScreenButtonIcon
: this.cardExitFullScreenButtonIcon,
),
cardExitFullScreenButtonColor: this.getValue(
container
? container.cardExitFullScreenButtonColor
: this.cardExitFullScreenButtonColor,
), ),
//#endregion //#endregion
// //
//#region XComponentActionBar ... //#region XComponentActionBar ...
showActionBar: this.getValue( showActionBar: this.getValue(
container ? container.showActionBar : this.showActionBar container ? container.showActionBar : this.showActionBar,
), ),
actionBarCssClass: this.getValue( actionBarCssClass: this.getValue(
container ? container.actionBarCssClass : this.actionBarCssClass container ? container.actionBarCssClass : this.actionBarCssClass,
), ),
actionBarColor: this.getValue( actionBarColor: this.getValue(
container ? container.actionBarColor : this.actionBarColor container ? container.actionBarColor : this.actionBarColor,
), ),
actionBarForegroundColor: this.getValue( actionBarForegroundColor: this.getValue(
container container
? container.actionBarForegroundColor ? container.actionBarForegroundColor
: this.actionBarForegroundColor : this.actionBarForegroundColor,
), ),
actionBarActions: this.getValue( actionBarActions: this.getValue(
container ? container.actionBarActions : this.actionBarActions container ? container.actionBarActions : this.actionBarActions,
), ),
//#endregion //#endregion
}).pipe( }).pipe(
@@ -891,7 +948,7 @@ export class XIDEContainerComponent
contentChange: this.contentChange, contentChange: this.contentChange,
actionBarActionFired: this.actionBarActionFired, actionBarActionFired: this.actionBarActionFired,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -103,12 +103,11 @@ export enum XListAction {
export type XListActionIdentifier = XListAction | string; export type XListActionIdentifier = XListAction | string;
export interface XListActionModel export interface XListActionModel extends XBaseActionModel<XListActionIdentifier> {}
extends XBaseActionModel<XListActionIdentifier> {}
export type XListFilteringHandler = ( export type XListFilteringHandler = (
query: string, query: string,
source: XListItem<any>[] source: XListItem<any>[],
) => XStandardType<XListItem<any>[]>; ) => XStandardType<XListItem<any>[]>;
export function itemToJson(item: any) { export function itemToJson(item: any) {
@@ -117,7 +116,7 @@ export function itemToJson(item: any) {
export const defaultListFilteringHandler: XListFilteringHandler = ( export const defaultListFilteringHandler: XListFilteringHandler = (
query: string, query: string,
items: XListItem<any>[] items: XListItem<any>[],
) => { ) => {
// //
if (!query || !hasChild(items)) { if (!query || !hasChild(items)) {
@@ -126,7 +125,7 @@ export const defaultListFilteringHandler: XListFilteringHandler = (
// //
const result = items.filter((i) => const result = items.filter((i) =>
toNormalString(itemToJson(i.data)).includes(toNormalString(query)) toNormalString(itemToJson(i.data)).includes(toNormalString(query)),
); );
// //
@@ -336,7 +335,8 @@ export abstract class XListContainerComponent
itemSelected: EventEmitter<XListItem<any>> = new EventEmitter(); itemSelected: EventEmitter<XListItem<any>> = new EventEmitter();
@Output() @Output()
optionSelected: EventEmitter<XListItemOptionSelectedEvent> = new EventEmitter(); optionSelected: EventEmitter<XListItemOptionSelectedEvent> =
new EventEmitter();
@Input() @Input()
confirmRemove: XStandardType<boolean> = this.propertyProvider.confirmRemove; confirmRemove: XStandardType<boolean> = this.propertyProvider.confirmRemove;
@@ -379,7 +379,7 @@ export abstract class XListContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XListContainer protected propertyProvider: XListContainer,
) { ) {
super( super(
config, config,
@@ -389,7 +389,7 @@ export abstract class XListContainerComponent
ruler, ruler,
zone, zone,
changeDetector, changeDetector,
propertyProvider propertyProvider,
); );
} }
//#endregion //#endregion
@@ -397,7 +397,7 @@ export abstract class XListContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXListContainer container?: IXListContainer,
): Observable<IXListContainer> { ): Observable<IXListContainer> {
return super return super
.extractProps(container ? container : this) .extractProps(container ? container : this)
@@ -405,71 +405,73 @@ export abstract class XListContainerComponent
concatMap((superData) => { concatMap((superData) => {
return forkJoin({ return forkJoin({
cssClass: this.getValue( cssClass: this.getValue(
container ? container.cssClass : this.cssClass container ? container.cssClass : this.cssClass,
), ),
actionBarHideActions: this.getValue( actionBarHideActions: this.getValue(
container container
? container.actionBarHideActions ? container.actionBarHideActions
: this.actionBarHideActions : this.actionBarHideActions,
), ),
useDefaultActions: this.getValue( useDefaultActions: this.getValue(
container ? container.useDefaultActions : this.useDefaultActions container ? container.useDefaultActions : this.useDefaultActions,
), ),
showToolbar: this.getValue( showToolbar: this.getValue(
container ? container.showToolbar : this.showToolbar container ? container.showToolbar : this.showToolbar,
), ),
stickyToolbar: this.getValue( stickyToolbar: this.getValue(
container ? container.stickyToolbar : this.stickyToolbar container ? container.stickyToolbar : this.stickyToolbar,
), ),
color: this.getValue(container ? container.color : this.color), color: this.getValue(container ? container.color : this.color),
foregroundColor: this.getValue( foregroundColor: this.getValue(
container ? container.foregroundColor : this.foregroundColor container ? container.foregroundColor : this.foregroundColor,
), ),
enableReordering: this.getValue( enableReordering: this.getValue(
container ? container.enableReordering : this.enableReordering container ? container.enableReordering : this.enableReordering,
), ),
showDivider: this.getValue( showDivider: this.getValue(
container ? container.showDivider : this.showDivider container ? container.showDivider : this.showDivider,
), ),
showOptionsAsSlide: this.getValue( showOptionsAsSlide: this.getValue(
container ? container.showOptionsAsSlide : this.showOptionsAsSlide container
? container.showOptionsAsSlide
: this.showOptionsAsSlide,
), ),
closeOptionsAfterSelect: this.getValue( closeOptionsAfterSelect: this.getValue(
container container
? container.closeOptionsAfterSelect ? container.closeOptionsAfterSelect
: this.closeOptionsAfterSelect : this.closeOptionsAfterSelect,
), ),
showOptionsAsMenu: this.getValue( showOptionsAsMenu: this.getValue(
container ? container.showOptionsAsMenu : this.showOptionsAsMenu container ? container.showOptionsAsMenu : this.showOptionsAsMenu,
), ),
selectableItems: this.getValue( selectableItems: this.getValue(
container ? container.selectableItems : this.selectableItems container ? container.selectableItems : this.selectableItems,
), ),
clickableItems: this.getValue( clickableItems: this.getValue(
container ? container.clickableItems : this.clickableItems container ? container.clickableItems : this.clickableItems,
), ),
itemTemplate: this.getValue( itemTemplate: this.getValue(
container ? container.itemTemplate : this.itemTemplate container ? container.itemTemplate : this.itemTemplate,
), ),
slidingOptionTemplate: this.getValue( slidingOptionTemplate: this.getValue(
container container
? container.slidingOptionTemplate ? container.slidingOptionTemplate
: this.slidingOptionTemplate : this.slidingOptionTemplate,
), ),
nonSlidingOptionTemplate: this.getValue( nonSlidingOptionTemplate: this.getValue(
container container
? container.nonSlidingOptionTemplate ? container.nonSlidingOptionTemplate
: this.nonSlidingOptionTemplate : this.nonSlidingOptionTemplate,
), ),
confirmRemove: this.getValue( confirmRemove: this.getValue(
container ? container.confirmRemove : this.confirmRemove container ? container.confirmRemove : this.confirmRemove,
), ),
items: this.getValue(container ? container.items : this.items), items: this.getValue(container ? container.items : this.items),
showItemOptions: this.getValue( showItemOptions: this.getValue(
container ? container.showItemOptions : this.showItemOptions container ? container.showItemOptions : this.showItemOptions,
), ),
filteringHandler: this.getValue( filteringHandler: this.getValue(
container ? container.filteringHandler : this.filteringHandler container ? container.filteringHandler : this.filteringHandler,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -477,9 +479,9 @@ export abstract class XListContainerComponent
superData, superData,
data, data,
}; };
}) }),
); );
}) }),
) )
.pipe( .pipe(
map((info) => { map((info) => {
@@ -503,7 +505,7 @@ export abstract class XListContainerComponent
selectionChanged: this.selectionChanged, selectionChanged: this.selectionChanged,
orderChanged: this.orderChanged, orderChanged: this.orderChanged,
}; };
}) }),
); );
} }
//#endregion //#endregion
@@ -519,8 +521,7 @@ type TXComponentListContainer = {
}; };
export interface IXComponentListContainer export interface IXComponentListContainer
extends TXComponentListContainer, extends TXComponentListContainer, IXBaseComponentContainer {
IXBaseComponentContainer {
showList: XStandardType<boolean>; showList: XStandardType<boolean>;
} }
@@ -632,6 +633,16 @@ export class XComponentListContainer
this.propertyProvider.cardSubTitle; this.propertyProvider.cardSubTitle;
readonly listCardCssClass: XStandardType<XOneOrManyType<string>> = readonly listCardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.cardCssClass; this.propertyProvider.cardCssClass;
readonly listCardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.cardShowFullScreenButton;
readonly listCardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonIcon;
readonly listCardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardEnterFullScreenButtonColor;
readonly listCardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.cardExitFullScreenButtonIcon;
readonly listCardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.cardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -869,7 +880,8 @@ export abstract class XComponentListContainerComponent
listItemSelected: EventEmitter<XListItem<any>> = new EventEmitter(); listItemSelected: EventEmitter<XListItem<any>> = new EventEmitter();
@Output() @Output()
listOptionSelected: EventEmitter<XListItemOptionSelectedEvent> = new EventEmitter(); listOptionSelected: EventEmitter<XListItemOptionSelectedEvent> =
new EventEmitter();
@Input() @Input()
listConfirmRemove: XStandardType<boolean> = listConfirmRemove: XStandardType<boolean> =
@@ -940,6 +952,26 @@ export abstract class XComponentListContainerComponent
@Input() @Input()
listCardCssClass: XStandardType<XOneOrManyType<string>> = listCardCssClass: XStandardType<XOneOrManyType<string>> =
this.propertyProvider.listCardCssClass; this.propertyProvider.listCardCssClass;
@Input()
listCardShowFullScreenButton: XStandardType<boolean> =
this.propertyProvider.listCardShowFullScreenButton;
@Input()
listCardEnterFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.listCardEnterFullScreenButtonIcon;
@Input()
listCardEnterFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.listCardEnterFullScreenButtonColor;
@Input()
listCardExitFullScreenButtonIcon: XStandardType<XIconIdentifier> =
this.propertyProvider.listCardExitFullScreenButtonIcon;
@Input()
listCardExitFullScreenButtonColor: XStandardType<XColorIdentifier> =
this.propertyProvider.listCardExitFullScreenButtonColor;
//#endregion //#endregion
// //
@@ -1028,7 +1060,8 @@ export abstract class XComponentListContainerComponent
// //
@Output() @Output()
listActionBarActionFired: EventEmitter<XActionBarActionFiredModel> = new EventEmitter<XActionBarActionFiredModel>(); listActionBarActionFired: EventEmitter<XActionBarActionFiredModel> =
new EventEmitter<XActionBarActionFiredModel>();
//#endregion //#endregion
// //
@@ -1153,7 +1186,7 @@ export abstract class XComponentListContainerComponent
public ruler: ViewportRuler, public ruler: ViewportRuler,
public zone: NgZone, public zone: NgZone,
public changeDetector: ChangeDetectorRef, public changeDetector: ChangeDetectorRef,
protected propertyProvider: XComponentListContainer protected propertyProvider: XComponentListContainer,
) { ) {
super( super(
config, config,
@@ -1162,7 +1195,7 @@ export abstract class XComponentListContainerComponent
renderer, renderer,
ruler, ruler,
zone, zone,
changeDetector changeDetector,
); );
} }
//#endregion //#endregion
@@ -1170,266 +1203,303 @@ export abstract class XComponentListContainerComponent
// //
//#region Abstract ... //#region Abstract ...
public extractProps( public extractProps(
container?: IXComponentListContainer container?: IXComponentListContainer,
): Observable<IXComponentListContainer> { ): Observable<IXComponentListContainer> {
return forkJoin({ return forkJoin({
// //
showList: this.getValue(container ? container.showList : this.showList), showList: this.getValue(container ? container.showList : this.showList),
listCssClass: this.getValue( listCssClass: this.getValue(
container ? container.listCssClass : this.listCssClass container ? container.listCssClass : this.listCssClass,
), ),
listActionBarHideActions: this.getValue( listActionBarHideActions: this.getValue(
container container
? container.listActionBarHideActions ? container.listActionBarHideActions
: this.listActionBarHideActions : this.listActionBarHideActions,
), ),
listUseDefaultActions: this.getValue( listUseDefaultActions: this.getValue(
container ? container.listUseDefaultActions : this.listUseDefaultActions container
? container.listUseDefaultActions
: this.listUseDefaultActions,
), ),
listShowToolbar: this.getValue( listShowToolbar: this.getValue(
container ? container.listShowToolbar : this.listShowToolbar container ? container.listShowToolbar : this.listShowToolbar,
), ),
listStickyToolbar: this.getValue( listStickyToolbar: this.getValue(
container ? container.listStickyToolbar : this.listStickyToolbar container ? container.listStickyToolbar : this.listStickyToolbar,
), ),
listColor: this.getValue( listColor: this.getValue(
container ? container.listColor : this.listColor container ? container.listColor : this.listColor,
), ),
listForegroundColor: this.getValue( listForegroundColor: this.getValue(
container ? container.listForegroundColor : this.listForegroundColor container ? container.listForegroundColor : this.listForegroundColor,
), ),
listEnableReordering: this.getValue( listEnableReordering: this.getValue(
container ? container.listEnableReordering : this.listEnableReordering container ? container.listEnableReordering : this.listEnableReordering,
), ),
listShowDivider: this.getValue( listShowDivider: this.getValue(
container ? container.listShowDivider : this.listShowDivider container ? container.listShowDivider : this.listShowDivider,
), ),
listShowOptionsAsSlide: this.getValue( listShowOptionsAsSlide: this.getValue(
container container
? container.listShowOptionsAsSlide ? container.listShowOptionsAsSlide
: this.listShowOptionsAsSlide : this.listShowOptionsAsSlide,
), ),
listCloseOptionsAfterSelect: this.getValue( listCloseOptionsAfterSelect: this.getValue(
container container
? container.listCloseOptionsAfterSelect ? container.listCloseOptionsAfterSelect
: this.listCloseOptionsAfterSelect : this.listCloseOptionsAfterSelect,
), ),
listShowOptionsAsMenu: this.getValue( listShowOptionsAsMenu: this.getValue(
container ? container.listShowOptionsAsMenu : this.listShowOptionsAsMenu container
? container.listShowOptionsAsMenu
: this.listShowOptionsAsMenu,
), ),
listSelectableItems: this.getValue( listSelectableItems: this.getValue(
container ? container.listSelectableItems : this.listSelectableItems container ? container.listSelectableItems : this.listSelectableItems,
), ),
listClickableItems: this.getValue( listClickableItems: this.getValue(
container ? container.listClickableItems : this.listClickableItems container ? container.listClickableItems : this.listClickableItems,
), ),
listItemTemplate: this.getValue( listItemTemplate: this.getValue(
container ? container.listItemTemplate : this.listItemTemplate container ? container.listItemTemplate : this.listItemTemplate,
), ),
listSlidingOptionTemplate: this.getValue( listSlidingOptionTemplate: this.getValue(
container container
? container.listSlidingOptionTemplate ? container.listSlidingOptionTemplate
: this.listSlidingOptionTemplate : this.listSlidingOptionTemplate,
), ),
listNonSlidingOptionTemplate: this.getValue( listNonSlidingOptionTemplate: this.getValue(
container container
? container.listNonSlidingOptionTemplate ? container.listNonSlidingOptionTemplate
: this.listNonSlidingOptionTemplate : this.listNonSlidingOptionTemplate,
), ),
listConfirmRemove: this.getValue( listConfirmRemove: this.getValue(
container ? container.listConfirmRemove : this.listConfirmRemove container ? container.listConfirmRemove : this.listConfirmRemove,
), ),
listItems: this.getValue( listItems: this.getValue(
container ? container.listItems : this.listItems container ? container.listItems : this.listItems,
), ),
listShowItemOptions: this.getValue( listShowItemOptions: this.getValue(
container ? container.listShowItemOptions : this.listShowItemOptions container ? container.listShowItemOptions : this.listShowItemOptions,
), ),
listFilteringHandler: this.getValue( listFilteringHandler: this.getValue(
container ? container.listFilteringHandler : this.listFilteringHandler container ? container.listFilteringHandler : this.listFilteringHandler,
), ),
listIsInPage: this.getValue( listIsInPage: this.getValue(
container ? container.listIsInPage : this.listIsInPage container ? container.listIsInPage : this.listIsInPage,
), ),
listWrapWithCard: this.getValue( listWrapWithCard: this.getValue(
container ? container.listWrapWithCard : this.listWrapWithCard container ? container.listWrapWithCard : this.listWrapWithCard,
), ),
listCardShowFooter: this.getValue( listCardShowFooter: this.getValue(
container ? container.listCardShowFooter : this.listCardShowFooter container ? container.listCardShowFooter : this.listCardShowFooter,
), ),
listCardShowActions: this.getValue( listCardShowActions: this.getValue(
container ? container.listCardShowActions : this.listCardShowActions container ? container.listCardShowActions : this.listCardShowActions,
), ),
listCardColor: this.getValue( listCardColor: this.getValue(
container ? container.listCardColor : this.listCardColor container ? container.listCardColor : this.listCardColor,
), ),
listCardForegroundColor: this.getValue( listCardForegroundColor: this.getValue(
container container
? container.listCardForegroundColor ? container.listCardForegroundColor
: this.listCardForegroundColor : this.listCardForegroundColor,
), ),
listCardTitle: this.getValue( listCardTitle: this.getValue(
container ? container.listCardTitle : this.listCardTitle container ? container.listCardTitle : this.listCardTitle,
), ),
listCardSubTitle: this.getValue( listCardSubTitle: this.getValue(
container ? container.listCardSubTitle : this.listCardSubTitle container ? container.listCardSubTitle : this.listCardSubTitle,
), ),
listCardCssClass: this.getValue( listCardCssClass: this.getValue(
container ? container.listCardCssClass : this.listCardCssClass container ? container.listCardCssClass : this.listCardCssClass,
),
listCardShowFullScreenButton: this.getValue(
container
? container.listCardShowFullScreenButton
: this.listCardShowFullScreenButton,
),
listCardEnterFullScreenButtonIcon: this.getValue(
container
? container.listCardEnterFullScreenButtonIcon
: this.listCardEnterFullScreenButtonIcon,
),
listCardEnterFullScreenButtonColor: this.getValue(
container
? container.listCardEnterFullScreenButtonColor
: this.listCardEnterFullScreenButtonColor,
),
listCardExitFullScreenButtonIcon: this.getValue(
container
? container.listCardExitFullScreenButtonIcon
: this.listCardExitFullScreenButtonIcon,
),
listCardExitFullScreenButtonColor: this.getValue(
container
? container.listCardExitFullScreenButtonColor
: this.listCardExitFullScreenButtonColor,
), ),
listShowEmpty: this.getValue( listShowEmpty: this.getValue(
container ? container.listShowEmpty : this.listShowEmpty container ? container.listShowEmpty : this.listShowEmpty,
), ),
listEmptyHasRefresh: this.getValue( listEmptyHasRefresh: this.getValue(
container ? container.listEmptyHasRefresh : this.listEmptyHasRefresh container ? container.listEmptyHasRefresh : this.listEmptyHasRefresh,
), ),
listEmptyCssClass: this.getValue( listEmptyCssClass: this.getValue(
container ? container.listEmptyCssClass : this.listEmptyCssClass container ? container.listEmptyCssClass : this.listEmptyCssClass,
), ),
listEmptyColor: this.getValue( listEmptyColor: this.getValue(
container ? container.listEmptyColor : this.listEmptyColor container ? container.listEmptyColor : this.listEmptyColor,
), ),
listEmptyForegroundColor: this.getValue( listEmptyForegroundColor: this.getValue(
container container
? container.listEmptyForegroundColor ? container.listEmptyForegroundColor
: this.listEmptyForegroundColor : this.listEmptyForegroundColor,
), ),
listEmptyMessageColor: this.getValue( listEmptyMessageColor: this.getValue(
container ? container.listEmptyMessageColor : this.listEmptyMessageColor container
? container.listEmptyMessageColor
: this.listEmptyMessageColor,
), ),
listEmptyForegroundMessageColor: this.getValue( listEmptyForegroundMessageColor: this.getValue(
container container
? container.listEmptyForegroundMessageColor ? container.listEmptyForegroundMessageColor
: this.listEmptyForegroundMessageColor : this.listEmptyForegroundMessageColor,
), ),
listEmptyRefreshButtonColor: this.getValue( listEmptyRefreshButtonColor: this.getValue(
container container
? container.listEmptyRefreshButtonColor ? container.listEmptyRefreshButtonColor
: this.listEmptyRefreshButtonColor : this.listEmptyRefreshButtonColor,
), ),
listEmptyForegroundRefreshButtonColor: this.getValue( listEmptyForegroundRefreshButtonColor: this.getValue(
container container
? container.listEmptyForegroundRefreshButtonColor ? container.listEmptyForegroundRefreshButtonColor
: this.listEmptyForegroundRefreshButtonColor : this.listEmptyForegroundRefreshButtonColor,
), ),
listEmptyMessage: this.getValue( listEmptyMessage: this.getValue(
container ? container.listEmptyMessage : this.listEmptyMessage container ? container.listEmptyMessage : this.listEmptyMessage,
), ),
listEmptyRefreshIcon: this.getValue( listEmptyRefreshIcon: this.getValue(
container ? container.listEmptyRefreshIcon : this.listEmptyRefreshIcon container ? container.listEmptyRefreshIcon : this.listEmptyRefreshIcon,
), ),
listShowActionBar: this.getValue( listShowActionBar: this.getValue(
container ? container.listShowActionBar : this.listShowActionBar container ? container.listShowActionBar : this.listShowActionBar,
), ),
listActionBarCssClass: this.getValue( listActionBarCssClass: this.getValue(
container ? container.listActionBarCssClass : this.listActionBarCssClass container
? container.listActionBarCssClass
: this.listActionBarCssClass,
), ),
listActionBarColor: this.getValue( listActionBarColor: this.getValue(
container ? container.listActionBarColor : this.listActionBarColor container ? container.listActionBarColor : this.listActionBarColor,
), ),
listActionBarForegroundColor: this.getValue( listActionBarForegroundColor: this.getValue(
container container
? container.listActionBarForegroundColor ? container.listActionBarForegroundColor
: this.listActionBarForegroundColor : this.listActionBarForegroundColor,
), ),
listActionBarActions: this.getValue( listActionBarActions: this.getValue(
container ? container.listActionBarActions : this.listActionBarActions container ? container.listActionBarActions : this.listActionBarActions,
), ),
listShowSearchBar: this.getValue( listShowSearchBar: this.getValue(
container ? container.listShowSearchBar : this.listShowSearchBar container ? container.listShowSearchBar : this.listShowSearchBar,
), ),
listSearchBarCssClass: this.getValue( listSearchBarCssClass: this.getValue(
container ? container.listSearchBarCssClass : this.listSearchBarCssClass container
? container.listSearchBarCssClass
: this.listSearchBarCssClass,
), ),
listSearchBarColor: this.getValue( listSearchBarColor: this.getValue(
container ? container.listSearchBarColor : this.listSearchBarColor container ? container.listSearchBarColor : this.listSearchBarColor,
), ),
listSearchBarForegroundColor: this.getValue( listSearchBarForegroundColor: this.getValue(
container container
? container.listSearchBarForegroundColor ? container.listSearchBarForegroundColor
: this.listSearchBarForegroundColor : this.listSearchBarForegroundColor,
), ),
listSearchBarSearchInputColor: this.getValue( listSearchBarSearchInputColor: this.getValue(
container container
? container.listSearchBarSearchInputColor ? container.listSearchBarSearchInputColor
: this.listSearchBarSearchInputColor : this.listSearchBarSearchInputColor,
), ),
listSearchBarForegroundSearchInputColor: this.getValue( listSearchBarForegroundSearchInputColor: this.getValue(
container container
? container.listSearchBarForegroundSearchInputColor ? container.listSearchBarForegroundSearchInputColor
: this.listSearchBarForegroundSearchInputColor : this.listSearchBarForegroundSearchInputColor,
), ),
listSearchBarType: this.getValue( listSearchBarType: this.getValue(
container ? container.listSearchBarType : this.listSearchBarType container ? container.listSearchBarType : this.listSearchBarType,
), ),
listSearchBarTitle: this.getValue( listSearchBarTitle: this.getValue(
container ? container.listSearchBarTitle : this.listSearchBarTitle container ? container.listSearchBarTitle : this.listSearchBarTitle,
), ),
listSearchBarValue: this.getValue( listSearchBarValue: this.getValue(
container ? container.listSearchBarValue : this.listSearchBarValue container ? container.listSearchBarValue : this.listSearchBarValue,
), ),
listSearchBarEnterKeyHint: this.getValue( listSearchBarEnterKeyHint: this.getValue(
container container
? container.listSearchBarEnterKeyHint ? container.listSearchBarEnterKeyHint
: this.listSearchBarEnterKeyHint : this.listSearchBarEnterKeyHint,
), ),
listSearchBarKeyboardType: this.getValue( listSearchBarKeyboardType: this.getValue(
container container
? container.listSearchBarKeyboardType ? container.listSearchBarKeyboardType
: this.listSearchBarKeyboardType : this.listSearchBarKeyboardType,
), ),
listSearchBarSpellcheck: this.getValue( listSearchBarSpellcheck: this.getValue(
container container
? container.listSearchBarSpellcheck ? container.listSearchBarSpellcheck
: this.listSearchBarSpellcheck : this.listSearchBarSpellcheck,
), ),
listSearchBarDebounce: this.getValue( listSearchBarDebounce: this.getValue(
container ? container.listSearchBarDebounce : this.listSearchBarDebounce container
? container.listSearchBarDebounce
: this.listSearchBarDebounce,
), ),
listSearchBarShowCancelButton: this.getValue( listSearchBarShowCancelButton: this.getValue(
container container
? container.listSearchBarShowCancelButton ? container.listSearchBarShowCancelButton
: this.listSearchBarShowCancelButton : this.listSearchBarShowCancelButton,
), ),
listSearchBarCancelButtonIcon: this.getValue( listSearchBarCancelButtonIcon: this.getValue(
container container
? container.listSearchBarCancelButtonIcon ? container.listSearchBarCancelButtonIcon
: this.listSearchBarCancelButtonIcon : this.listSearchBarCancelButtonIcon,
), ),
listSearchBarCancelButtonTitle: this.getValue( listSearchBarCancelButtonTitle: this.getValue(
container container
? container.listSearchBarCancelButtonTitle ? container.listSearchBarCancelButtonTitle
: this.listSearchBarCancelButtonTitle : this.listSearchBarCancelButtonTitle,
), ),
listSearchBarCancelButtonIconColor: this.getValue( listSearchBarCancelButtonIconColor: this.getValue(
container container
? container.listSearchBarCancelButtonIconColor ? container.listSearchBarCancelButtonIconColor
: this.listSearchBarCancelButtonIconColor : this.listSearchBarCancelButtonIconColor,
), ),
listSearchBarShowClearButton: this.getValue( listSearchBarShowClearButton: this.getValue(
container container
? container.listSearchBarShowClearButton ? container.listSearchBarShowClearButton
: this.listSearchBarShowClearButton : this.listSearchBarShowClearButton,
), ),
listSearchBarClearButtonIcon: this.getValue( listSearchBarClearButtonIcon: this.getValue(
container container
? container.listSearchBarClearButtonIcon ? container.listSearchBarClearButtonIcon
: this.listSearchBarClearButtonIcon : this.listSearchBarClearButtonIcon,
), ),
listSearchBarClearButtonIconColor: this.getValue( listSearchBarClearButtonIconColor: this.getValue(
container container
? container.listSearchBarClearButtonIconColor ? container.listSearchBarClearButtonIconColor
: this.listSearchBarClearButtonIconColor : this.listSearchBarClearButtonIconColor,
), ),
listSearchBarSearchButtonIcon: this.getValue( listSearchBarSearchButtonIcon: this.getValue(
container container
? container.listSearchBarSearchButtonIcon ? container.listSearchBarSearchButtonIcon
: this.listSearchBarSearchButtonIcon : this.listSearchBarSearchButtonIcon,
), ),
listSearchBarSearchButtonIconColor: this.getValue( listSearchBarSearchButtonIconColor: this.getValue(
container container
? container.listSearchBarSearchButtonIconColor ? container.listSearchBarSearchButtonIconColor
: this.listSearchBarSearchButtonIconColor : this.listSearchBarSearchButtonIconColor,
), ),
}).pipe( }).pipe(
map((data) => { map((data) => {
@@ -1478,7 +1548,7 @@ export abstract class XComponentListContainerComponent
listSearchBarQueryChange: this.listSearchBarQueryChange, listSearchBarQueryChange: this.listSearchBarQueryChange,
listSearchBarOnEvent: this.listSearchBarOnEvent, listSearchBarOnEvent: this.listSearchBarOnEvent,
}; };
}) }),
); );
} }
//#endregion //#endregion