Telerik Forums
UI for ASP.NET AJAX Forum
3 answers
186 views
Hello,

I have a SlidingZone which load content on demand. The SlidingPanes open, when the user moves the mouse over a tab. In common the user do not hit the right tab and moves the mouse to the desired tab. Now every tab, the user moves over, is opening and starting a ajax-request for loading its content. So my question, how can I configure a delay before the expanding is started?

<telerik:RadPane ID="RightPane" runat="server" Width="22px" Scrolling="None">
    <telerik:RadSlidingZone ID="SlidingZone1" runat="server" Width="22px" SlideDirection="Left"
        ClickToOpen="false" >                        
        <telerik:RadSlidingPane ID="RadSlidingPane2" Title="Lokal" ToolTip="Lokale Gruppen"
            runat="server" Width="355px" IconUrl="/images/folder.png" OnClientExpanded="LoadLocalGroup" EnableDock="false">
            <asp:Panel ID="PanelLocal" runat="server" Height="100%">
                <twoeyes:LocalGroupAllocation ID="alloc_LocalGroup" runat="server" />
            </asp:Panel>
        </telerik:RadSlidingPane>
        <telerik:RadSlidingPane ID="RadSlidingPane3" Title="Global" ToolTip="Globale Gruppen"
            runat="server" Width="355px" IconUrl="/images/folder_blue.png" OnClientExpanded="LoadGlobalGroup" EnableDock="false">
            <asp:Panel ID="PanelGlobal" runat="server" Height="100%">
                <twoeyes:GlobalGroupAllocation ID="alloc_GlobalGroup" runat="server" />
            </asp:Panel>
        </telerik:RadSlidingPane>
    </telerik:RadSlidingZone>
</telerik:RadPane>

Thanks and greetings,
Ronny
Dobromir
Telerik team
 answered on 17 Feb 2011
1 answer
158 views
HI

i am using radmenu.LoadXML(StrXML) to bind data to my rad menu
StrXML=

"<Items Text=" "><Item Text="My Tracker" Url="#"><Item Text="Add My Menu" Url="Add_MyMenu.asp"/><Item Text="Manage My Menu" Url="Manage_MyMenu.asp"/><Item Text="Tracker Queue" Url="Start.asp"/><Item Text="Edit Profile" Url="edit_profile.asp"/><Item Text="Assign Accounts" Url="assign.asp"/><Item Text="Help" Url="Help.asp"/><Item Text="Report Builder" Url="ReportBuilderMain.asp"/><Item Text="DnB Admin Tool" Url="Insured_admin.asp"/></Item><Item Text="Advantage Reports" Url="AdvAcctsByBroker.asp"></Item></Items>"


this is throwing me error .."Invalid operation exception There is an error in XML document (1, 1)."

Please Help

Thanks
Harin
Kate
Telerik team
 answered on 17 Feb 2011
1 answer
52 views

 

I installed RadFormDecorator FREE for ASP.NET AJAX Q3 2010 on a Win 7 x64 machine. The installation got stuck after I received this error message
Access to the path 'C:\Program Files (x86)\Telerik\RadFormDecorator FREE for ASP.NET AJAX Q3 2010\ToolBoxInstaller_log.txt' is denied.
I had to reboot after it remained stuck overnight. Nevertheless, the product appears as though it has been installed. RadFormDecorator shows in my Start menu and the dlls are in my project Bin folder.

I am now trying to uninstall it but the un-installation is failing with the very same error:
Access to the path 'C:\Program Files (x86)\Telerik\RadFormDecorator FREE for ASP.NET AJAX Q3 2010\ToolBoxInstaller_log.txt' is denied.  The file was never written anyway.

Please help! How can I uninstall this? Is there a way to force the uninstallation?
Andrey
Telerik team
 answered on 17 Feb 2011
1 answer
284 views
Hello,

we are using the RadScheduler for quite some time in our Application. So far the data access had been done with Entity Framework 4. In the Load event we assigned an IQueryable<MyAppointment> to thr Scheduler.DataSource. This is straight forward and works just fine. Only problem is that due to any appointments of our clients, the Scheduler is very slow.
To solve that problem we want to populate our scheduler with Wcf Web Service. I don't know if I am missing something, but it doesn't seem to work. I used you many samples and here is what I did. Please tell me if something is wrong:

