Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
647 views
Hi;
We have implemented the RadTabStrip but we need to change the background color when user has selected the tab.
We have tried using "SelectedCssClass" but it does not change the complete background.
Can you please Tell how we can able to change this.
We require this ASAP.
Shinu
Top achievements
Rank 2
 answered on 21 Jan 2011
2 answers
103 views
Hi,

I feel this is more of an Ajax issue but I am not sure so posting it in this forum anyways.

I have a RadTabStrip control with 4 tabs in a asp.net page. In these tabs, I have different user controls placed. I am not adding the user controls dynamically; they are on the page when the page loads so I am not giving them any dynamic ID at runtime.

When any events fire from grids / other controls which are in these user controls and which in turn update the grids on the main page, I cannot see the Loading Panel, although the page updates correctly.

This page uses RadAjaxManagerProxy for AjaxSettings, since the master page from where this child page is inherited, contains the RadAjaxManager. The RadAjaxManagerProxy does not give me client events like OnRequestStart and OnResponseEnd.

I have placed the entire RadTabStrip in an asp:panel control, and the multipages also in asp:panel and div controls in the page design. I also tried placing the usercontrols in asp:panels and then giving those panel IDs in "updated controls" (instead of the entire panel) in the Ajax Settings, . Either way, the functionality is working but without the Loading Panel

Please suggest how should I place the user controls and how should I set the controlID and UpdatedControls in the page since most of the controls depend on each other at runtime,

Thanks in advance,
Kunal Vora
Brad H
Top achievements
Rank 2
 answered on 21 Jan 2011
4 answers
217 views
Ok,  I have an aspx page with a tabstrip and multipage in it.  There are 3 tabs,  on the second tab there is a radgrid (rgManage).  When this tab is clicked I need to refresh the grid.

protected void radtabCallInOrder_Click(object sender, RadTabStripEventArgs e)
{
      if (e.Tab.Text == "Order Items")
      {
         RadGrid rgManage = (RadGrid)Page.Master.FindControl("ContentPlaceHolder1").FindControl("radmultipageCallInOrder").FindControl("rgManage");
  
         if (rgManage != null)
         {
             rgManage.Rebind();
         }
      }
   
  }

I can find the multipage control, but how do I find the radgrid which is in the PageView of the multipage?  The above does not work but it is where I am at.
Brad H
Top achievements
Rank 2
 answered on 21 Jan 2011
0 answers
32 views
I got the answer sorry, realized that the selected index was set to 1 and tab was not selected by default.
dotnetshar net
Top achievements
Rank 1
 asked on 21 Jan 2011
3 answers
86 views
Hi,
I am using a spline chart series type to display a set of user generated values. In my example these values are (1:10, 2:11, 3:17, 30:35). The values are plotted correctly and using the point chart series type there is no problem, however when using the spline type the line doubles back on itself which is not how I would expect the chart to behave. This is not acceptable for our intents and purposes as the x axis represents a clients age and as it is impossible for them to get younger and then older again this misrepresents the data.

Is this a known issue and is there a fix or is it working as intended? Any solutions to this problem would be very welcome.

Cheers
Zero Gravity Chimp
Top achievements
Rank 2
 answered on 21 Jan 2011
5 answers
161 views
I have a listbox that I set up to simply reload the data from the code behind based on a selection change to a radio button. It is performing the reload properly, but I'm seeing the page actually "reload" or "flicker" when it executes instead of doing it seemlessly.

I have used the AjaxManager fine with other projects in the past and works as expected. However, I have used it in aspx pages that didn't have a masterpage attached to it with no problem. I am using it now inside a user control within an aspx page. That aspx page has a master page associated with it that already contains the RadScriptManager, so I obvioulsy can't put it inside my user control; otherwise I'd get the msg that I can only have 1 script manager tag.

Could you please let me know what I'm doing incorrectly in this scenario? See the boldfacing for clarity...

Here is my html which is in a user control:
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="lstPatientEDLogs">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="lstPatientEDLogs" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<table cellpadding="1" cellspacing="1" width="100%">
    <tr>
        <td>
            <asp:Panel ID="pnlData" runat="server" GroupingText="Data Type" Width="1100px">
                <asp:RadioButtonList ID="rblDataType" RepeatDirection="Horizontal" TextAlign="Right"
                    runat="server" Width="100%" AutoPostBack="true" OnSelectedIndexChanged="rblDataType_SelectedIndexChanged">
                    <asp:ListItem Text="Chart ==> Demographics" Selected="True"></asp:ListItem>
                    <asp:ListItem Text="Patient ==> Coding"></asp:ListItem>
                </asp:RadioButtonList>
            </asp:Panel>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Panel ID="pnlDate" runat="server" ScrollBars="Horizontal" GroupingText="Date Filter">
                <table>
                    <tr>
                        <td>
                            Date Of Service:
                        </td>
                        <td>
                            <asp:ListBox ID="lstPatientEDLogs" runat="server" Rows="1"></asp:ListBox>
                        </td>
                    </tr>
                </table>
            </asp:Panel>
        </td>
    </tr>

