Skip to content

ps-table: optimazations and enhancements #157

@KuhnMichael

Description

@KuhnMichael

ps-list-actions ps-row-options rework into ps-table-action:
keiner: is klar
"3-boppel": wenn mehr als X aktionen verfügbar (konfigurierbar evtl default 2) oder aktion hat kein kein icon
x-icons: keine "3-boppel" icon muss gesetzt sein; Label als tooltip

actions = [
	{
		label: '',
		icon: '',
		context: list|row|all,
		isDisabledFnc: () => {},
		isVisibleFnc: () => {},
		actionFnc: () => {},
		template: @ViewChild | ComponentRef,
		styleClasses: '',
		children: [
		{
			label: '',
			icon: '',
			context: list|row|all,
			isDisabledFnc: () => {},
			isVisibleFnc: () => {},
			actionFnc: () => {}
		},
		]
	},
	{
		label: '',
		icon: '',
		context: list|row|all,
		isDisabledFnc: () => {},
		isVisibleFnc: () => {},
		actionFnc: () => {}
	},
	{
		label: '',
		icon: '',
		context: list|row|all,
		isDisabledFnc: () => {},
		isVisibleFnc: () => {},
		actionFnc: () => {}
	},
]

tds = new TableDataSource({
	...,
	actions: actions
})

<ps-table [actions]="actions">




IPsTableActionDataSource {
	label: '',
	icon: '',
	context: list|row|all,
	rowIsDisabledFnc: () => {},
	rowIsVisibleFnc: () => {},
	listIsDisabledFnc: () => {},
	listIsVisibleFnc: () => {},
	actionFnc: () => {}
}

default-action: <ps-table-action [isDisabledFnc] [isVisibleFnc] [label]="blubb" [icon]="mat_check" [context]="list|row|all" (action)="doIt($event.data)">

								</ps-table-action>
							</ps-table-action>

custom-action: <ps-table-action [label]="blubb" [icon]="mat_check" [context]="list|row|all">
<ng-container *psTableCustomAction="let row">
<mat-checkbox (change)="doIt(row)" [matMenuTriggerFor]="">


<ng-container *psTableCustomAction="let row">
<mat-checkbox (change)="doIt(row)" [matMenuTriggerFor]="">

									</ps-table-action>
								</ps-table-action>
							</ps-table-action>

reused custom-action: <ps-table-action [label]="blubb" [icon]="mat_check" [context]="list|row|all">
<ng-container [ngTemplateOutlet]="blubb" [ngTemplateOutletContext]="{ $implicit: row }" *psTableCustomAction="let row">

							<ng-template #blubb let-row>
								<mat-checkbox (change)="doIt(row)"></mat-checkbox>
							</ng-template>

label, icon: required
context: default(all)

ladekringel
action-error action-pending unten im Footer mit popup und dismiss-button (abschaltbar)
action bei navigation weiterführen oder cancelen?

ps-table sortable umbauen auf true, false, header und dropdown/select
ps-table list/row more options immer noch angezeigt auch wenn keine action verfügbar
ps-table detailview checron ausblenden, wenn kein detailview pro row
Header-button fehlt das margin, wenn sonst keine header elemente (align-self: flex-end?)
ps-table performance optimieren

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions