Possible workarounds: - switch to the Classic RenderMode of the TileList: http://docs.telerik.com/devtools/aspnet-ajax/controls/tilelist/mobile-support/render-modes - disable DragAndDrop: http://docs.telerik.com/devtools/aspnet-ajax/controls/tilelist/functionality/drag-and-drop
Sometimes the OnClientClicked event is fired ony after the second tap, the first shows the peek template. Sometimes this can also be observed with the NavigateUrl. It is easiest seen when JS code is executed from the NavigateUrl, e.g.: NavigateUrl="javascript:CDRequestMenu()" This is related to the fact that there are no separate events on a touch device for mouseover, mousedown, click and mouseup.
A possible workaround is to override the CSS for tiles that need no selection abilities: <telerik:RadContentTemplateTile runat="server" ID="RadContentTemplateTile1" EnableSelection="false" CssClass="noSelection"> </telerik:RadContentTemplateTile> .noSelection div.rtileSelectedIcon { display: none; } div.RadTile.rtileSelected.noSelection { border: 2px solid transparent; }
Scrolling by touching the white space between the tiles is possible. If you disable selection scrolling can work as expected. Note that for tablets the scrolling container must be an element outside of the tilelist. A workaround that fixes the majority of the issues is available in the attached sample.
A workaround is to have the tile list use the Default skin and change the tiles classes with JavaScript in the OnClientTileDataBound event <asp:ScriptManager ID="Scriptmanager1" runat="server" /> <telerik:RadSkinManager runat="server" ID="rsm1" Skin="mySkinName"></telerik:RadSkinManager> <telerik:RadClientDataSource runat="server" ID="RadClientDataSource1" PageSize="8" AllowPaging="true"> <DataSource> <WebServiceDataSourceSettings BaseUrl="http://demos.kendoui.com/service/"> <Select Url="products" DataType="JSONP" /> </WebServiceDataSourceSettings> </DataSource> </telerik:RadClientDataSource> <telerik:RadTileList ID="rtl" runat="server" RenderMode="Classic" TileRows="3" SelectionMode="Multiple" OnClientTileDataBound="createTile" OnClientTileClicked="tileClicked" EnableEmbeddedSkins="false" Skin="Default" ClientDataSourceID="RadClientDataSource1"> <DataBindings> <CommonTileBinding TileType="RadContentTemplateTile" DataNameField="ProductID" DataTitleTextField="ProductName" DataBadgeValueField="UnitPRice" Shape="Square" /> <ContentTemplateTileBinding> <ClientContentTemplate> <div style="height: 150px; background-image: url('#= ProductName #');"> <div style="padding: 5px 8px 3px 8px;"> <div>#= ProductName #</div> <div style="font-size:0.8em; width: 134px; word-wrap:break-word; padding-bottom: 8px;">#= UnitsInStock #</div> <div class="field pad" > <img src="images/email.png" title="Can be emailed"> </img> </div> <div class="field pad"> <img src="images/SMS.png" title="Can receive SMS"> </img> </div> <div class="field pad"> <img src="images/noentry.png" title="Has a restricted password"> </img> </div> </div> </div> </ClientContentTemplate> </ContentTemplateTileBinding> <ClientTilePeekTemplate> <div style="height: 150px; background-image: url('styles/#= ProductName #/images/large/user.jpg');"> <div style="padding: 5px 8px 5px 8px; width: 134px; height: 140px; background-color: azure;"> <div>#= ProductName #</div> <div class="field" style="font-size:0.8em; width: 100px;">#= ProductID #</div> <div class="field" style="font-size:0.8em; width: 34px; text-align: right;">#= ProductID #</div> <div class="field" style="font-size:0.8em; width: 100px;">#= ProductName #</div> <div class="field" style="font-size:0.8em; width: 34px; text-align: right;">#= ProductName #</div> <div class="field" style="font-size:0.8em; width: 100px;">#= UnitPrice #</div> <div class="field" style="font-size:0.8em; width: 34px; text-align: right;">#= UnitPrice #</div> <div class="field" style="font-size:0.8em; width: 100px;">#= UnitsInStock #</div> <div class="field" style="font-size:0.8em; width: 34px; text-align: right;">#= Discontinued #</div> </div> </div> </ClientTilePeekTemplate> </DataBindings> </telerik:RadTileList> <script> function createTile(sender, args) { var tileElem = $telerik.$(args.get_tile().get_element()); tileElem.removeClass("RadTile_Default").addClass("RadTile_mySkinName"); } function tileClicked() { } </script>
With the latest release of Firefox version 59.0, we are not able to click on tiles in a tilelist and have them navigate to the specified NavigateURL. We verified this even on the demo on the Telerik site: https://demos.telerik.com/aspnet-ajax/tilelist/examples/overview/defaultcs.aspx Workaround <telerik:RadTileList RenderMode="Lightweight" runat="server" ID="RadTileList1" ScrollingMode="None" Width="640px" SelectionMode="Single" EnableDragAndDrop="true"></telerik:RadTileList> <script> var $T = Telerik.Web.UI; $T.RadTileList.prototype._handleClickAfterDragging = function (draggable, args) { var tile = draggable.tile, shouldHandleClick = this.get_enableDragAndDrop() && !this._isTouchEvent(args._domEvent) && draggable._deltaX < 5 && draggable._deltaY < 5; if (shouldHandleClick) { tile.set_dragStarted(false); if (!$telerik.isMobileSafari) { tile._mouseClickHandler(); } draggable._deltaY = 0; draggable._deltaX = 0; } } </script>
A workaround is to remove the loading sign functionality by placing the following script at the end of the form tag The second override is necessary only if you use the OnClientDataLoaded event to alter the data and add fields in the data object that do not exist in the server response. You need to rename the OnClientDataLoaded method call to use your actual method name. You can find an example of both workarounds and their usage attached. Some additional information: - If possible, move the tiles out of the AJAX request, as this will eliminate all of the problems. Depending on the actual scenario perhaps you can make sure they are not in an update panel (e.g., position them absolutely on the page while keeping their markup out of the partial postback). - consider moving any data formatting logic from the event handler to the template. You can define functions that format the code in the template, not only in the event. An example is available in the attached file. Alternatively, you can return the data formatted from the web service. - consider reducing the time interval for the requests, because after the AJAX request, only 1 of 2 requests will update the tile UI.
Closed as duplicate of https://feedback.telerik.com/Project/108/Feedback/Details/125717-fix-radlivetile-throws-a-javascript-error-after-being-disposed-in-a-partial-postb
Here is a set of rules to get back the colors div.RadTile_Bootstrap { color: #fff; background-color: #337ab7; } div.RadTile_BlackMetroTouch, div.RadTile_Metro { color: #fff; background-color: #25a0da; } div.RadTile_Office2010Blue { color: #333; background-color: #dbe3ee; } div.RadTile_Office2010Black { color: #fff; background-color: #6f6f6f; } div.RadTile_Office2010Silver { color: #333; background-color: #e2e5e9; } div.RadTile_Outlook { color: #333; background-color: #d6e6f4; } div.RadTile_Silk { color: #fff; background-color: #14afca; } div.RadTile_Simple { color: #333; background-color: #ececec; } div.RadTile_Sunset { color: #333; background-color: #e88d49; } div.RadTile_Telerik { color: #333; background-color: #eee; } div.RadTile_Vista { color: #333; background-color: #eff7fc; } div.RadTile_Web20 { color: #333; background-color: #e7f1ff; } div.RadTile_WebBlue { color: #333; background-color: #5d9fb7; } div.RadTile_Windows7 { color: #1e395b; background-color: #b8cbde; }
The client-side setter for EnableDragAndDrop still lets the user drag tiles, even though the other tiles are not reordered, and releasing the tile puts it back in its original place. Dragging should not be available at all.
The Click event is not raised at all.
At present, all events are fired when a tile is clicked, because dragging starts immediately.
When clicking a tile to navigate, the drag/drop events all fire.
If a target field is not provided in the data source and you need all tiles to have the same Target, you can use the TileCreated event to set this property. A sample is attached.
Tap on a tile to execute its navigation or rather some JavaScript. Expected behavior is for the click event to fire. Actual result is that the tile's drag is initiated - the DragStart event on the tilelist fires and the tile gets the big z-index, and you can drag it around. This behavior does not manifest when there is only one tilegroup. Setting EnableDragAndDrop to false will alleviate this, but will remove the drag-and-drop functionality.