Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
106 views

Hey Guys im trying to follow the sample follow the example:

http://demos.telerik.com/aspnet-ajax/htmlchart/examples/databinding/bindtodataset/defaultcs.aspx

except that im trying to use a areaseries. Sadly it seems like the property DataFieldX is not supported eventhough its documented:

http://www.telerik.com/help/aspnet-ajax/properties_t_telerik_web_ui_areaseries.html

I can only set "DataFieldY". 

 

My Code:

<telerik:RadHtmlChart runat="server" ID="AreaChart" Width="800" Height="500" Skin="Silk">
    <PlotArea>
        <Series>
            <telerik:AreaSeries Name="Series1" DataFieldX="timestamp" DataFieldY="eToday" >
                <Appearance>
                    <FillStyle BackgroundColor="Red"></FillStyle>
                </Appearance>
                <LabelsAppearance Position="Above">
                </LabelsAppearance>
                <LineAppearance Width="1"></LineAppearance>
                <MarkersAppearance MarkersType="Circle" BackgroundColor="White" Size="6" BorderColor="Red"
                    BorderWidth="2"></MarkersAppearance>
                <TooltipsAppearance Color="White">
                </TooltipsAppearance>               
            </telerik:AreaSeries>
        </Series>
        <Appearance>
            <FillStyle BackgroundColor="Transparent"></FillStyle>
        </Appearance>
        <XAxis AxisCrossingValue="0" Color="black" MajorTickType="Outside" MinorTickType="Outside"
            Reversed="false">           
            <TitleAppearance Position="Center" RotationAngle="0" Text="Date & Time">
            </TitleAppearance>
            <LabelsAppearance DataFormatString="{0}" RotationAngle="0" Skip="0" Step="1">
            </LabelsAppearance>
        </XAxis>
        <YAxis AxisCrossingValue="0" Color="black" MajorTickSize="4" MajorTickType="Outside"
            MaxValue="1400" MinorTickType="None" MinValue="0" Reversed="false" Step="200">
            <LabelsAppearance DataFormatString="{0}" RotationAngle="0" Skip="0" Step="1">
            </LabelsAppearance>
            <TitleAppearance RotationAngle="0" Position="Center" Text="Leistung am Tag in kWh">
            </TitleAppearance>
        </YAxis>
    </PlotArea>
    <Appearance>
        <FillStyle BackgroundColor="Transparent"></FillStyle>
    </Appearance>
    <ChartTitle Text="Company performance">
        <Appearance Align="Center" BackgroundColor="Transparent" Position="Top">
        </Appearance>
    </ChartTitle>
    <Legend>
        <Appearance BackgroundColor="Transparent" Position="Bottom">
        </Appearance>
    </Legend>
</telerik:RadHtmlChart>

Danail Vasilev
Telerik team
 answered on 09 Apr 2015
5 answers
358 views
Hello,

I have a RadTreeView with a series of nodes.  Each node can have it's own nodes, which could have their own nodes etc.  Currently if i delete a node from the tree, by calling RadTreeView.SelectedNode.Remove(), the node is removed but all of the nodes in the RadTreeView.SelectedNode.Nodes collection are also removed.  Ideally instead of removing the entire branch from the tree i'd just like to remove the single node, and shift that nodes sub-nodes up a level.

Currently if i had a tree like this:

A
|
B
|
C
 \
  D
   \
    E
|
F

Removing Node C results in a tree that looks like:
A
|
B
|
F


ideally i'd like it to look like:
A
|
B
|
D
 \
 E
|
F

Here you can see that only the selected node was removed, it's sub-nodes are still available. I see that the node has a server-side .Parent property, but this is not set-able.   When a node is removed, it could have 0 sub-nodes, or it could have multiple sub-nodes which in turn could have 0 or more sub-nodes each.  it's unknown how many sub-nodes or sub-node-nodes etc are contained in any given node that is being removed. The only other thing to note is that each of my nodes contains a fairly complex user-control that has several comboboxes and/or text boxes loaded with custom data.  This makes a recursive solution where we attempt to recreate each node by making a copy of the node and adding it to the parent problematic.  

