Unplanned
Last Updated: 01 Jun 2022 15:55 by Steven
Created by: Steven
Comments: 0
Category: TileLayout
Type: Feature Request
2
I want to prevent an individual TileLayoutItem from being resized or reordered when Reorderable and Resizable are enabled on component level.
Duplicated
Last Updated: 03 May 2022 11:40 by ADMIN

Hi,

We would like to request a feature wherein we can drag the tile on empty spaces and triggers the reordering of tiles. To make it some kind of docking feature on the TileLayout.

So far the workaround we see to put the tiles on those empty spaces is when you drag the tile in between tiles (between conversion rate and page views tiles) and if you drag it again on the same row it will reorder fine. Another one is to drag the tile on another tile (drag into most viewed pages tile) it will reorder the dragged tile on that empty space beside the existing tile.

https://demos.telerik.com/blazor-ui/tilelayout/overview

Here's a sample of what we did:

Declined
Last Updated: 21 Apr 2022 11:56 by ADMIN
Created by: Adrian
Comments: 3
Category: TileLayout
Type: Feature Request
3

Hi,

Is there a way we could drag the tile on those empty spaces in the tile layout? I've tried the samples in your page and it seems reorderable only reorders the tiles. Is it possible to put an option that we might be able to drag those tiles to the empty spaces instead of dragging them to another tile to switch places? See attached file as reference on what I meant.

Unplanned
Last Updated: 14 Feb 2022 12:41 by Paul Bursch

I am using a couple buttons in the HeaderTemplate of the tiles. It looks like their click events are sometimes not honored due to a mix up with the draggable event of the tiles when they are reorderable. Please prevent the component from stopping the click event in the tile header.

---

ADMIN EDIT

---

As a workaround for the time being, you can stop the propagation of the container wrapping the clickable elements:

 

<!-- suppress-error allows the script tag to be in a Razor file -->
<script suppress-error="BL9992">
  window.stopPropagation = (e) => {
    e.stopPropagation();
  }
</script>

<TelerikTileLayout Columns="3"
                   RowHeight="150px"
                   Resizable="true"
                   Reorderable="true">
    <TileLayoutItems>
        @{
            foreach (var tile in Tiles)
            {
                <TileLayoutItem @key="@tile">
                    <HeaderTemplate>
                        <div class="d-flex flex-col w-100 justify-content-between">
                            <div class="d-flex flex-row w-75">
                                <div class="p-2"><strong>@tile.Title</strong></div>
                            </div>
                            <div onpointerdown="stopPropagation(event)"
                                 class="d-flex flex-row w-25 justify-content-end">
                                <TelerikButton Icon="edit" Title="Edit Tile" Class="k-flat"
                                       OnClick="@(()=>EditTile(tile))">
                                </TelerikButton>
                                <TelerikButton Icon="close" Title="Delete Tile" Class="k-flat"
                                       OnClick="@(()=>DeleteTile(tile))">
                                </TelerikButton>
                            </div>
                        </div>
                    </HeaderTemplate>
                    <Content>@tile.Content</Content>
                </TileLayoutItem>
            }
        }
    </TileLayoutItems>
</TelerikTileLayout>

Event log: <TelerikButton Icon="clear" OnClick="@ClearLog">Clear Log</TelerikButton>

@if (EventLog != null)
{
    <ul>
        @foreach (string log in EventLog)
        {
            <li>
                @log
            </li>
        }
    </ul>
}

@code {
    private List<TileData> Tiles { get; set; }

    List<string> EventLog { get; set; } = new List<string>();

    async void EditTile(TileData tile)
    {
        EventLog.Add("Edit fired for " + tile.Title);        
    }

    async void DeleteTile(TileData tile)
    {
        EventLog.Add("Delete fired for " + tile.Title);
    }

    void ClearLog()
    {
        EventLog = new List<string>();
    }
    protected override void OnInitialized()
    {
        Tiles = new List<TileData>()
        {
            new TileData { Title = "Tile 1", Content = "1 - Lorem Ipsum" },
            new TileData { Title = "Tile 2", Content = "2 - Lorem Ipsum" },
            new TileData { Title = "Tile 3", Content = "3 - Lorem Ipsum" },
            new TileData { Title = "Tile 4", Content = "4 - Lorem Ipsum" },
            new TileData { Title = "Tile 5", Content = "5 - Lorem Ipsum" },
            new TileData { Title = "Tile 6", Content = "6 - Lorem Ipsum" },
        };

        base.OnInitialized();
    }

    public partial class TileData
    {
        public string Title { get; set; }
        public string Content { get; set; }

    }
}

 

Unplanned
Last Updated: 31 Jan 2022 09:16 by ADMIN
Created by: Matt
Comments: 1
Category: TileLayout
Type: Feature Request
0

I am trying to resize a TextBox inside of a TileLayoutItem on resize of the tile. I have the resize handler implemented, and is accurately firing. However, I am not seeing the ColSpan actually change on the item, which would give me a point of reference to resize the textbox.


void OnResizeHandler(TileLayoutResizeEventArgs args)
    {
        if (args.Id == "commentTile")
        {
            if (CommentLI.ColSpan==1)
            {
                CommentWidth = "270px";
            }
            else
            {
                CommentWidth = (270 + (300 * (CommentLI.ColSpan - 1))).ToString() + "px";
            }
        }
    }

Completed
Last Updated: 23 Dec 2021 13:26 by ADMIN
Release 3.0.0
I need to execute certain logic only for the particular tile that resized, and at the moment the OnResized event fires for any tile that gets resized. Ideally, a Tag or some similar Parameter on the individual tiles can be set and I could receive it in the OnResized handler to know which tile to target.
Unplanned
Last Updated: 08 Nov 2021 20:41 by ADMIN

When using my own buttons in the header template, and I have Reorderable=true, the tile layout consumes mouse events and clicks on my buttons don't always work. I would like to have the tile layout provide command buttons that can work in this scenario that let me handle their clicks reliably.

The functionality I am after is closing an minimizing tiles, so built-in actions for that like with the window would be nice. Perhaps tile items could get a Visible parameter like the grid columns and that could also go in their state.

Duplicated
Last Updated: 19 Sep 2021 13:56 by ADMIN
Created by: Brian
Comments: 1
Category: TileLayout
Type: Feature Request
6
I want to change the Reordable and Resizable parameters at runtime. However, when updating the reorder/resize parameters, the component is re-rendered, enabling the cursors for resize and drag/drop but no functionality.
Need More Info
Last Updated: 23 Aug 2021 08:56 by ADMIN
Created by: Ian
Comments: 3
Category: TileLayout
Type: Feature Request
2

Here is the scenario I would like to implement:

User has a default dashboard, with Customise functionality which would:

  • Allow the user to move and resize items (same as now)
  • Add / remove item, adding using a drag and drop function from a set of tile types, for example exposed in a TelerikList component. Removing an item with a "delete" button or similar.
  • Customise tiles, for example a time period on a chart.
  • Save the state of the dashboard.

For loading and saving the dashboard with each tile having a specific content the easiest way I can see would be to bind the TelerikTileLayout to a data source:

<TelerikTileLayout Data="@TileData">

<TileConfiguration></TileConfiguration>

</TelerikTileLayout>

The data would be updated as and when the user configures their dashboard. 

For dragging and dropping new tiles a set of events would be necessary, both on the source tile list, e.g. OnDragBegin and on the tile layout OnDrop.

Unplanned
Last Updated: 10 Aug 2021 20:06 by ADMIN
Created by: Jörg
Comments: 2
Category: TileLayout
Type: Feature Request
18
I would like to use a Visible parameter for the TileLayoutItem