The implementation of the abstract class "DbSchedulerProviderBase":
I use a a static Business Class to get the Appointments and do CRUD operations. In your examples I saw that you are using direct db connections. Is my approach wrong? Also since I am not using any resources the GetResources-Method returns null.
namespace myOBIS_Entities.SchedulerProvider
{
    public class MyobisSchedulerProvider : DbSchedulerProviderBase
    {
        public override IEnumerable<Appointment> GetAppointments(ISchedulerInfo schedulerInfo)
        {
            IQueryable<myOBIS_Entities.EntityFramework.Appointment> MyoAppointments = CallingEnvironment.Membership.CurrentOrganisation.Appointments;
            List<Appointment> appointments = new List<Appointment>();
  
            foreach (myOBIS_Entities.EntityFramework.Appointment myoApp in MyoAppointments)
            {
                Appointment apt = new Appointment();
                apt.ID = myoApp.AppointmentId;
                apt.Subject = myoApp.Subject;
                apt.Start = myoApp.AppointmentStart;
                apt.End = myoApp.AppointmentEnd;
                apt.DataItem = myoApp;
                apt.ToolTip = "Appointment From WebService";
                appointments.Add(apt);
            }
  
            return appointments.AsEnumerable();
        }
  
        public override void Update(ISchedulerInfo schedulerInfo, Appointment appointmentToUpdate)
        {
            var myoSchedulerInfo = schedulerInfo as MyobisSchedulerInfo;
            AppointmentController.EditAppointment(
                Guid.Parse(appointmentToUpdate.ID.ToString()),
                myoSchedulerInfo.MaxAttendees,
                myoSchedulerInfo.Price,
                myoSchedulerInfo.LastMinutePrice,
                myoSchedulerInfo.DaysBeforeLastMinute);
        }
  
        public override IDictionary<ResourceType, IEnumerable<Resource>> GetResources(ISchedulerInfo schedulerInfo)
        {
            return null;       
          
        }
  
        public override void Insert(ISchedulerInfo schedulerInfo, Appointment appointmentToInsert)
        {
            var myoSchedulerInfo = schedulerInfo as MyobisSchedulerInfo;
  
            AppointmentController.InsertAppointment(
               myoSchedulerInfo.OrganisationId,
               myoSchedulerInfo.EventProductId,
               myoSchedulerInfo.LocationId,
               myoSchedulerInfo.Type,
               appointmentToInsert.Start,
               appointmentToInsert.End,
               myoSchedulerInfo.MaxAttendees,
               myoSchedulerInfo.CurrencyCode,
               myoSchedulerInfo.Price,
               myoSchedulerInfo.LastMinutePrice,
               myoSchedulerInfo.DaysBeforeLastMinute);
        }
  
        public override void Delete(ISchedulerInfo schedulerInfo, Appointment appointmentToDelete)
        {
            AppointmentController.DeleteAppointment(Guid.Parse(appointmentToDelete.ID.ToString()));
        }
    }
}

Next I implement the ISchedulerInfo interface by derivating form the SchedulerInfo class:
Here I need additional Info for my own Appointment objects.
namespace myOBIS_Entities.SchedulerProvider
{
    public class MyobisSchedulerInfo : SchedulerInfo 
    {
        public Guid OrganisationId { get; set; }
        public Guid EventProductId { get; set; }
        public Guid LocationId { get; set; }
        public int Type { get; set; }
        public short MaxAttendees { get; set; }
        public string CurrencyCode { get; set; }
        public double Price { get; set; }
        public double LastMinutePrice { get; set; }
        public int DaysBeforeLastMinute { get; set; }
  
        public MyobisSchedulerInfo() { }
  
        public MyobisSchedulerInfo(
            ISchedulerInfo baseInfo,
            Guid orgId,
            Guid eventProductId,
            Guid locationId,
            int type,
            short maxAttendees,
            string currencyCode,
            double price,
            double lastMinutePrice,
            int daysBeforeLastMinute) :base(baseInfo)
        {
            OrganisationId = orgId;
            EventProductId = eventProductId;
            LocationId = locationId;
            Type = type;
            MaxAttendees = maxAttendees;
            CurrencyCode = currencyCode;
            Price = price;
            LastMinutePrice = lastMinutePrice;
            DaysBeforeLastMinute = daysBeforeLastMinute;
        }
  
    }
}

For the Wcf Service class I also used one of your examples:

namespace myoWebRole.WCF
{   
    [ServiceContract(Namespace = "")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]   
    public class SchedulerWcfService : ISchedulerWcfService
    {
        private WebServiceAppointmentController _controller;
         
