<commit_before>import * as React from "react";
import Menu from "./react-ui/Menu/Menu";
import MenuItem from "./react-ui/Menu/MenuItem";
import Divider from "./react-ui/Menu/Divider";

export interface ContextMenuProps extends React.Props<ContextMenu>
{
	xPos: number;
	yPos: number;
}

export interface ContextMenuState
{
	
}

export default class ContextMenu extends React.Component<ContextMenuProps, ContextMenuState>
{
	constructor(props:ContextMenuProps)
	{
		super(props);
	}	
	
	onClick()
	{

	}

	render():JSX.Element 
	{
		var extendedMenu2:any = [
			<MenuItem key={1} primaryText="Create Subset" onClick={this.onClick.bind(this)}/>,
			<MenuItem key={2} primaryText="Copy" secondaryText="&#8984;C"/>
		];
		var extendedMenu:any = [
			<MenuItem key={1} primaryText="Create Subset" onClick={this.onClick.bind(this)}/>,
			<MenuItem key={2} primaryText="Copy" secondaryText="&#8984;C" menuItems={extendedMenu2}/>
		];

		return (
			<Menu xPos={this.props.xPos} yPos={this.props.yPos}>
		      <MenuItem primaryText="Create Subset" onClick={this.onClick.bind(this)}/>
		      <MenuItem primaryText="Copy" secondaryText="&#8984;C"/>
			  <Divider/>
		      <MenuItem primaryText="Paste" />
		      <MenuItem primaryText="Extended Menu" menuItems={extendedMenu} />
		    </Menu>
		);
	}
}<commit_msg>created config object for context menu<commit_after>import * as React from "react";
import Menu from "./react-ui/Menu/Menu";
import MenuItem from "./react-ui/Menu/MenuItem";
import {MenuItemProps} from "./react-ui/Menu/MenuItem";
import Divider from "./react-ui/Menu/Divider";

export interface ContextMenuProps extends React.Props<ContextMenu>
{
	xPos: number;
	yPos: number;
}

export interface ContextMenuState
{
	
}

export default class ContextMenu extends React.Component<ContextMenuProps, ContextMenuState>
{
	contextMenuConfig:MenuItemProps[]
	constructor(props:ContextMenuProps)
	{
		super(props);
		this.contextMenuConfig = [
			{
				primaryText: "Create subset from selected record(s)",
				onClick: this.createSubsetFromSelectedRecords.bind(this)
			},
			{
				primaryText: "Remove selected records(s) from subset",
				onClick: this.removeSelectedRecordsFromSubet.bind(this)
			},
			{
				primaryText: "Show All Records",
				onClick: this.showAllRecords.bind(this)
			},
			{
				
			},
			{
				primaryText: "Print/Export Application Image",
				onClick: this.printExport.bind(this)
			}
		]
	}	
	
	createSubsetFromSelectedRecords()
	{
		
	}
	removeSelectedRecordsFromSubet()
	{
		
	}
	
	showAllRecords()
	{
		
	}
	
	printExport()
	{
		
	}

	render():JSX.Element 
	{
		return (
			<Menu xPos={this.props.xPos} yPos={this.props.yPos}>
				{
					this.contextMenuConfig.map((menuItemProps, index) => {
							if(menuItemProps.primaryText)
								return <MenuItem key={index} {...menuItemProps}/>
							else
								return <Divider/>
					})
				}
			</Menu>
		)
	}
}
{'fraction_non_alphanumeric': 0.13870632998962296, 'fraction_numerical': 0.006226219301279834, 'mean_word_length': 3.8442211055276383, 'pattern_counts': {'":': 0, '<': 22, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5178621', 'n_tokens_mistral': 1090, 'n_tokens_neox': 928, 'n_words': 179}