Here is my code behind:

private void LoadDatesofSvc()
        {
            lstPatientEDLogs.Items.Clear();

            if (rblDataType.SelectedItem.Text == "Patient ==> Coding")
            {
                var query = DbContext.SelectPatientEDLogs();

                string strDate = "";
                foreach (var q in query)
                {
                    DateTime dt = q.DateOfService ?? DateTime.Now;
                    strDate = dt.ToString("MM/dd/yyyy");

                    lstPatientEDLogs.Items.Add(new ListItem(strDate, strDate));
                }
                lstPatientEDLogs.Items.Insert(0, "");
            }
            else if (rblDataType.SelectedItem.Text == "Chart ==> Demographics")
            {
                var query = DbContext.SelectEDLogs();

                string strDate = "";
                foreach (var q in query)
                {
                    DateTime dt = q.DateOfService ?? DateTime.Now;
                    strDate = dt.ToString("MM/dd/yyyy");

                    lstPatientEDLogs.Items.Add(new ListItem(strDate, strDate));
                }
                lstPatientEDLogs.Items.Insert(0, "");
            }
        }

       
        protected void rblDataType_SelectedIndexChanged(Object sender, EventArgs e)
        {
            LoadDatesofSvc();
        }

Bill
Top achievements
Rank 2
 answered on 20 Jan 2011
8 answers
214 views
All,
I have two RadDateTimepickers within a MasterTableViewEditForm view in a radgrid. Everything works fine, but after interacting with the page or hitting the cancel button a few times, then I get the following error:

'this.get_timeview()' is null or not an object.

