Telerik Forums
Kendo UI for jQuery Forum
2 answers
194 views
Hi there,

I am abusing the popover for a menu-like view. So I have my popover which has a listview with some menu entries. Now I'd like to navigate to a different view when clicking an entry. It works, but the new view is loaded INSIDE the popover. Instead I want it to load in the "PARENT" view. How can I achieve that?
This is how the hierarchy looks like:
<div data-role="view"> <!-- this would be the view to load the new view -->
    <div data-role="popover">
        <div data-role="view"> <!-- this is where it's loaded into -->
            <ul data-role="listview">
                <li><a href="view/TabView.html">Tab</a></li>
            </ul>
        </div>
    </div>
</div>

//edit: I noticed the following behavior when playing around with the listview's links:

<li><a data-transition="fade" href="view/TabView.html">inside</a></li> //opens inside the popover

<li><a data-rel="external" data-transition="fade" href="view/TabView.html">ext</a></li> //doesnt open at all on the phone

<li><a data-rel="external" data-transition="fade" href="#view/TabView.html">ext</a></li> //(notice the #) doesnt open at all on the phone but has exactly the desired behavior on the desktop

any suggestions?

Dennis
Top achievements
Rank 1
 answered on 16 Oct 2012
0 answers
66 views
i validate the the text box entry by checking the data existence in database . I write a json validation function in custom validation area   .. and return proper data and  validation also work . But it not show validation message when i first time escape the textbox ,It show wthen i click in text box 2nd time and escape again.. Please find put the reason and help me to do remote validation.

jQUERY
-----------
<script language="javascript" type="text/javascript">
    var b1 = new Boolean(1);
    var b2 = new Boolean(1);
var R_rank=null;
$(document).ready(function () {

    //Culture Declaration for Date Validation
    kendo.culture("en-GB");

    //KendoUi Validation

    var validatable = $("#ApplicationNo").kendoValidator({
        onfocusout: false,
        onkeyup: false,
        rules: {
            ApplicationNo: function (input) {
                $.post("/Home/CheckAppNo", { ApplicationNo: $("#ApplicationNo").val() }, function (data) { b1 = data; })
                return b1;
            }

        },

        messages: {
            ApplicationNo: "Already Exist"
        }
    }).data("kendoValidator");

    var validatable = $("#ReferredBy").kendoValidator({
        onfocusout: false,
        onkeyup: false,
        rules: {
            //ApplicationNo: function (input) { return CheckApplicationNo(); }input.val() === "2";
            ReferredBy: function (input) {
                $.post("/Home/ReferrerDetails", { InternalCode: $("#ReferredBy").val() }, function (data) {
                    R_rank = data.R_rank;
                    if (R_rank == null) { b2 = false; }
                    else { b2 = true; }
                })
                return b2;

            }
        },

        messages: {
            ReferredBy: "This is not a valid code "

        }
    }).data("kendoValidator");


    //KendoUi Validation in submit button click
    var validatable = $(".k-content").kendoValidator().data("kendoValidator");


    $("#SubmitAgent").click(function () {
        if (validatable.validate()) {

        }
        else {
            //alert("Check The Data.");
            e.preventDefault();
        }
    });


    function CheckApplicationNo(input1) {
        return {
            b1: $.post("/Home/CheckAppNo", { ApplicationNo: $(input1).val() }, function (data) { return data; })

        }
    }




});

</script>


