<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<library>

	<class name="attendeeListItem" extends="view" clickable="true" height="19">
		
		<attribute name="userId" value="0" type="number" />
		<attribute name="firstName" value="" type="string" />
		<attribute name="memberId" value="0" type="number" />
		<attribute name="lastName" value="" type="string" />
		<attribute name="email" value="" type="string" />
		<attribute name="jNameTimeZone" value="" type="string" />
		
		<text name="memberText" width="$once{ parent.width - 18 }" />
		
		<miniIcons x="$once{ parent.width - 16 }" y="2" resource="calendar_delete_button" showhandcursor="true"
				   width="16" height="16">
			<handler name="onclick">
				new lz.confirmationSingle(canvas,{
		                            	           labeliderror:832,
		                            	           refObj:this,
		                            	           showCheckBox:false
	                            	           });
			</handler>
			<method name="sendConfirmation" args="yesno" >
	            parent.destroy();
	        </method>
			<labelTooltip labelid="814" />
		</miniIcons>
		
		<view y="18" height="1" width="$once{ parent.width }" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />
		
		<labelTooltip text="$once{ canvas.getLabelName(1143) + ' ' + parent.jNameTimeZone }" />
		
	</class>

</library>