Telerik Forums
UI for ASP.NET MVC Forum
5 answers
701 views
I have a DropDownList that, depending on another value, has anywhere from 5 to 15 values in it and there are about 20-25 total possible values.
It seems a bit ridiculous to go back to the server to get the proper data.
What I would like to do is render ALL of the items to the browser (as an array or something?) and do the filtering on the browser in javascript.
Has anyone done anything like this?  I can't find any examples of cascading DropDownLists that don't have ServerFiltering turned on.
jasonxz
Top achievements
Rank 1
 answered on 01 Jul 2013
1 answer
139 views
Hi,

I'm trying to create a menu in my MVC 4 _Layout.cshtml file.

I started from the example and I hacked it up to show the structure I want.  The problem is that when I use the syntax:
children.Add().Text("Application Home").Action("Index", "Home");

Sometimes the menu item is placed correctly with the action wired up.  Other times the action appears to be causing some kind of error, (page compiles fine), but the item is not shown.  If I remove the Action method, the 
item shows up where it's supposed to.

I've attached the entire menu code.  Can someone please help?

001.@(Html.Kendo().Menu()
002.          .HighlightPath(true)
003.          .Name("Menu")
004.          .Items(items =>
005.          {
006.            items.Add()
007.                .Text("Home")
008.                .Items(children =>
009.                {
010.                    children.Add().Text("Website Home");
011.                    children.Add().Text("Application Home").Action("Index", "Home");
012.                });                                     
013. 
014.              items.Add()
015.                  .Text("Company")
016.                  .Items(children =>
017.                   {
018.                       children.Add().Text("Events")
019.                               .Items(innerChildren =>
020.                               {
021.                                   innerChildren.Add().Text("List");
022.                                   //.Action("Index", "CompanyEvents");
023.                                   innerChildren.Add().Text("Calendar View");
024.                                   //.Action("Calendar", "CompanyEvents");
025.                               });
026. 
027.                       children.Add().Text("Departments");
028.                           //.Action("Index", "Department");
029. 
030. 
031.                       children.Add().Text("Configure")
032.                              .Items(innerChildren =>
033.                              {
034.                                  innerChildren.Add().Text("Benefit Year");
035.                                      //.Action("Index", "BenefitYear");
036.                                  innerChildren.Add().Text("Employee Types").Action("Index", "EmployeeType");
037.                                  innerChildren.Add().Text("Holidays").Action("Index", "Holiday");
038.                                  innerChildren.Add().Text("Job Codes").Action("Index", "JobCode");
039.                                  innerChildren.Add().Text("PTO Request Status Codes").Action("Index", "RequestStatusCode");
040.                                  innerChildren.Add().Text("PTO Acrual").Action("Index", "PTOAcrual");
041.                              });
042.                        
043.                    });
044.               
045.                    items.Add()
046.                        .Text("Employee")
047.                        .Items(children =>
048.                        {
049.                            children.Add().Text("Employee Search");
050.                                //.Action("Index", "Employee");
051.                            children.Add().Text("Employee Grid");
052.                                //.Action("IndexGrid", "Employee");
053. 
054.                            children.Add().Text("PTO Request")
055.                                    .Items(innerChildren =>
056.                                    {
057.                                        innerChildren.Add().Text("List").Action("Index", "PTORequest");
058.                                        innerChildren.Add().Text("New PTO Request").Action("Create", "PTORequest");
059.                                    });
060. 
061.                            children.Add().Text("Edit Personal Data").Action("Edit", "Employee", new { id = EmpId });
062.                            children.Add().Text("Employee Profile")
063.                                    .Items(innerChildren =>
064.                                    {
065.                                        innerChildren.Add().Text("List").Action("Index", "EmployeeProfile");
066.                                        //innerChildren.Add().Text("Edit my Profile").Action("Edit", "EmployeeProfile", new { id = EmpProfileId });
067.                                        innerChildren.Add().Text("Edit my Profile").Action("Edit", "EmployeeProfile");
068.                                    });
069. 
070.                            children.Add().Text("Sanction")
071.                                    .Items(innerChildren =>
072.                                    {
073.                                        innerChildren.Add().Text("List").Action("Index", "Sanction");
074.                                        innerChildren.Add().Text("New Sanction").Action("Create", "Sanction");
075.                                    });
076. 
077.                            children.Add().Text("Attendance Log")
078.                                    .Items(innerChildren =>
079.                                    {
080.                                        innerChildren.Add().Text("List").Action("Index", "AttendanceLog");
081.                                        innerChildren.Add().Text("New Attendance Log").Action("Create", "AttendanceLog");
082.                                    });
083. 
084.                            children.Add().Text("Timesheet")
085.                                    .Items(innerChildren =>
086.                                    {
087.                                        innerChildren.Add().Text("List").Action("Index", "TimeSheet");
088.                                        innerChildren.Add().Text("List (Grid)").Action("IndexGrid", "TimeSheet");
089.                                        innerChildren.Add().Text("New Timesheet").Action("Create", "Timesheet");
090.                                    });
091. 
092.                        });
093. 
094. 
095.                    items.Add()
096.                        .Text("Admin").HtmlAttributes(new { id="admin"})
097.                        .Items(children =>
098.                        {
099.                            children.Add().Text("Company").Action("Index", "Company");
100.                            children.Add().Text("Subscription Level").Action("Index", "SubscriptionLevel");
101.                            children.Add().Text("Subscription Limits").Action("Index", "SubscriptionLimit");
102.                            children.Add().Text("PTO Pool Type").Action("Index", "PTOPoolType");
103.                            children.Add().Text("Absence Code").Action("Index", "AbscenceCode");
104.                            children.Add().Text("Timesheet Status Codes").Action("Index", "TimesheetStatusCode");
105.                            children.Add().Text("Activity Log").Action("Index", "ActivityLog");
106.                            children.Add().Text("Release History").Action("Index", "ReleaseHistory");
107.                            children.Add().Text("Report List").Action("Index", "Report");
108.                            children.Add().Text("Suggestion List").Action("Index", "UserSuggestion");
109.                            children.Add().Text("Create Employee w/o User").Action("Create", "Employee");
110.                        }).Enabled(false);
111.               
112.              //items.Add().Text("About");
113.              //items.Add().Text("Contact");
114.          })
115.        )

Bill
Top achievements
Rank 1
 answered on 01 Jul 2013
4 answers
160 views
I have a grid setup with Ajax loading/editing, etc.  Paging works fine in Chrome and Firefox but in IE10 (10.0.9200.16618) I have to turn on compatibility mode to get it to work.  Without compatibility mode, paging options still show up but grid is showing all records instead of limiting to number of records set with .PageSize setting on grid. After turning on compatibility mode, the paging works but I get errors such as the attached when changing pages or opening the popup editor.

Steps to reproduce:

Paging
  1. Change page and get the first error (attachment named PagingError.png)

Editing
  1. Click the edit button in the grid.
  2. First get the same error as above
  3. Click No to debug prompt
  4. Get second error (attachment named CouldNotContinue.png)
  5. Click No to debug prompt
  6. Click edit button again
  7. Popup editor comes up but no datepicker for the date fields and date field shows "Wed Feb 13 00:00:00 CST 2013"

Any suggestions/ideas on why this is and how to correct it?
Frederick
Top achievements
Rank 1
 answered on 01 Jul 2013
2 answers
376 views
I have a grid that I toggle the visibility of certain columns on and off in certain user situations.

Hiding the columns works fine, but when I add a row to the grid, the columns I hid become visible again as soon as I click the grid's "Add" button.

I'm not sure if this is desired or not, but I'd appreciate a workaround if it's not considered a bug.  Thanks!

Script that hides the columns:
function SetItemGridView(isManual) {
    var itemGrid = $("#ItemGrid").data("kendoGrid");
 
    if (isManual) {
        itemGrid.showColumn("MyTestCol");
    } else {
        itemGrid.hideColumn("MyTestCol");
    }
}
Grid Databound function that calls SetItemGridView:
function ConfigureItemGrid(e) {
    SetItemGridView($("#IsManual").length > 0 ? $("#IsManual").is(":checked") : true);
}