CSHTML
---------------

 <tr>
                                    <td class="EditlableTD">
                                        @Html.LabelFor(model => model.BranchCode)
                                    </td>
                                    <td class="EditTextBoxTD">
                                  
                                        @(Html.Kendo().DropDownList()
                    .Name("BranchCode")
                    .OptionLabel("Select Branch...")
                    .DataTextField("BranchName")
                    .DataValueField("ID")
                    //.BindTo(ViewBag.Branch)
                    .DataSource(source =>
                    {
                        source.Read(read =>
                            {
                                read.Action("ShowBranch", "Home");

                            });
                    })
                    )
                                       @* @Html.ValidationMessageFor(model => model.BranchCode)*@
                                        @* <span style="color:Red">Name</span>*@
                                        
                                    </td>
                                </tr>
                                <tr>
                                    <td class="EditlableTD">
                                        @Html.LabelFor(model => model.ReferredBy)
                                    </td>
                                    <td class="EditTextBoxTD">
                                        <input type="text" id="ReferredBy" name="ReferredBy" class="k-textbox"  />
                                        <span id="R_name" style="color: red">
            </span><span id="R_rank" style="color: red"></span><input type="hidden" id="R_Ranks" name="R_Ranks" />
                                    </td>
                                </tr>
                                <tr>
                                    <td class="EditlableTD">
                                        Rank
                                    </td>
                                    <td class="EditTextBoxTD">
                                    <script>

                       function filterRank() {
                           return {
                               R_Ranks: $("#R_Ranks").val()
                              };
                       }
                    
                    </script>  
                      @(Html.Kendo().DropDownList()
                                      .Name("Rank")
                                      .OptionLabel("Select Rank...")
                                      .DataTextField("Rk_Name")
                                      .DataValueField("Rk_InternalCode")
                                      .DataSource(source =>
                                      {
                                          source.Read(read =>
                                          {
                                              read.Action("ShowSelectedRank", "Home")
                                                 .Data("filterRank");
                                          })
                                          .ServerFiltering(true);
                                      })
                                        .Enable(true)
                                        
                                        .AutoBind(false)
                                        //.CascadeFrom("BranchCode")
                                        .HtmlAttributes(new {style="width:200px;" })
                                        

                       )
                    
                                 
                                        @* <span style="color:Red">Name</span>*@
                                    </td>
                                </tr>
                                <tr>
                                    <td class="EditlableTD">
                                        @Html.LabelFor(model => model.ApplicationNo)
                                    </td>
                                    <td class="EditTextBoxTD">
                                      
                                        <input id="ApplicationNo" name="ApplicationNo" class="k-textbox"  />
                                    
                                    </td>
                                </tr>
Pinaki
Top achievements
Rank 1
 asked on 16 Oct 2012
0 answers
65 views
I'm curious if there is a way to see the final generated URL the datasource transport uses when there are filters in place.

We have tests around using this grid and interacting with the WCF Data Service and we'd like the URL to be a verification point.  



Dennis
Top achievements
Rank 1
 asked on 16 Oct 2012
4 answers
63 views
December 18th has a data-value of 18-11-12 instead of 18-12-12, why is that?
Georgi Krustev
Telerik team
 answered on 16 Oct 2012
3 answers
624 views
This is odd behavior. I'm not quite sure what it is I'm doing wrong, as I've reproduced the example contained within the Kendo UI MVC distribution package. I have two combo boxes. The second combo box cascades from the first. The controller action that populates the second combo box does fire, the expected query parameter taken from the value of the first combo box is passed to it, and the browser does receive the expected JSON returned from the controller. However, the second combo box remains empty. Here is my code:

Controller:
public JsonResult GetPosts()
{ return Json(_manager.GetPosts().Select(p => new { PostName = p.Name, PostValue = p.Id }), JsonRequestBehavior.AllowGet); }
 
public JsonResult GetUnits(string postId)
{
 Guid id;
 
 if (string.IsNullOrEmpty(postId) || !Guid.TryParse(postId, out id))
 { return null; }
 
 return Json(_manager.GetUnits(id).Select(u => new { UnitName = u.Name, UnitValue = u.Id }), JsonRequestBehavior.AllowGet);
}

View:
@(Html.Kendo().ComboBox()
         .Name("Post")
         .DataTextField("PostName")
         .DataValueField("PostValue")
         .DataSource(ds => ds.Read("GetPosts", "Shared")))
 
@(Html.Kendo().ComboBox()
         .Name("Unit")
         .DataTextField("UnitName")
         .DataValueField("UnitValue")
         .DataSource(ds => ds.Read(read => read.Action("GetUnits", "Shared").Data("filterUnits")).ServerFiltering(false))
         .CascadeFrom("Post"))
 
<script type="text/javascript">
  function filterUnits() {
    return {
      postId: $('#Post').val()
    };
  }
</script>

The JSON returned by the GetUnits(string) controller action to the browser is:
[{"UnitName":"Defense Media Activity","UnitValue":"b39e64f3-60a4-4c48-aa98-201229c88302"},{"UnitName":"Kimbrough","UnitValue":"f4d88089-32d7-4dd4-ab6f-37a3cb4d0142"}]