        private WebServiceAppointmentController Controller
        {
            get
            {               
                if (_controller == null)
                {
                    _controller =
                        new WebServiceAppointmentController(new MyobisSchedulerProvider());
                }
                return _controller;
            }
        }
          
        [OperationContract]             
        public IEnumerable<AppointmentData> GetAppointments(MyobisSchedulerInfo schedulerInfo)
        {
            return Controller.GetAppointments(schedulerInfo);
        }
  
        [OperationContract]       
        public IEnumerable<AppointmentData> InsertAppointment(MyobisSchedulerInfo schedulerInfo, AppointmentData appointmentData)
        {
            return Controller.InsertAppointment(schedulerInfo, appointmentData);
        }
  
        [OperationContract]       
        public IEnumerable<AppointmentData> UpdateAppointment(MyobisSchedulerInfo schedulerInfo, AppointmentData appointmentData)
        {
            return Controller.UpdateAppointment(schedulerInfo, appointmentData);
        }
  
        [OperationContract]      
        public IEnumerable<AppointmentData> DeleteAppointment(MyobisSchedulerInfo schedulerInfo, AppointmentData appointmentData, bool deleteSeries)
        {
            return Controller.DeleteAppointment(schedulerInfo, appointmentData, deleteSeries);
        }
  
        [OperationContract]      
        public IEnumerable<ResourceData> GetResources(MyobisSchedulerInfo schedulerInfo)
        {           
            return Controller.GetResources(schedulerInfo);
        }
    }
}

in my web.config I register the Wcf Service:

<system.serviceModel>
    <behaviors>     
      <endpointBehaviors>
        <behavior name="SchedulerWcfServiceAspNetAjaxBehavior">
          <enableWebScript/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>   
    <services>
      <service name="SchedulerWcfService">
        <endpoint address="" behaviorConfiguration="SchedulerWcfServiceAspNetAjaxBehavior" contract="ISchedulerWcfService"/>
      </service>
    </services>    
</system.serviceModel>

The RadScheduler in my Scheduler.aspx site gets the following setting:
<WebServiceSettings Path="../../WCF/SchedulerWcfService.svc"  ResourcePopulationMode="ServerSide"  />

I am not using any javascript for appointmentPopulating etc.

When I run my Site with the Radscheduler I get the following Exception:

Source Error:
  
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
  
Stack Trace:
  
[WebException: Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.]
   System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request) +2716592
   System.Net.WebClient.UploadString(Uri address, String method, String data) +266
   Telerik.Web.UI.SchedulerWebServiceClient.GetResources() +653
  
[Exception: An error occurred while requesting resources from the web service. Server responded with: ]
   Telerik.Web.UI.SchedulerWebServiceClient.GetResources() +1225
   Telerik.Web.UI.RadScheduler.BindResourcesFromWebService() +102
   Telerik.Web.UI.RadScheduler.PerformSelect() +117
   Telerik.Web.UI.RadScheduler.CreateChildControls(Boolean bindFromDataSource) +81
   System.Web.UI.Control.EnsureChildControls() +182
   System.Web.UI.Control.PreRenderRecursiveInternal() +60
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4185


I found out that this happens due to the Property ResourcePopulationMode="ServerSide" of the WebServiceSetting.
Deleting this Property I can see the Scheduler but with an alert box saying: "The server method 'Get Resources' failed" and "The server method 'GetAPpointments' failed.

My suspicion is that either my implementation of the DbSchedulerProviderBase is wrong or my Settings in the web.config is wrong.

Any idea?

Thanks,

Peter
Telerik team
 answered on 17 Feb 2011
3 answers
344 views
Hi Team,

        When i use rad gridview, i set customer paging and auto scroll. But i always see white space in end of row and end of column. I'm refer sample code and use default theme (Office 2007).  I gave Page size is 10. Please see my attachment . Kindly, suggestion to me.