This only happens after going to edit a record and then hitting the cancel button after three times.
Below is the code for my RadGrid:
<telerik:RadGrid ID="RadGrid2" runat="server" AllowAutomaticDeletes="True"   
                                                             
    AllowAutomaticInserts="True" AllowAutomaticUpdates="True"   
                                                           AutoGenerateEditColumn="True"   
                                       DataSourceID="SqlDataSource2" GridLines="None"   
                                                             
    ShowGroupPanel="True" Skin="Web20" Width="95%" AllowPaging="True" ShowFooter="True"   
                        PageSize="5">  
                        <mastertableview autogeneratecolumns="False"   
                                                           datasourceid="SqlDataSource2"   
                            CommandItemDisplay="Top">  
                            <EditItemTemplate> 
                                  
                            </EditItemTemplate> 
                            <nestedviewtemplate> 
                                 
                            </nestedviewtemplate> 
                            <CommandItemSettings AddNewRecordText="Add New Day" /> 
                            <expandcollapsecolumn visible="True">  
                            </expandcollapsecolumn> 
                            <Columns> 
                                <telerik:GridTemplateColumn HeaderText="Delete?" UniqueName="TemplateColumn">  
                                    <ItemTemplate> 
                                        <asp:ImageButton ID="btndeleteday" runat="server" CommandName="DeleteDay"   
                                            Height="25px" ImageUrl="~/images/recyclebin.png"    
                                            Width="25px" onclick="btndeleteday_Click" /> 
                                        <cc1:ConfirmButtonExtender ID="btndeleteday_ConfirmButtonExtender"   
                                            runat="server" ConfirmOnFormSubmit="True"   
                                            ConfirmText="Are you sure you want to delete this day?" Enabled="True"   
                                            TargetControlID="btndeleteday">  
                                        </cc1:ConfirmButtonExtender> 
                                    </ItemTemplate> 
                                </telerik:GridTemplateColumn> 
                                <telerik:GridBoundColumn DataField="ID" DataType="System.Int32" HeaderText="ID"   
                                                                   ReadOnly="True" SortExpression="ID"   
                                    UniqueName="ID">  
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn DataField="LeaveType" HeaderText="Type"   
                                                                   SortExpression="LeaveType"   
                                    UniqueName="LeaveType">  
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn DataField="LeaveRequestDate" HeaderText="Request Date"   
                                                                   SortExpression="LeaveRequestDate"   
                                    UniqueName="LeaveRequestDate">  
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn DataField="LeaveHours" HeaderText="Hours"   
                                                                   SortExpression="LeaveHours"   
                                    UniqueName="LeaveHours">  
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn DataField="StartTime" DataType="System.DateTime"   
                                                                   HeaderText="Start Time"   
                                    SortExpression="StartTime" UniqueName="StartTime">  
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn DataField="EndTime" DataType="System.DateTime"   
                                                                   HeaderText="End Time"   
                                    SortExpression="EndTime" UniqueName="EndTime">  
                                </telerik:GridBoundColumn> 
                            </Columns> 
                            <editformsettings editformtype="Template">  
                                <editcolumn uniquename="EditCommandColumn1">  
                                </editcolumn> 
                                <formtemplate> 
                                <fieldset style="padding:10px;">  
                                <legend style="padding:5px;"><b>Edit Action: </b> 
                               <b> - </b> 
                           <asp:Label ID="lblstatus" Font-Bold="True" Font-Italic="True"   
                               Text='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>'  runat="server" /> 
                       </legend> 
                                    <asp:SqlDataSource ID="LeaveTypes" runat="server"   
                                                           ConnectionString="<%$ ConnectionStrings:TimetrexLeaveTestingConnectionString %>"   
                                                             
                                        SelectCommand="SELECT [ID], [LeaveType] FROM [LeaveTypes]">  
                                    </asp:SqlDataSource> 
                                    <table class="TableNonImportantText" style="table-layout: auto; text-align: left; white-space: nowrap; width: 100%">  
                                        <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="The following errors need to be corrected before you can Edit/Insert a day!" /> 
                                        <tr> 
                                            <td class="style63" nowrap="nowrap">  
                                                Leave Type:</td> 
                                            <td class="style54">  
                                                <telerik:RadComboBox ID="drptypeleave" Runat="server" DataSourceID="LeaveTypes"   
                                                    DataTextField="LeaveType" DataValueField="ID" Skin="Web20"   
                                                    SelectedValue='<%# Bind("LeaveType_Fkey") %>'>  
                                                </telerik:RadComboBox> 
                                            </td> 
                                            <td class="style61">  
                                                </td> 
                                            <td class="style61">  
                                                &nbsp;</td> 
                                            <td class="style60">  
                                                </td> 
                                            <td class="style54">  
                                                <asp:Label ID="lblid" runat="server" Text='<%# eval("LeaveRequest_Fkey") %>'   
                                                    Visible="False"></asp:Label> 
                                                <asp:Label ID="lblLeaveDateID" runat="server" Text='<%# eval("ID") %>'   
                                                    Visible="False"></asp:Label> 
                                            </td> 
                                            <td class="style56">  
                                                </td> 
                                            <td class="style54">  
                                                </td> 
                                            <td class="style54">  
                                                </td> 
                                        </tr> 
                                        <tr> 
                                            <td class="style63" nowrap="nowrap">  
                                                Start Time:</td> 
                                            <td class="style58" nowrap="nowrap">  
                                                <telerik:RadDateTimePicker ID="RadDateTimePickerStart" Runat="server"   
                                                                                   Culture="English (United States)"    
                                                                                   Skin="Web20"   
                                                    DbSelectedDate='<%# Bind("StartTime") %>'>  
                                                    <calendar skin="Web20" usecolumnheadersasselectors="False"   
                                                                                   userowheadersasselectors="False"   
                                                        viewselectortext="x">  
                                                    </calendar> 
                                                    <timeview cellspacing="-1">  
                                                    </timeview> 
                                                    <timepopupbutton hoverimageurl="" imageurl="" /> 
                                                    <datepopupbutton hoverimageurl="" imageurl="" /> 
                                                </telerik:RadDateTimePicker> 
                                            </td> 
                                            <td class="style62" nowrap="nowrap">  
                                                <asp:RequiredFieldValidator ID="BeginValidator" runat="server"   
                                                    ControlToValidate="RadDateTimePickerStart"   
                                                    ErrorMessage="An begin date is required to submit a leave request!"   
                                                    Text="*"></asp:RequiredFieldValidator> 
                                            </td> 
                                            <td class="style62" nowrap="nowrap">  
                                                &nbsp;</td> 
                                            <td class="style60" nowrap="nowrap">  
                                                End Time:</td> 
                                            <td class="style58" nowrap="nowrap">  
                                                <telerik:RadDateTimePicker ID="RadDateTimePickerEnd" Runat="server"   
                                                                                   Culture="English (United States)" 
                                                                                   Skin="Web20"   
                                                    DbSelectedDate='<%# Bind("EndTime") %>'>  
                                                    <calendar skin="Web20" usecolumnheadersasselectors="False"   
                                                                                   userowheadersasselectors="False"   
                                                        viewselectortext="x">  
                                                    </calendar> 
                                                    <timeview cellspacing="-1">  
                                                    </timeview> 
                                                    <timepopupbutton hoverimageurl="" imageurl="" /> 
                                                    <datepopupbutton hoverimageurl="" imageurl="" /> 
                                                </telerik:RadDateTimePicker> 
                                            </td> 
                                            <td class="style45" nowrap="nowrap">  
                                                <asp:RequiredFieldValidator ID="EndValidator" runat="server"   
                                                    ControlToValidate="RadDateTimePickerEnd"   
                                                    ErrorMessage="An end time is required to submit a leave request! "   
                                                    Text="*"></asp:RequiredFieldValidator> 
                                            </td> 
                                            <td class="style41">  
                                                &nbsp;</td> 
                                            <td class="style41">  
                                            </td> 
                                        </tr> 
                                        <tr> 
                                            <td class="style63" nowrap="nowrap">  
                                                <asp:Button ID="btnUpdate" runat="server"   
                                                                                   CommandName='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "PerformInsert", "Update")%>'   
                                                                                   Text='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>'   
                                                                                   Width="79px" /> 
                                            </td> 
                                            <td class="style58" nowrap="nowrap">  
                                                <asp:Button ID="btncancel" runat="server" CausesValidation="False"   
                                                                                   CommandName="Cancel" Text="Cancel"   
                                                    Width="79px"  /> 
                                            </td> 
                                            <td class="style62" nowrap="nowrap">  
                                                &nbsp;</td> 
                                            <td class="style62" nowrap="nowrap">  
                                                &nbsp;</td> 
                                            <td class="style60" nowrap="nowrap">  
                                                &nbsp;</td> 
                                            <td class="style58" nowrap="nowrap">  
                                                &nbsp;</td> 
                                            <td class="style45" nowrap="nowrap">  
                                                &nbsp;</td> 
                                            <td class="style41">  
                                                &nbsp;</td> 
                                            <td class="style41">  
                                                &nbsp;</td> 
                                        </tr> 
                                        <tr> 
                                            <td class="style54" colspan="9">  
                                                <div id="validation" runat="server" visible="true" > 
                                                    <asp:CustomValidator ID="HoursPositive" runat="server"   
                                                        ControlToValidate="RadDateTimePickerStart" ErrorMessage=""   
                                                        OnServerValidate="ServerValidate"></asp:CustomValidator> 
                                                    <asp:CustomValidator ID="HoursCheck" runat="server"   
                                                        ControlToValidate="RadDateTimePickerStart" ErrorMessage=""   
                                                        OnServerValidate="ServerValidate"></asp:CustomValidator> 
                                                    <asp:CustomValidator ID="NoDays" runat="server"   
                                                        ControlToValidate="RadDateTimePickerStart" ErrorMessage=""   
                                                        OnServerValidate="ServerValidate"></asp:CustomValidator> 
                                                    <asp:CustomValidator ID="HoursUsable" runat="server"   
                                                        ControlToValidate="RadDateTimePickerStart" ErrorMessage=""   
                                                        OnServerValidate="ServerValidate"></asp:CustomValidator> 
                                                </div> 
                                            </td> 
                                        </tr> 
                                    </table> 
                                    <telerik:RadAjaxManager ID="RadAjaxManager3" runat="server">  
                                        <ajaxsettings> 
                                            <telerik:AjaxSetting AjaxControlID="grddays">  
                                                <updatedcontrols> 
                                                    <telerik:AjaxUpdatedControl ControlID="grddays"   
                                                                                       LoadingPanelID="radajaxloadingpanel1" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="btnsubmit" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhoursannual" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhourssick" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhoursjury" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhoursbereavement" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhoursmilitary" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhourscomp" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblhourswithoutpay" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="lblholidaypay" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="txtcomments" /> 
                                                    <telerik:AjaxUpdatedControl ControlID="validationsummary1" /> 
                                                </updatedcontrols> 
                                            </telerik:AjaxSetting> 
                                            <telerik:AjaxSetting AjaxControlID="grddays">  
                                                <updatedcontrols> 
                                                    <telerik:AjaxUpdatedControl controlid="grddays" /> 
                                                </updatedcontrols> 
                                            </telerik:AjaxSetting> 
                                        </ajaxsettings> 
                                    </telerik:RadAjaxManager> 
                                    <br /> 
                                    </fieldset></formtemplate>  
                            </editformsettings> 
                            <CommandItemTemplate> 
                                <table class="style11">  
                                    <tr> 
                                        <td class="style54">  
                                            <asp:Image ID="Image6" runat="server" Height="25px"   
                                                                               ImageUrl="~/images/folder_green.png"   
                                                Width="25px" /> 
                                        </td> 
                                        <td> 
                                            <asp:LinkButton ID="LinkButton4" runat="server" CommandName="InitInsert">Add New   
                                            Day</asp:LinkButton> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </CommandItemTemplate> 
                        </mastertableview> 
                        <clientsettings allowdragtogroup="True">  
                        </clientsettings> 
                    </telerik:RadGrid> 