Thank you for any assistance you can provide.

UPDATE

If I change the second UI control from a ComboBox to a DropDownList, it renders the options as expected. Any reason why the ComboBox does not get populated and render the data it receives?
Georgi Krustev
Telerik team
 answered on 16 Oct 2012
0 answers
187 views
Hello,

I am binding the grid with auto generated columns. and now I want to handle the row selected event.could anyone help on this.  please find my view below

@{Html.Kendo().Grid(Model)

        .Name("GridSam")
        .DataSource(dataSource => dataSource
            .Server()
                     .PageSize(20)

                )

        .Columns(c =>
        {
            c.AutoGenerate(column =>
            {
                //customize autogenereted column's settings                                                   
                column.Width = "150px";

            });
        })

          .Resizable(resizing => resizing.Columns(true))
          .Scrollable(scrolling => scrolling.Enabled(true).Height(600))
          .Sortable(sorting => sorting.Enabled(true))
          .Groupable(grouping => grouping.Enabled(true))
          .Filterable(filtering => filtering.Enabled(true))
          .Reorderable(reorder => reorder.Columns(true))
          .Pageable(Pageable => Pageable.Enabled(true).PreviousNext(true).Input(true).PageSizes(true))

          .Render();
                }



Regards,
Ravi.
Ravi
Top achievements
Rank 1
 asked on 16 Oct 2012
1 answer
630 views
Hello I have a problem displaying the grid. My code is not working properly after you run the page is not displayed correctly. You can look at the pictures.

Is my code

<script type="text/javascript">
    $(document).ready( function () {
         
        var bidDataSource = new window.kendo.data.DataSource({
            transport: {
                read: {
                    dataType: "json",
                    type: "POST",
                    url: '@Url.Action("NewBids","Bid")'
                },
                schema: {
                    model: {
                        id: "Id"
                    }
                }
            }
        });
         
 
        var bidsGrid = $("#bidsGrid").kendoGrid({
            dataSource: bidDataSource,
            height: 250,
            pageable: true,
            scrollable: false,
            selectable: "row",
            columns: [
                {
                    field: "Id",
                    width: 90,
                    title: "Id"
                }
            ]
             
        });
 
 
    });
 
</script>
 
 
<div id="bidsGrid"></div>


Is code generate kendo