Grid code (simplified for brevity):
@(Html.Kendo().Grid(Model)
    .Name("ItemGrid")
    .Columns(columns =>
    {
        columns.Bound(i => i.MyTestCol).Width(100);
        columns.Command(command =>
        {
            command.Destroy();
        }).Width(60);
    })
    .Events(e =>
    {
        e.DataBound("ConfigureItemGrid");
        e.Edit("onItemGridEdit");
    })
    .ToolBar(toolbar =>
    {
        toolbar.Create();
    })
    .Editable(editable =>
    {
        editable.Mode(GridEditMode.InCell).CreateAt(GridInsertRowPosition.Bottom);
    })
    .Navigatable(navigatable => navigatable.Enabled(true))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .ServerOperation(false)
        .Model(model =>
        {
            model.Id(i => i.ItemModelID);
        })
        .Create(create => create.Action("CreateProducts", "ItemGrid"))
        .Read(read => read.Action("GetProducts", "ItemGrid"))
        .Update(update => update.Action("UpdateProducts", "ItemGrid"))
        .Destroy(destroy => destroy.Action("DeleteProducts", "ItemGrid"))
    )
)
Jark Monster
Top achievements
Rank 1
 answered on 01 Jul 2013
1 answer
142 views
My popup editor contains a dropdown list which fires an onchange event which populates the form with additional custom fields specific to the dropdown value. When the form is submitted, these custom fields do not show up in the FormCollection.

I am guessing the problem lies in the fact that these dynamically added fields are somehow not initialized properly?
Daniel
Telerik team
 answered on 01 Jul 2013
1 answer
276 views
Hi, 

We are using the Grid with sever binding and this works fine on our development environment with both IE8 and IE9.

However, on the corporate network the laptops must have different security settings because the Pager arrows are not displaying. 

We have tracked this down to css file refering to a domain called cloudforce.net

Turns out this file was produced by the Theme builder.

  The documentation on kendoui.com must be wrong as it says "Just copy the CSS output to a .css file and include it in your page." and has no mention of references to  cloudforce.net? 
Dimiter Madjarov
Telerik team
 answered on 01 Jul 2013
1 answer
317 views
Hi:

I am attempting to create a multi-level menu structure that is embodied in a treeview.  I have the same model at each level.  A simple example with two levels is not working.  (See below)

Controller:
public JsonResult JsonIndex()
{
 
    var menus = _db.GetMenus( 0, 1, 1, 0 );
 
    var allMenus = from m in menus
                   where m.MenuId == 1
                   select new
                       {
                           Name = m.MenuName,
                           ImageUrl = m.MenuImageUrl,
                           NavUrl = m.MenuNavUrl,
                           hasChildren = true,
                           children = from m2 in menus
                                where m2.ParentMenuId == m.MenuId
                                select new
                                {
                                   Name = m2.MenuName,
                                   ImageUrl = m2.MenuImageUrl,
                                   NavUrl = m2.MenuNavUrl,
                                   hasChildren = false,
                                }
                       };
 
 
 
 
 
    JsonResult json = Json( allMenus, JsonRequestBehavior.AllowGet );
    return ( json );
}
cshtml:

<script>
     $(document).ready(function () {
          
 
         function populateTreeView() {
             var remoteDataSource = new kendo.data.HierarchicalDataSource({
                 type: "json",
                 transport: {
                     read: "Home/JsonIndex"
                 },
                 schema: {
                     model: {
                         text: "Name",
                         ImageUrl: "ImageUrl",
                         expanded: true,
                         children: "children",
                         hasChildren: "hasChildren",
                         NavUrl: "NavUrl"
                     }
                 }
             });
              
 
             $("#tv").kendoTreeView({
                 id: "tree123",
                 Name: "tree123",
                 dataSource: remoteDataSource,
                 dataTextField: "Name",
                 dataImageUrlField: "ImageUrl",
                 select: onTreeViewSelect 
             });
         }
 
         $(document).ready(function () {
             populateTreeView();
         });
 
     });
 </script>