Any assistance you can provide about how i could achieve this goal would be much appreciated.  I'm open to achieving this goal with either a server or client-side solution. 

Thanks!
-Mark
Ivan Danchev
Telerik team
 answered on 09 Apr 2015
3 answers
179 views

Is it possible to set the RadScheduler RowHeight dynamically on the client side? I can't seem to find a method to do this.

Thanks
Bozhidar
Telerik team
 answered on 09 Apr 2015
8 answers
223 views
i have this link button inside orgChart, on it click event i want fetch record from db to populate couple of text fields on the very same page.
It works fine but as soon as i add <ajax settings>, UI doesnt update. Please help.

<telerik:RadOrgChart runat="server" ID="RadOrgChart1" CssClass="Chart" DataTextField="PositionTitle"
        DataFieldID="PositionId" DataFieldParentID="ReportToPositionId" Skin="Silk" EnableCollapsing="true">
        <ItemTemplate>
                <div style="text-align:center; text-transform:uppercase; line-height:30px;">
                <asp:LinkButton ID="LinkButton1" CausesValidation="false" data-positionid='<%# Eval("PositionId") %>'  runat="server" OnClick="Position_Click" OnClientClick="DisplayAddPositionPopup();" ><%# DataBinder.Eval(Container, "Text") %></asp:LinkButton>
                    <asp:Panel ID="Panel1" Visible='<%#Convert.ToString( Eval("FunctionName")).Length>0%>' runat="server">
                    <div style="position:absolute; top:55px; width: 230px; margin-top:30px; height:20px; line-height:20px; border:1px solid #767676"><%#Eval("FunctionName") %></div>
                    </asp:Panel>
                
                </div>
            </ItemTemplate>
        <RenderedFields>
            <ItemFields>
                <telerik:OrgChartRenderedField DataField="FunctionName" Label="" />
            </ItemFields>
        </RenderedFields>
    </telerik:RadOrgChart>
Aneliya Petkova
Telerik team
 answered on 09 Apr 2015
1 answer
193 views

 Please help on how to be able to fire Required Field Validator of fields when clicking Add New Item and trying to SAVE empty record in Rad Grid. Thanks!!

 Rad Grid:

                <div> 
                        <label for="rgRemark">Remarks:</label>
                        <telerik:RadGrid ID="rgRemarks" runat="server" AllowPaging="True" AllowSorting="True"
                            AutoGenerateColumns="False" GridLines="None" AllowMultiRowEdit="false" AllowAutomaticInserts="false"
                            AllowAutomaticUpdates="false" CellSpacing="0" Width="500px" Style="float: right">

                            <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="True" />
                            <MasterTableView CommandItemDisplay="Top" DataKeyNames="EmployeeID, RemarkID" CellSpacing="-1" RetrieveAllDataFields="false">
                                <CommandItemSettings ShowRefreshButton="True" ShowAddNewRecordButton="True" AddNewRecordText="Add Remark" />
                                <Columns>
                                    <telerik:GridTemplateColumn DataField="Remark" SortExpression="Remark" HeaderText="Remark"
                                        UniqueName="Remark">
                                        <ItemTemplate>                                           
                                            <asp:Label ID="lblRemark" Text='<%#Eval("Remark")%>' runat="server" />
                                        </ItemTemplate>

                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtRemark" runat="server" TextMode="MultiLine" Width="300px" />
                                            <asp:RequiredFieldValidator ID="requiredFieldRemark" runat="server" ControlToValidate="txtRemark"
                                                ErrorMessage="* Remark is required field." Display="Dynamic"/>
                                        </EditItemTemplate>                                                                             
                                    </telerik:GridTemplateColumn>


                                    <telerik:GridButtonColumn ButtonType="ImageButton" HeaderText="Edit" CommandName="Edit" Text="Edit" />
                                    <telerik:GridButtonColumn ConfirmText="Delete this Remark?" ConfirmDialogType="RadWindow"
                                        ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
                                        HeaderText="Delete" UniqueName="DeleteColumn">
                                    </telerik:GridButtonColumn>
                                </Columns>
                                <EditFormSettings>
                                    <EditColumn ButtonType="ImageButton" CancelImageUrl="~\Images\CommandImages\Cancel.gif" CancelText="Cancel Edit"
                                        InsertImageUrl="~\Images\CommandImages\Save.gif" InsertText="Insert" UniqueName="EditColumn"
                                        UpdateImageUrl="~\Images\CommandImages\Save.gif" UpdateText="Update ">
                                    </EditColumn>
                                </EditFormSettings>
                            </MasterTableView>
                        </telerik:RadGrid>
                    </div>

 