<div style="margin-right: auto; margin-left: auto; margin-top: auto; width: 780px; border:solid 1px red">
    <div style="width: 100%; height: auto;" align="left">
        <table width="480px">
            <tr style="height: 20px" align="left">
                <td align="left" width="45%">
                    <asp:Label ID="Label1" runat="server" Text="Search By"></asp:Label>
                    <asp:DropDownList ID="_cboSearchBy" runat="server" Width="150px">
                    </asp:DropDownList>
                </td>
                <td>
                    <asp:TextBox ID="_txtFind" runat="server" Width="139px"></asp:TextBox><asp:Button
                        ID="_btnSearch" runat="server" Text="Search" OnClick="_btnSearch_Click" />
                </td>
            </tr>
        </table>
    </div>
    <div style="width: 100%;" align="left">
        <table align="center">
            <tr>
                <td>
                    <telerik:RadGrid ID="_radGrid" runat="server" AutoGenerateColumns="False" GridLines="None"
                        OnPageIndexChanged="_radGrid_PageIndexChanged" EnableEmbeddedSkins="False" Skin="mscSkinOffice"
                        AllowPaging="True" AllowCustomPaging="True" OnPageSizeChanged="_radGrid_PageSizeChanged"
                        OnDataBound="_radGrid_DataBound" Width="770px">
                        <ClientSettings>
                            <Scrolling AllowScroll="True" UseStaticHeaders="True" FrozenColumnsCount="2"></Scrolling>
                            <Resizing AllowColumnResize="True" />
                        </ClientSettings>
                        <SortingSettings SortedBackColor="BurlyWood" />
                        <MasterTableView DataKeyNames="Key,No">
                            <CommandItemSettings ExportToPdfText="Export to Pdf" />
                            <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                            </RowIndicatorColumn>
                            <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                            </ExpandCollapseColumn>
                            <Columns>
                                <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="SelectColumn"
                                    Resizable="False">
                                    <ItemTemplate>
                                        <asp:LinkButton ID="imgbtnSelected" runat="server" Text="Select"></asp:LinkButton>
                                    </ItemTemplate>
                                    <HeaderStyle Width="50px" />
                                    <ItemStyle HorizontalAlign="Center" />
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="Key" FilterControlAltText="Filter Key column"
                                    HeaderText="Key" SortExpression="Key" UniqueName="Key" Visible="False">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="No" FilterControlAltText="Filter No column" HeaderText="No."
                                    SortExpression="No" UniqueName="No">
                                    <ItemStyle Wrap="False" />
                                    <HeaderStyle Width="80px" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Name" FilterControlAltText="Filter Name column"
                                    HeaderText="Name" SortExpression="Name" UniqueName="Name">
                                    <HeaderStyle Width="150px" />
                                    <ItemStyle Wrap="False" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Location_Code" FilterControlAltText="Filter Location_Code column"
                                    HeaderText="Location" SortExpression="Location_Code" UniqueName="Location_Code">
                                    <HeaderStyle Width="60px" />
                                    <ItemStyle Wrap="False" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Address" FilterControlAltText="Filter Address column"
                                    HeaderText="Address" SortExpression="Address" UniqueName="Address">
                                    <ItemStyle Wrap="False" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Address_2" FilterControlAltText="Filter Address_2 column"
                                    HeaderText="Address 2" SortExpression="Address_2" UniqueName="Address_2">
                                    <ItemStyle Wrap="False" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Phone_No" FilterControlAltText="Filter Phone_No column"
                                    HeaderText="Phone No." SortExpression="Phone_No" UniqueName="Phone_No">
                                    <ItemStyle Wrap="False" />
                                    <HeaderStyle Width="80px" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Contact_No" FilterControlAltText="Filter Contact_No column"
                                    HeaderText="Contact No." SortExpression="Contact_No" UniqueName="Contact_No">
                                    <ItemStyle Wrap="False" />
                                    <HeaderStyle Width="80px" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Contact" FilterControlAltText="Filter Contact column"
                                    HeaderText="Contact" SortExpression="Contact" UniqueName="Contact">
                                    <ItemStyle Wrap="False" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Credit_Limit_LCY" DataFormatString="{0:#,0.#0}"
                                    DataType="System.Decimal" FilterControlAltText="Filter Credit_Limit_LCY column"
                                    HeaderText="Credit Limit LCY" SortExpression="Credit_Limit_LCY" UniqueName="Credit_Limit_LCY">
                                    <HeaderStyle HorizontalAlign="Right" Width="70px" />
                                    <ItemStyle HorizontalAlign="Right" />
                                </telerik:GridBoundColumn>
                            </Columns>                                   
                            <ItemStyle HorizontalAlign="Left" />
                            <AlternatingItemStyle HorizontalAlign="Left" />
                        </MasterTableView>
                        <HeaderStyle Width="200px" HorizontalAlign="Left" />
                        <PagerStyle Mode="NextPrev" PagerTextFormat="{4}  Page <strong>{0}</strong> of <strong>{1}</strong>." />
                        <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_mscSkinOffice" EnableEmbeddedSkins="False">
                        </HeaderContextMenu>
                        <FilterMenu EnableEmbeddedSkins="False" EnableImageSprites="False">
                        </FilterMenu>
                    </telerik:RadGrid>
                </td>
            </tr>
        </table>
    </div>
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="_radGrid">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="_radGrid" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
</div>

Best Regards,
Pavlina
Telerik team
 answered on 17 Feb 2011
1 answer
183 views
I have a module within DotNetNuke that contains a RadMenu and a RadDock.  Items in the menu correspond to some of the RadDocks.  For example, one of the RadDocks is named Dock_MyTasks.  I can pull that name from the RadMenuItem value field.  But when I try to use that name to $Find the Dock control I have problems.  First, DNN adds to the Dock_MyDocks name like this ...

dnn_ctr381_Que2_Dock_MyTasks.  

 

I get around that by calling a Javascript function that returns a control containing the name Dock_MyTasks.  But, when I look at the running HTML, there are multiple HTML elements that contain the name Dock_MyTasks.  They are suffixed with _T, _C, _ClientState.  Here's the JavaScript I'm trying to use.  Everyhing seems to execute just fine until I call the GetClientId function.  What am I doing wrong?

 

 

 

 

 

 

 

 

 

 

function miClicked(sender, e) {

var MenuItem = e.get_item();

var DockName = MenuItem.get_value();

var dock = GetClientId(DockName);

var isClosed = dock.get_closed();

dock.set_closed(!isClosed);

MenuItem.Selected = !MenuItem.Selected;

}

 


// Gets the ASP.NET generated control ID

 

function GetClientId(controlId) {

var count = document.forms[0].length;

var i = 0;

var aspControlId;

for (i = 0; i < count; i++) {

aspControlId = document.forms[0].elements[i].id;

pos = aspControlId.indexOf(controlId);

if (pos >= 0) break;

 

 

}
return document.forms[0].elements[i];

 

}

 

Pero
Telerik team
 answered on 17 Feb 2011
1 answer
101 views
Hi,

I am experiencing problem with RadAjaxPanel. It does complete posback when selected index changed of RadComboBox for the first time. It works fine after. What could be the problem? Here is my code. This code is in User Control.

Thank you..

<telerik:RadAjaxPanel ID="radAjaxPanel1" runat="server" LoadingPanelID="radldpnlContactInfo">
    <asp:Panel ID="Panel1" runat="server" Visible="False">
        <table id="Table1"><tr><td>
                                <telerik:RadComboBox ID="RadComboBox1" runat="server"
                                    AutoPostBack="true" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged">
                                </telerik:RadComboBox>
                            </td>

                            <td valign="top">
                                <br />
                                <asp:Button ID="button1" runat="server" OnClick="button1_Click" Text="Test1"
                                    /><br />
                                <asp:Button ID="button2" runat="server" OnClick="button2_Click" Text="Test2"
                                     />
                            </td>
                        </tr>
                    </table>
</asp:Panel>
</telerik:RadAjaxPanel>

Maria Ilieva
Telerik team
 answered on 17 Feb 2011
4 answers
272 views
I am absulutly despaired. I build a very nice page with your controls.
at the end of the project I have to create a pdf file with all the results from the input of this page.
So i place a ImageButton on the page. This button should not be shown at every situation. So i make it visible or not and put it to the RadAjaxManger. With a third party tool from expertPDF (www.html-to-pdf.net) I want to create my pdf after clicking on the image button.
And than I get the same problem described in this posting:
http://www.codeproject.com/Messages/2617925/ASP-Net-AJAX-Response-Write-and-PDF.aspx

I search for this problem for many hours and I am getting so unhappy now, because I want to filalize my project... please help me ...
thomas
Thomas Gross
Top achievements
Rank 1
 answered on 17 Feb 2011
2 answers
288 views
Hello everyone, I'm wondering if it is possible to use the telerik controls and Ajax to create a web application in which the user navigates using the telerik RadMenu but the page never refreshes. For example, I have a two-column page layout with a header. In the left column of the page I have a RadMenu with several navigation options. When a user clicks one of the navigation options I would like that page to load in the right column of the page without refreshing the entire page. Any help or ideas would be most appreciated

Thanks!

Jason
srivathsan
Top achievements
Rank 1
 answered on 17 Feb 2011
1 answer
136 views
Hi there,
is it possible to skip more than one control in code behind? I just found a way to skip one at a time:
this.masterFormDecorator.ControlsToSkip = FormDecoratorDecoratedControls.Fieldset;
 Thanks for your help.
Georgi Tunev
Telerik team
 answered on 17 Feb 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?