The actual menu is more than two levels, but I can't even get this simple case to work.  What am I doing wrong?

Thanks,

Terry
Daniel
Telerik team
 answered on 01 Jul 2013
2 answers
170 views
I successfully changed the width of the editor window using:

.Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("PowerEditor")
                            .Window(w=> w.Title("Edit Power Details"))
                            .Window(w=>w.Width(700))
                            .Window(w => w.Height(400))

However I'm finding that there is a div inside the window where my template is hosted with a class of k-edit-form-container .  In kendo.common.min.css this is setup with a width of 400.  Without having to change the css file what would be the correct way to alter the width of that div element similar to what I have already done for the window element?
Frederick
Top achievements
Rank 1
 answered on 28 Jun 2013
2 answers
164 views
Hi,

I am trying to get a grid with hierarchical data working, where the item detail is another grid.  So, I have a grid of "Carriers", and those Carriers all have a list of Comments.  My carrier grid loads fine, however the details do no load.  The sub-grid itself renders, but the Action never gets hit to load the data. 

The project is an MVC 4 project created in Visual Studio 2012 using the Kendo UI for MVC template.

My Controller (The "facade" is simply a class that accesses my data layer and gets my objects, suffice to say, it returns an IList<Carrier> and IList<CarrierComment>)...        
public class HomeController : Controller
    {
        //
        // GET: /Home/
        [HttpGet]
        public ActionResult Index()
        {
            return View();
        }
 
        // Carrier Actions
 
        //
        // POST: /ReadCarriers/
        [HttpPost]
        public ActionResult CarrierRead([DataSourceRequest] DataSourceRequest request)
        {
            try
            {
                var facade = new CarrierFacade();
                IList<Carrier> carriers = facade.GetAllCarriers();
                return Json(carriers.ToDataSourceResult(request));
            }
            catch (DbException ex)
            {
                ViewBag.ErrorMessage = ex.Message;
                return View("Error");
            }
        }
 
        // Comment Actions
 
        //
        // POST: /CommentRead/
        [HttpPost]
        public ActionResult CommentRead([DataSourceRequest] DataSourceRequest request, int carrierId)
        {
            try
            {
                var facade = new CarrierFacade();
                IList<CarrierComment> comments = facade.GetAllComments(carrierId);
                return Json(comments.ToDataSourceResult(request));
            }
            catch (DbException ex)
            {
                ViewBag.ErrorMessage = ex.Message;
                return View("Error");
            }
        }
}
My View....
@using HappyHolidays.WebPortal.BusinessObjects
@{
    ViewBag.Title = "Carrier Directory";
}
 
@(Html.Kendo().Grid<Carrier>()
      .Name("grid")
      .Columns(columns =>
          {
              columns.Bound(p => p.Name).Groupable(false);
              columns.Bound(p => p.Phone1).Groupable(false).Title("Primary Phone");
              columns.Bound(p => p.Phone2).Groupable(false).Title("Secondary Phone");
              columns.Bound(p => p.Fax).Groupable(false);
              columns.Command(command =>
                  {
                      command.Edit();
                      command.Destroy();
                  });
          })
      .ToolBar(toolbar => toolbar.Create())
      .Editable(editable => editable.Mode(GridEditMode.PopUp))
      .Groupable()
      .Pageable()
      .Sortable()
      .Scrollable()
      .Filterable()
      .Selectable()
      .Resizable(resize => resize.Columns(true))
      .Reorderable(reorder => reorder.Columns(true))
      .ClientDetailTemplateId("carrier-detail")
      .DataSource(
          dataSource => dataSource
                            .Ajax()
                            .PageSize(50)
                            .Model(model =>
                                {
                                    model.Id(p => p.CarrierId);
                                    model.Field(p => p.CarrierId).Editable(false);
                                })
                            .Create(update => update.Action("CarrierCreate", "Home"))
                            .Update(update => update.Action("CarrierUpdate", "Home"))
                            .Destroy(update => update.Action("CarrierDelete", "Home"))
                            .Read(read => read.Action("CarrierRead", "Home"))))
 