<html><head>
        <title>Новые заявки</title>
 
         
         
        <script src="/static/Scripts/jquery-1.8.2.js" type="text/javascript"></script><style type="text/css"></style>
 
        <script src="/static/Scripts/kendo/2012.2.710/kendo.web.min.js" type="text/javascript"></script>
         
                <link href="/static/Content/kendo/2012.2.710/kendo.default.min.css" rel="stylesheet" type="text/css">
        
  
        
         
         
         
       
    <style id="wrc-middle-css" type="text/css">.wrc_whole_window{   display: none;  position: fixed;    z-index: 2147483647;    background-color: rgba(40, 40, 40, 0.9);    word-spacing: normal !important;    margin: 0px !important; padding: 0px !important;    border: 0px !important; left: 0px;  top: 0px;   width: 100%;    height: 100%;   line-height: normal !important; letter-spacing: normal !important;  overflow: hidden;}.wrc_bar_window{  display: none;  position: fixed;    z-index: 2147483647;    background-color: rgba(60, 60, 60, 1.0);    word-spacing: normal !important;    font-family: Segoe UI, Arial Unicode MS, Arial, Sans-Serif; margin: 0px !important; padding: 0px !important;    border: 0px !important; left: 0px;  top: 0px;   width: 100%;    height: 40px;   line-height: normal !important; letter-spacing: normal !important;  color: white !important;    font-size: 13px !important;}.wrc_middle {   display: table-cell;    vertical-align: middle; width: 100%;}.wrc_middle_main { font-family: Segoe UI, Arial Unicode MS, Arial, Sans-Serif; font-size: 14px;    width: 600px;   height: auto;    background: url(chrome-extension://icmlaeflemplmjndnaapfdbbnpncnbda/skin/images/background-body.jpg) repeat-x left top;    background-color: rgb(39, 53, 62);  position: relative; margin-left: auto;  margin-right: auto; text-align: left;}.wrc_middle_tq_main { font-family: Segoe UI, Arial Unicode MS, Arial, Sans-Serif; font-size: 16px;    width: 615px;   height: 460px;    background: url(chrome-extension://icmlaeflemplmjndnaapfdbbnpncnbda/skin/images/background-sitecorrect.png) no-repeat;    background-color: white;    color: black !important;    position: relative; margin-left: auto;  margin-right: auto; text-align: center;}.wrc_middle_logo {    background: url(chrome-extension://icmlaeflemplmjndnaapfdbbnpncnbda/skin/images/logo.jpg) no-repeat left bottom;    width: 140px;    height: 42px;    color: orange;    display: table-cell;    text-align: right;    vertical-align: middle;}.wrc_icon_warning { margin: 20px 10px 20px 15px;    float: left;    background-color: transparent;}.wrc_middle_title {    color: #b6bec7;   height: auto;    margin: 0px auto;  font-size: 2.2em;   white-space: nowrap;    text-align: center;}.wrc_middle_hline {    height: 2px; width: 100%;    display: block;}.wrc_middle_description {   text-align: center; margin: 15px;   font-size: 1.4em;   padding: 20px;  height: auto;   color: white;   min-height: 3.5em;}.wrc_middle_actions_main_div {   margin-bottom: 15px;    text-align: center;}.wrc_middle_actions_blue_button div {   display: inline-block;  width: auto;    cursor: Pointer;    margin: 3px 10px 3px 10px;  color: white;   font-size: 1.2em;   font-weight: bold;}.wrc_middle_actions_blue_button {    -moz-appearance: none;  border-radius: 7px; -moz-border-radius: 7px/7px;    border-radius: 7px/7px; background-color: rgb(0, 173, 223) !important;  display: inline-block;  width: auto;    cursor: Pointer;    border: 2px solid #00dddd;  padding: 0px 20px 0px 20px;}.wrc_middle_actions_blue_button:hover { background-color: rgb(0, 159, 212) !important;}.wrc_middle_actions_blue_button:active { background-color: rgb(0, 146, 200) !important;  border: 2px solid #00aaaa;}.wrc_middle_actions_grey_button div {    display: inline-block;  width: auto;    cursor: Pointer;    margin: 3px 10px 3px 10px;  color: white !important;    font-size: 15px;    font-weight: bold;}.wrc_middle_actions_grey_button {    -moz-appearance: none;  border-radius: 7px; -moz-border-radius: 7px/7px;    border-radius: 7px/7px; background-color: rgb(100, 100, 100) !important;    display: inline-block;  width: auto;    cursor: Pointer;    border: 2px solid #aaaaaa;  text-decoration: none;  padding: 0px 20px 0px 20px;}.wrc_middle_actions_grey_button:hover { background-color: rgb(120, 120, 120) !important;}.wrc_middle_actions_grey_button:active {   background-color: rgb(130, 130, 130) !important;    border: 2px solid #00aaaa;}.wrc_middle_action_low { font-size: 0.9em;   white-space: nowrap;    cursor: Pointer;    color: grey !important; margin: 10px 10px 0px 10px; text-decoration: none;}.wrc_middle_action_low:hover {   color: #aa4400 !important;}.wrc_middle_actions_rest_div {   padding-top: 5px;   white-space: nowrap;    text-align: center;}.wrc_middle_action {    white-space: nowrap;    cursor: Pointer;    color: red !important;  font-size: 1.2em;   margin: 10px 10px 0px 10px; text-decoration: none;}.wrc_middle_action:hover {   color: #aa4400 !important;}</style><script id="wrc-script-middle_window" type="text/javascript" language="JavaScript">var g_inputsCnt = 0;var g_InputThis = new Array(null, null, null, null);var g_alerted = false;/* we test the input if it includes 4 digits   (input is a part of 4 inputs for filling the credit-card number)*/function is4DigitsCardNumber(val){ var regExp = new RegExp('[0-9]{4}');    return (val.length == 4 && val.search(regExp) == 0);}/* testing the whole credit-card number 19 digits devided by three '-' symbols or   exactly 16 digits without any dividers*/function isCreditCardNumber(val){  if(val.length == 19)    {       var regExp = new RegExp('[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}');     return (val.search(regExp) == 0);   }   else if(val.length == 16)   {       var regExp = new RegExp('[0-9]{4}[0-9]{4}[0-9]{4}[0-9]{4}');        return (val.search(regExp) == 0);   }   return false;}function CheckInputOnCreditNumber(self){  if(g_alerted)       return false;   var value = self.value; if(self.type == 'text') {       if(is4DigitsCardNumber(value))      {           var cont = true;            for(i = 0; i < g_inputsCnt; i++)                if(g_InputThis[i] == self)                  cont = false;           if(cont && g_inputsCnt < 4)         {               g_InputThis[g_inputsCnt] = self;                g_inputsCnt++;          }       }       g_alerted = (g_inputsCnt == 4);     if(g_alerted)           g_inputsCnt = 0;        else            g_alerted = isCreditCardNumber(value);  }   return g_alerted;}function CheckInputOnPassword(self){  if(g_alerted)       return false;   var value = self.value; if(self.type == 'password') {       g_alerted = (value.length > 0); }   return g_alerted;}function onInputBlur(self, bRatingOk, bFishingSite){  var bCreditNumber = CheckInputOnCreditNumber(self); var bPassword = CheckInputOnPassword(self); if((!bRatingOk || bFishingSite == 1) && (bCreditNumber || bPassword) )  {       var warnDiv = document.getElementById("wrcinputdiv");       if(warnDiv)     {           /* show the warning div in the middle of the screen */          warnDiv.style.left = "0px";         warnDiv.style.top = "0px";          warnDiv.style.width = "100%";           warnDiv.style.height = "100%";          document.getElementById("wrc_warn_fs").style.display = 'none';          document.getElementById("wrc_warn_cn").style.display = 'none';          if(bFishingSite)                document.getElementById("wrc_warn_fs").style.display = 'block';         else                document.getElementById("wrc_warn_cn").style.display = 'block';         warnDiv.style.display = 'table';        }   }}</script></head>
    <body>
       
         
 
 
<script type="text/javascript">
    $(document).ready( function () {
         
        var bidDataSource = new window.kendo.data.DataSource({
            transport: {
                read: {
                    dataType: "json",
                    type: "POST",
                    url: '/Bid/NewBids'
                },
                schema: {
                    model: {
                        id: "Id"
                    }
                }
            }
        });
         
 
        var bidsGrid = $("#bidsGrid").kendoGrid({
            dataSource: bidDataSource,
            height: 250,
            pageable: true,
            scrollable: false,
            selectable: "row",
            columns: [
                {
                    field: "Id",
                    width: 90,
                    title: "Id"
                }
            ]
             
        });
 
 
    });
 
</script>
 
 
<div id="bidsGrid" data-role="grid" class="k-grid k-widget" tabindex="0" style="height: 250px; "><table cellspacing="0" style="height: auto; " class="k-focusable k-selectable" data-role="selectable"><colgroup><col style="width:90px"></colgroup><thead class="k-grid-header"><tr><th data-field="Id" data-title="Id" class="k-header">Id</th></tr></thead><tbody><tr data-uid="2a202132-59d1-4494-ac0b-986594c09da8"><td>1</td></tr></tbody></table><div class="k-pager-wrap k-grid-pager" data-role="pager"><a href="#" title="Go to the first page" class="k-link" data-page="1"><span class="k-icon k-i-seek-w">Go to the first page</span></a><a href="#" title="Go to the previous page" class="k-link" data-page="NaN"><span class="k-icon k-i-arrow-w">Go to the previous page</span></a><ul class="k-pager-numbers k-reset"><li><a href="#" class="k-link" data-page="1">1</a></li></ul><a href="#" title="Go to the next page" class="k-link" data-page="NaN"><span class="k-icon k-i-arrow-e">Go to the next page</span></a><a href="#" title="Go to the last page" class="k-link" data-page="1"><span class="k-icon k-i-seek-e">Go to the last page</span></a><span class="k-pager-info k-label">NaN - NaN of 1 items</span></div></div>
 
 
        
     
 
</body></html>

timon
Top achievements
Rank 1
 answered on 16 Oct 2012
0 answers
89 views
Hi,

I'm able to perform column level grouping over the datasource with the below syntax.

var products = [
                { "id": 1, "type": "fruits", "name": "apple" },
                { "id": 2, "type": "fruits", "name": "banana" },
                { "id": 3, "type": "fruits", "name": "grapes" },
                { "id": 4, "type": "vegetables", "name": "carrot" },
                { "id": 5, "type": "vegetables", "name": "tomato" },
                { "id": 6, "type": "vegetables", "name": "brinjal" }
            ];
  
$("#grid").kendoGrid({ 
    dataSource: { 
        data: products, 
        group: { 
            field: "type" 
        
    
});


But the output I require is ln this format.

------------------------------
Type                Name
------------------------------
Fruits               Apple
                        Banana
                        Grapes
Vegetables      Carrot
                        Tomato
                        Brinjal

Could you please suggest in how do I proceed further? Is a grid required in the first place or should I use a list view?

Thanks in advance..

Aditya
Top achievements
Rank 1
 asked on 16 Oct 2012
0 answers
81 views
Hi,

I am using kendo ui grid. In that grid i am having 4 values which are coming from database. But all the values are initially in the 
display mode. But i want to put all the records in the grid to edit mode. And when i save the changes from the tool bar 
the saved record should also be in the edit mode. Hope you understand my question

Is it possible using kendo ui. Please provide me an example or sample.

Thanks and Regards,
Srinivas
srinivas
Top achievements
Rank 1
 asked on 16 Oct 2012
1 answer
753 views
I am getting the following error when binding my Model to a Kendo Grid.

A circular reference was detected while serializing an object of type [my type]

What is strange is that the type of the object that is causing the circular reference is not the same as the type of object of the Model for this page... ie:

@model IEnumerable<Models.Type>
Is not the same type that is causing this error. What could be the problem?

@(Html.Kendo().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Name).Groupable(false);
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()  
    .DataSource(dataSource => dataSource      
        .Ajax()
        .ServerOperation(false)      
     )
)
Vladimir Iliev
Telerik team
 answered on 16 Oct 2012
Narrow your results
Selected tags
Tags
Grid
General Discussions
Charts
Data Source
Scheduler
DropDownList
TreeView
MVVM
Editor
Window
DatePicker
Spreadsheet
Upload
ListView (Mobile)
ComboBox
TabStrip
MultiSelect
AutoComplete
ListView
Menu
Templates
Gantt
Validation
TreeList
Diagram
NumericTextBox
Splitter
PanelBar
Application
Map
Drag and Drop
ToolTip
Calendar
PivotGrid
ScrollView (Mobile)
Toolbar
TabStrip (Mobile)
Slider
Button (Mobile)
Filter
SPA
Drawing API
Drawer (Mobile)
Globalization
LinearGauge
Sortable
ModalView
Hierarchical Data Source
Button
FileManager
MaskedTextBox
View
Form
NavBar
Notification
Switch (Mobile)
SplitView
ListBox
DropDownTree
PDFViewer
Sparkline
ActionSheet
TileLayout
PopOver (Mobile)
TreeMap
ButtonGroup
ColorPicker
Pager
Styling
MultiColumnComboBox
Chat
DateRangePicker
Dialog
Checkbox
Timeline
Drawer
DateInput
ProgressBar
MediaPlayer
ImageEditor
TextBox
OrgChart
Effects
Accessibility
PivotGridV2
ScrollView
BulletChart
Licensing
QRCode
ResponsivePanel
Switch
Wizard
CheckBoxGroup
TextArea
Barcode
Breadcrumb
Collapsible
Localization
MultiViewCalendar
Touch
RadioButton
Stepper
Card
ExpansionPanel
Rating
RadioGroup
Badge
Captcha
Heatmap
AppBar
Loader
Security
TaskBoard
Popover
DockManager
FloatingActionButton
CircularGauge
ColorGradient
ColorPalette
DropDownButton
TimeDurationPicker
ToggleButton
TimePicker
BottomNavigation
Ripple
SkeletonContainer
Avatar
Circular ProgressBar
FlatColorPicker
SplitButton
Signature
Chip
ChipList
VS Code Extension
AIPrompt
PropertyGrid
Sankey
Chart Wizard
OTP Input
SpeechToTextButton
InlineAIPrompt
StockChart
ContextMenu
DateTimePicker
RadialGauge
ArcGauge
AICodingAssistant
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?