Any help would be greatly appreciated.
Rory
Top achievements
Rank 1
 answered on 20 Jan 2011
2 answers
58 views
Hello,
I've built a UserControl.ascx that consists of a RadGrid using an inline editor and a DateTimePicker column. This UserControl works fine on ordinary aspx pages but once I place this UserControl in a RadWindow the DateTimePicker breaks. I tried turning off the picker by setting "PickerType='None'" and the error went away. How can we get the DateTime Pickers to work. Please help.

The error:
"Line: 6517
Error: 'this.get_timeView()' is null or not an object"

The Telerik Code piece:
{var a=Telerik.Web.UI.RadDateTimePicker.TimePopupInstances[this.get_timeView().get_id()];

Thanks.
Rory
Top achievements
Rank 1
 answered on 20 Jan 2011
2 answers
58 views

I have a radgrid with lots columns, lot of dropdown filter columns(created by using the following example for dropdown filter column)

http://demos.telerik.com/aspnet-ajax/grid/examples/programming/filteringtemplatecolumns/defaultcs.aspx

Everything works fine except can not get rid of IE horizontal  scroll bar .  I tried Style="overflow: hidden; ", but doesn't work.

If I removed several dropdown filter column, the probelm can be solved but obviously I need to keep those dropdown filter column.

I only need the grid scroll bar, not the browser scroll bar.  How can I get rid of the broswer scroll bar?

Please help.

JJ
Top achievements
Rank 1
 answered on 20 Jan 2011
1 answer
56 views
Hello,

I have a problem in displaying the returned value from Database in the radcombobox. In other words if I put the following code in the RadGrid EditForm then I can't submit the changes (If I click update I recieve an error):
<telerik:RadComboBox ID="CstmrIDRadComboBox" OffsetX="-20" Skin="Vista" 
                            runat="server" Width="250px" Height="150px" AutoPostBack="false"
                            EnableLoadOnDemand="true" ShowMoreResultsBox="true" DataValueField="CstmrID" DataTextField="CstmrName"
                            EnableVirtualScrolling="true"  SelectedValue='<%# DataBinder.Eval( Container, "DataItem.CstmrID" ) %>' >
                            <WebServiceSettings Method="GetCstmrsNames" Path="AddBsns.aspx" />

and
private const int ItemsPerRequest = 10;
[WebMethod]
public static RadComboBoxData GetCstmrsNames(RadComboBoxContext context)
{
    DataTable data = GetData(context.Text);
    RadComboBoxData comboData = new RadComboBoxData();
    int itemOffset = context.NumberOfItems;
    int endOffset = Math.Min(itemOffset + ItemsPerRequest, data.Rows.Count);
    comboData.EndOfItems = endOffset == data.Rows.Count;
    List<RadComboBoxItemData> result = new List<RadComboBoxItemData>(endOffset - itemOffset);
    for (int i = itemOffset; i < endOffset; i++)
    {
        RadComboBoxItemData itemData = new RadComboBoxItemData();
        itemData.Text = data.Rows[i]["CstmrName"].ToString();
        itemData.Value = data.Rows[i]["CstmrID"].ToString();
        result.Add(itemData);
    }
    comboData.Message = GetStatusMessage(endOffset, data.Rows.Count);
    comboData.Items = result.ToArray();
    return comboData;
}
private static DataTable GetData(string text)
{
    SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from Customers WHERE CstmrName LIKE @text + '%'",
        ConfigurationManager.ConnectionStrings["MapConnectionString"].ConnectionString);
    adapter.SelectCommand.Parameters.AddWithValue("@text", text);
    DataTable data = new DataTable();
    adapter.Fill(data);
    return data;
}
private static string GetStatusMessage(int offset, int total)
{
    if (total <= 0)
        return "No matches";
    return String.Format("{0} <b>1</b>-<b>{1}</b> {2} <b>{3}</b>", "Customers", offset, "Of", total);
}

Please, can you explain to me what is the problem and how can I fix it.
It is appreciated to send me the modified code.

Regards,
Bader
Kalina
Telerik team
 answered on 20 Jan 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?