Przeglądaj źródła

feat(admin-ui): Implement custom components in Collection data table

Michael Bromley 2 lat temu
rodzic
commit
4ab7c1e888

+ 15 - 2
packages/admin-ui/src/lib/catalog/src/components/collection-data-table/collection-data-table.component.html

@@ -168,8 +168,21 @@
         >
             <div class="cell-content" [ngClass]="column.align">
                 <ng-container
-                    *ngTemplateOutlet="column.template; context: { item: item, depth: depth }"
-                ></ng-container>
+                    *ngIf="customComponents.get(column.id) as componentConfig; else defaultComponent"
+                >
+                    <ng-container
+                        *ngComponentOutlet="
+                            componentConfig.config.component;
+                            inputs: { rowItem: item };
+                            injector: componentConfig.injector
+                        "
+                    ></ng-container>
+                </ng-container>
+                <ng-template #defaultComponent>
+                    <ng-container
+                        *ngTemplateOutlet="column.template; context: { item: item, depth: depth }"
+                    ></ng-container>
+                </ng-template>
             </div>
         </td>
         <td [class.active]="activeIndex === absoluteIndex[item.id]"><!-- column select --></td>