<script id="carrier-detail" type="text/x-kendo-template">
    @(Html.Kendo().Grid<CarrierComment>()
          .Name("commentsGrid#=CarrierId#")
          .Columns(columns =>
              {
                  columns.Bound(o => o.Comment);
                  columns.Bound(o => o.AddedBy);
                  columns.Bound(o => o.TimeStamp);
              })
          .DataSource(dataSource => dataSource
                                        .Ajax()
                                        .Read(read => read.Action("CommentRead", "Home", new { carrierID = "#=CarrierId#" }))
          )
          .Pageable()
          .Sortable()
          .ToClientTemplate()
          )
</script>
My layout page...
<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/kendo/2013.1.514/kendo.common.min.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/kendo/2013.1.514/kendo.dataviz.min.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/kendo/2013.1.514/kendo.metro.min.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/kendo/2013.1.514/kendo.dataviz.metro.min.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/kendo/2013.1.514/jquery.min.js")"> </script>
    <script src="@Url.Content("~/Scripts/kendo/2013.1.514/kendo.all.min.js")"> </script>
    <script src="@Url.Content("~/Scripts/kendo/2013.1.514/kendo.aspnetmvc.min.js")"> </script>
    <script src="@Url.Content("~/Scripts/kendo.modernizr.custom.js")"> </script>
</head>
<body>
    <div>
        @RenderBody()
    </div>
</body>
</html>
As I said, the carriers grid loads fine, however when I expand a row, the comments grid is empty.  If I place a break point at CommentsRead() in the controller, it never gets called.  I am clearly missing a piece of the puzzle, but I can't figure it out and I've been at it for a day and a half.

Thanks,
Andy
Scott
Top achievements
Rank 1
 answered on 28 Jun 2013
2 answers
355 views
Well, I'm back.  Now I am having trouble displaying an object from the grid data in the client detail template.  This object is returned from the database as a Dictionary in the Controller.  This dictionary is just one data element in the Json being returned.  The dictionary could have one or more key value pairs.  I am using javascript to display this data and something fairly strange is happening.
 First off, here is the client detail template code:
<script id="shipmentDetail-template" type="text/x-kendo-template">
--- lots of template code removed for brevity ---
 
 # var myVal; var cr = data.CustomerReference; for (var key in cr) { if (cr.hasOwnProperty(key)) { myVal = cr[key]; # #= myVal # , # } } #
 
</script>
This is what is rendered:
object Object] , This is customer reference 1 , 0c7c9553-c7ba-4d6e-8f8a-11b060ad5db6 , function (){return i} ,
If I just display the key, here's what I get:
_events , ref1 , uid , parent ,

So I am getting other keys and values that I am not expecting.

There is only one element in the dictionary (data.CustomerReference) at this time.  This is what the Json data looks like when it is sent to the view:
"CustomerReference":{"ref1":"This is customer reference 1"}

Remember this is just a small part of the Json data - here is a larger portion of it:

{"Data":[{"ReturnCode":1,"ReturnMessage":"","ShipmentKey":1,"OriginalABFlag":"A","TrackingNumber":"TrackingNumber1","IsGroundTrackingNumber":false,"GroundTrackingNumber":"GroundTrackingNumber1","Carrier":"Carrier1","DomIntlFlag":"A","DutyorTaxInfo":"DutyorTaxInfo1","ShipDate":"\/Date(1372136400000)\/","OpenClosedFlag":"OpenClosedFlag1","ClosedDate":"\/Date(1372136400000)\/","PostCCReports":"PostCCReports1","InvoiceInfo":{"InvoiceKey":1,"InvoiceNumber":"InvoiceNumber1","InvoiceDate":"\/Date(1372136400000)\/"},"ShipperInformation":{"Name":"Name1","Company":"Company1","Address":{"AddressType":"AddressType1","AddressLine1":"AddressLine11","AddressLine2":"AddressLine21","City":"City1","StateProvince":"StateProvince1","PostalCode":"PostalCode1","CountryCode":"CountryCode1"}},"RecipientInformation":{"Name":"Name1","Company":"Company1","Address":{"AddressType":"AddressType1","AddressLine1":"AddressLine11","AddressLine2":"AddressLine21","City":"City1","StateProvince":"StateProvince1","PostalCode":"PostalCode1","CountryCode":"CountryCode1"}},"OriginalInformation":{"Name":"Name1","Company":"Company1","Address":{"AddressType":"AddressType1","AddressLine1":"AddressLine11","AddressLine2":"AddressLine21","City":"City1","StateProvince":"StateProvince1","PostalCode":"PostalCode1","CountryCode":"CountryCode1"}},"PackageInfo":{"Service":"Service1","PackageDescription":"PackageDescription1","Pieces":1,"ActualWeight":{"WeightType":"X","Weight":1,"WeightUnit":""},"BilledWeight":{"WeightType":"X","Weight":1,"WeightUnit":""},"dimensions":{"DimUOM":"DimUOM1","DimLength":"DimLength1","DimWidth":"DimWidth1","DimHeight":"DimHeight1","DimWeight":1,"DimDivisor":"DimDivisor1"}},"PODInfo":{"PODDate":"\/Date(1372136400000)\/","PODSignature":"PODSignature1","MinutesEarlyLate":1},"ChargesInformationList":[],"OriginalAmount":1,"Credits":1,"Refunds":1,"AmountDue":1,"BillingInfo":{"PaymentMethod":"PaymentMethod1","BillToAccount":"BillToAccount1","CarrierZone":"CarrierZone1","ScanImagePage":1,"BundleNumber":"BundleNumber1","PaymentReference":"PaymentReference1","PaymentRefFileName":"PaymentRefFileName1","CostCenter":"CostCenter1","CostCenterMatchType":"CostCenterMatchType1"},"CustomerReference":{"ref1":"This is customer reference 1"},"ShipCarrierReference":{"carrierref1":"This is Carrier Reference 1"},"GMCInfo":{"GMCFee":0,"CostCenterKey":0,"GroupName":null,"InvoiceGroupName":null,"ExpectedDeliveryDate":null,"DisasterExceptionCode":null,"DimDivisor":null,"DocumentType":null}}
----removed for brevity----
],"Total":3,"AggregateResults":null,"Errors":null}

Any help in this matter is very much appreciated!
Thanks,
Donna
Donna Stewart
Top achievements
Rank 1
 answered on 27 Jun 2013
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
ComboBox
Upload
MultiSelect
ListView
Window
TabStrip
Menu
Installer and VS Extensions
Spreadsheet
AutoComplete
TreeList
Gantt
PanelBar
NumericTextBox
Filter
ToolTip
Map
Diagram
Button
PivotGrid
Form
ListBox
Splitter
Application
FileManager
Sortable
Calendar
View
MaskedTextBox
PDFViewer
TextBox
Toolbar
Dialog
MultiColumnComboBox
DropDownTree
Checkbox
Slider
Switch
Notification
Accessibility
ListView (Mobile)
Pager
Security
ColorPicker
DateRangePicker
Wizard
Styling
Chat
DateInput
MediaPlayer
TileLayout
Drawer
SplitView
Template
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Badge
LinearGauge
ModalView
ResponsivePanel
TextArea
Breadcrumb
ExpansionPanel
Licensing
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
DateTimePicker
AppBar
BottomNavigation
Card
FloatingActionButton
Localization
MultiViewCalendar
PopOver (Mobile)
Ripple
ScrollView (Mobile)
Switch (Mobile)
PivotGridV2
FlatColorPicker
ColorPalette
DropDownButton
AIPrompt
PropertyGrid
ActionSheet (Mobile)
BulletGraph
Button (Mobile)
Collapsible
Loader
CircularGauge
SkeletonContainer
Popover
HeatMap
Avatar
ColorGradient
CircularProgressBar
SplitButton
StackLayout
TimeDurationPicker
Chip
ChipList
DockManager
ToggleButton
Sankey
OTPInput
ChartWizard
SpeechToTextButton
InlineAIPrompt
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
AICodingAssistant
SmartPasteButton
PromptBox
SegmentedControl
LLM Kit
+? more
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?