| import { DataHierarchy, DataHierarchyProvider } from '../../../libappsop/datahierarchy'; | 
| import { ListSOP } from '../../../libappsop/listsop'; | 
| import { PanelSOP } from '../../../libappsop/panelsop'; | 
| import { DialogDummy } from '../dialog.dummy'; | 
|   | 
| export class PanelManageContents extends PanelSOP { | 
|   public static readonly title = 'Manage Contents'; | 
|   | 
|   public listManageContents = new ListManageContents(); | 
|   public listManageContentsProduct = new ListManageContentsProduct(); | 
|   | 
|   public constructor() { | 
|     super('pnlManageContents'); | 
|   } | 
| } | 
|   | 
| export interface ListManageContentsColumn { | 
|   Name?: string; | 
| } | 
|   | 
| export class ListManageContents extends ListSOP<DialogDummy, ListManageContentsColumn> { | 
|   public static readonly title = 'Manage Contents'; | 
|   | 
|   public constructor() { | 
|     super('lstManageContents', new DialogDummy()); | 
|   | 
|     // Set primary key column name(s), to display in error message when assert fails | 
|     this.rowPrimaryColumnNames = { Name: '' }; | 
|   } | 
| } | 
|   | 
| export interface ListManageContentsProductColumn { | 
|   Name?: string; | 
| } | 
|   | 
| export class ListManageContentsProduct extends ListSOP<DialogDummy, ListManageContentsProductColumn> { | 
|   public static readonly title = 'Manage contents overview'; | 
|   | 
|   public constructor() { | 
|     super('lstListProducts', new DialogDummy()); | 
|   | 
|     // Set primary key column name(s), to display in error message when assert fails | 
|     this.rowPrimaryColumnNames = { Name: '' }; | 
|   } | 
|   | 
|   // Overrides ListSOP | 
|   public getHierarchy(hierarchyProvider: DataHierarchyProvider, name: DataHierarchy): [ListManageContentsProductColumn, ListManageContentsProductColumn[] | undefined] { | 
|     const [targetRowName, parentRowNames] = hierarchyProvider.getHierarchy(name); | 
|   | 
|     const thisProduct: ListManageContentsProductColumn = { Name: targetRowName.Name }; | 
|     const parents: ListManageContentsProductColumn[] = []; | 
|     for (const p of parentRowNames) { | 
|       parents.push({ Name: p.Name }); | 
|     } | 
|   | 
|     return [thisProduct, parents.length > 0 ? parents : undefined]; | 
|   } | 
| } | 
|   | 
| const listManageContentsProductContextMenuItems = { | 
|   Exclude: { ContextMenu: 'cmListProducts', Name: 'MenuExcludeProducts', Label: 'Exclude' }, | 
| }; | 
|   | 
| export { listManageContentsProductContextMenuItems as ListManageContentsProductContextMenuItems }; |