Code Behind:

If (TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode) Then
        
            Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
      
            Dim requiredFieldRemark As RequiredFieldValidator = DirectCast(editedItem.FindControl("requiredFieldRemark"), RequiredFieldValidator)
            requiredFieldRemark.Enabled = True

ElseIf (TypeOf e.Item Is GridEditFormInsertItem AndAlso e.Item.OwnerTableView.IsItemInserted) Then
       
            Dim dataItem As GridEditableItem = CType(e.Item, GridEditableItem)
            Dim requiredFieldRemark As RequiredFieldValidator = DirectCast(dataItem.FindControl("requiredFieldRemark"), RequiredFieldValidator)
            requiredFieldRemark.Enabled = True
 End If

 

Konstantin Dikov
Telerik team
 answered on 09 Apr 2015
3 answers
231 views
I'm working with the  RadSchedulerRecurrenceEditor and trying to determine how to access the No End Date, End after, or End By values at the bottom of the control. I've seen the "help" (in quotes because it's hardly helpful) article that discusses reading the text and go thru some god awful mess to eventually split, trim, format, wipe, and by next week you might have the value process. The Pattern otpitons are accessible by properties, so I have got to believe that the Recurrence end values are accessible by properties. Does anyone out there have some insite on getting these values?
Plamen
Telerik team
 answered on 09 Apr 2015
1 answer
94 views

Hello, 

I been trying to use this asyncupload-additional fields but It doesn't work when I set session state to SQL SERVER. keep getting this error:

Microsoft JScript runtime error: Error while uploading, [HttpWebRequest_WebException_RemoteServer]
Arguments: NotFound
Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.30514.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer

this is my control:

<telerik:RadAsyncUpload runat="server" ID="RadAsyncUpload1" OnClientFileUploaded="onClientFileUploaded"
                    MultipleFileSelection="Automatic" Skin="Office2007" />

javascript is same as given in demo.

 

 

 

Hristo Valyavicharski
Telerik team
 answered on 09 Apr 2015
22 answers
859 views
Forgive me if this issue has been addressed before, I've been searching for a full day and can't make any progress.

Scenario:
I have a RadGrid using Advanced Data Binding (NeedDataSource event). Initial binding (load), paging, sorting are working fine, but filtering is not. I have a RadComboBox in a FilterTemplate of a GridBoundColumn. The RadComboBox is populated in the ItemDataBound event of the RadGrid. I do not use SqlDataSource, binding is done in the code-behind.

After the RadComboBox is populated (using the same data source (but only one column) that populates the RadGrid), I remove the duplicate items. This is the work around I found to avoid an additional data source issuing another connection to the database just to get a column distinct. Again, the items left in the RadComboBox are distinct.

Error:
When I select an item from the RadComboBox, I get the following error:
Selection out of range Parameter name: value 

Code:
RadGrid:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" EnableViewState="true"
                    CssClass="GridViewSforms" Skin="Web20" EnableEmbeddedSkins="False"
                    Height="510px" Width="941px" ShowStatusBar="True"
                    AlternatingItemStyle-BackColor="#ededed" ClientSettings-EnableRowHoverStyle="true"
                    AllowPaging="True" AllowSorting="True"
                    CellSpacing="0" GridLines="None"
                    AutoGenerateColumns="False" ShowGroupPanel="False"
                    EnableLinqExpressions="False" >
                    <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True"
                        AllowDragToGroup="True" EnableRowHoverStyle="True">
                        <Scrolling AllowScroll="True" UseStaticHeaders="True" />
                    </ClientSettings>
                    <AlternatingItemStyle BackColor="#EDEDED" />
 
                    <MasterTableView CommandItemDisplay="Top" >

Column:
<telerik:GridBoundColumn DataField="CustomerProgramDescription"
    Groupable="true" HeaderText="Program" UniqueName="CustomerProgramDescription">
    <FilterTemplate>
        <telerik:RadComboBox ID="RadComboBoxCustomerProgramDescription" runat="server"
            AppendDataBoundItems="true"
            DataTextField="CustomerProgramDescription"
            DataValueField="CustomerProgramDescription"
            OnClientSelectedIndexChanged="CustomerProgramDescriptionIndexChanged"
            OnDataBound="RadComboBoxAllFilters_OnDataBound"
            SelectedValue='<%# TryCast(Container,GridItem).OwnerTableView.GetColumn("CustomerProgramDescription").CurrentFilterValue %>'
            Width="100px">
            <Items>
                <telerik:RadComboBoxItem Text="All" />
            </Items>
        </telerik:RadComboBox>
        <telerik:RadScriptBlock ID="RadScriptBlockProgram" runat="server">
            <script type="text/javascript">
 
                function CustomerProgramDescriptionIndexChanged(sender, args) {
                    var tableView = $find("<%# TryCast(Container,GridItem).OwnerTableView.ClientID %>");
                    tableView.filter("CustomerProgramDescription", args.get_item().get_value(), "EqualTo");
                }
            </script
        </telerik:RadScriptBlock>
    </FilterTemplate>
    <ItemStyle Wrap="False" />
    <HeaderStyle Wrap="false" />
</telerik:GridBoundColumn>


Code Behind (bind RadComboBox):

Protected Sub RadGrid1_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound

If TypeOf e.Item Is Telerik.Web.UI.GridFilteringItem Then
 
    'Populate Filters by binding the combo to datasource
    Dim filteringItem As Telerik.Web.UI.GridFilteringItem = CType(e.Item, Telerik.Web.UI.GridFilteringItem)
    Dim myRadComboBox As Telerik.Web.UI.RadComboBox = DirectCast(filteringItem.FindControl("RadComboBoxCustomerProgramDescription"), Telerik.Web.UI.RadComboBox)
 
    myRadComboBox.DataSource = myDataSet
    myRadComboBox.DataTextField = "CustomerProgramDescription"
    myRadComboBox.DataValueField = "CustomerProgramDescription"
    myRadComboBox.ClearSelection()
    myRadComboBox.DataBind()
End If

I'm new to the controls, and I hope you can shed some light.
Thank you!
Vasil
Telerik team
 answered on 08 Apr 2015
2 answers
115 views

I have a RadSearchBox within a RadGrid EditFormTemplate within a RadPanelBar.  When dropping down the SearchContext, it flashes quickly and disappears without allowing it to be viewed or selected.  ive tried setting the CollapseAnimation-Duration to a large number and that allows a user to see and select it, but then it has to wait to time out before being used.  Below is my code snippet.

 

            <telerik:RadPanelBar ID="RadPanelBar4" runat="server" Width="100%">
                <Items>
                    <telerik:RadPanelItem runat="server" Text="Clauses" PreventCollapse="false">
                        <Items>
                            <telerik:RadPanelItem runat="server">
                                <ItemTemplate>

                                    <telerik:RadGrid ID="rgClauses" runat="server" DataSourceID="sdsClauses"
                                        AllowFiltering="True" AllowPaging="True" AllowSorting="True" ShowGroupPanel="False" Width="100%" 
                                        RenderMode="Auto" AutoGenerateColumns="False" ShowFooter="False" CellSpacing="-1" PageSize="5" 
                                        AllowAutomaticInserts="True" AllowAutomaticDeletes="True" AllowAutomaticUpdates="false"
                                        GridLines="Both" GroupPanelPosition="Top" >
                                        <GroupingSettings CaseSensitive="false" />
                                        <ClientSettings AllowDragToGroup="True" AllowKeyboardNavigation="true" EnablePostBackOnRowClick="true">
                                            <Resizing AllowColumnResize="True" ResizeGridOnColumnResize="True"></Resizing>
                                            <Scrolling AllowScroll="false" UseStaticHeaders="True" />
                                        </ClientSettings>
                                        <MasterTableView GroupLoadMode="server" Width="100%" EnableViewState="true" ShowGroupFooter="True" GroupsDefaultExpanded="True"  
                                            DataKeyNames="ContractEngagementID,StandardizedClausesProvisionsID" ShowHeader="true" AllowAutomaticUpdates="false" CommandItemSettings-ShowAddNewRecordButton="true" CommandItemDisplay="Top"> 
                                            <Columns>
                                                <telerik:GridEditCommandColumn ButtonType="ImageButton" Reorderable="False" Resizable="False" UniqueName="insert">
                                                    <HeaderStyle HorizontalAlign="Center" Width="54px" Wrap="False"/>
                                                    <ItemStyle HorizontalAlign="Center" Wrap="False" />
                                                </telerik:GridEditCommandColumn>

                                                <telerik:GridBoundColumn DataField="ContractEngagementID" DataType="System.Int32" FilterControlAltText="Filter ContractEngagementID column" HeaderText="ContractEngagementID" ReadOnly="True" SortExpression="ContractEngagementID" UniqueName="ContractEngagementID" Visible="true">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="StandardizedClausesProvisionsID" FilterControlAltText="Filter StandardizedClausesProvisionsID column" HeaderText="ID" SortExpression="StandardizedClausesProvisionsID" UniqueName="StandardizedClausesProvisionsID" ReadOnly="true" Visible="true">
                                                </telerik:GridBoundColumn>                                                
                                                <telerik:GridBoundColumn DataField="StandardizedClausesProvisions" FilterControlAltText="Filter StandardizedClausesProvisions column" HeaderText="Provision" SortExpression="StandardizedClausesProvisions" UniqueName="StandardizedClausesProvisions" ReadOnly="true">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="StandardizedClausesProvisionsType" FilterControlAltText="Filter StandardizedClausesProvisionsType column" HeaderText="Type" SortExpression="StandardizedClausesProvisionsType" UniqueName="StandardizedClausesProvisionsType" ReadOnly="true">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridButtonColumn ConfirmText="Delete this entry?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" UniqueName="delete">
                                                    <FooterStyle Wrap="False" />
                                                    <HeaderStyle HorizontalAlign="Center" Width="25px" Wrap="False" />
                                                    <ItemStyle Wrap="False" />
                                                </telerik:GridButtonColumn>
                                            </Columns>
                                            <EditFormSettings EditFormType="Template">
                                                <FormTemplate>
                                                    <table id="Table2" width="100%" border="0" >
                                                        <tr>
                                                            <td>
                                                                <telerik:RadSearchBox ID="RadSearchBox1" runat="server" Width="500" DropDownSettings-Height="200px" IsCaseSensitive="false" RegisterWithScriptManager="true"  
                                                                    DataSourceID="sdsAvailableClauses"  
                                                                    DataTextField="StandardizedClausesProvisionsReference" DataValueField="StandardizedClausesProvisionsID" DataContextKeyField="StandardizedClausesProvisionsTypeID">
                                                                    <SearchContext DataSourceID="sdsAvailableTypes" DataTextField="StandardizedClausesProvisionsType" DataKeyField="StandardizedClausesProvisionsTypeID">
                                                                    </SearchContext>
                                                                </telerik:RadSearchBox>
                                                           </td>
                                                        </tr>
                                                    </table>
                                                </FormTemplate>
                                            </EditFormSettings>
                                        </MasterTableView>
                                        <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" />
                                    </telerik:RadGrid>
                                    <asp:SqlDataSource ID="sdsClauses" ConnectionString="<%$ ConnectionStrings:ContractsConnectionString %>"
                                        ProviderName="<%$ ConnectionStrings:ContractsConnectionString.ProviderName %>" runat="server"
                                        SelectCommand="SELECT * FROM [Contracts].[dbo].[vwContractEngagementClauses] WHERE ([ContractEngagementID] = @ContractEngagementID)"
                                        InsertCommand="usp_AddContractEngagementClause" InsertCommandType="StoredProcedure"
                                        DeleteCommand="usp_DeleteContractEngagementClause" DeleteCommandType="StoredProcedure">
                                        <SelectParameters>
                                            <asp:ControlParameter ControlID="rtvContractEngagement" Name="ContractEngagementID" PropertyName="SelectedValue" Type="Int32" />
                                        </SelectParameters>
                                        <InsertParameters>
                                            <asp:ControlParameter ControlID="rtvContractEngagement" Name="ContractEngagementID" PropertyName="SelectedValue" Type="Int32" />
                                            <asp:ControlParameter ControlID="rgClauses" Name="StandardizedClausesProvisionsID" PropertyName="SelectedValue" Type="Int32" />
                                        </InsertParameters>
                                        <DeleteParameters>
                                            <asp:ControlParameter ControlID="rgClauses" Name="ContractEngagementID" PropertyName="SelectedValue" Type="Int32" />
                                            <asp:ControlParameter ControlID="rgClauses" Name="StandardizedClausesProvisionsID" PropertyName="SelectedValue" Type="Int32" />
                                        </DeleteParameters>
                                    </asp:SqlDataSource>
                                    <asp:SqlDataSource ID="sdsAvailableClauses" ConnectionString="<%$ ConnectionStrings:ContractsConnectionString %>"
                                        ProviderName="<%$ ConnectionStrings:ContractsConnectionString.ProviderName %>" runat="server"
                                        SelectCommand="SELECT * FROM [Contracts].[dbo].[vwAvailableContractEngagementClauses] WHERE ([ContractEngagementID] = @ContractEngagementID) " >
                                        <SelectParameters>
                                            <asp:ControlParameter ControlID="rtvContractEngagement" Name="ContractEngagementID" PropertyName="SelectedValue" Type="Int32" />
                                        </SelectParameters>
                                    </asp:SqlDataSource>
                                    <asp:SqlDataSource ID="sdsAvailableTypes" ConnectionString="<%$ ConnectionStrings:ContractsConnectionString %>"
                                        ProviderName="<%$ ConnectionStrings:ContractsConnectionString.ProviderName %>" runat="server"
                                        SelectCommand="SELECT * FROM [Contracts].[dbo].[StandardizedClausesProvisionsType] WHERE ([Enabled] = 1) " >
                                    </asp:SqlDataSource>

                                </ItemTemplate>
                            </telerik:RadPanelItem>
                        </Items>
                    </telerik:RadPanelItem>
                </Items>
            </telerik:RadPanelBar> 

 

Daniel
Top achievements
Rank 1
 answered on 08 Apr 2015
2 answers
70 views

Hello,

 I have a radasync control with the expiration of 5 seconds (for testing).  My local version has the temporary location set to ~/temp/ and it works perfectly.  On my remote server, It is set up as a website and the temporary location is set to /temp/.  The files get places there successfully, however, they do not get deleted and there is no way for me to check any kind of logs associated with this server.  I have checked the permissions and it has all the proper permissions set.  What could be causing this?  Any help would be greatly appreciated!

Philip
Top achievements
Rank 1
 answered on 08 Apr 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?