Responsive Panel, Button, and General use questions

10 posts, 0 answers
  1. JP13
    JP13 avatar
    16 posts
    Member since:
    Sep 2018

    Posted 06 Mar 2019 Link to this post

    I have 3 questions this time.

     

    1) After some fiddling around I got my responsive panel working.  I then went and changed my default layout so that I have the content in div in the middle of the form, rather than all left aligned.  When I made the change the panel no longer hides.  Instead when it should be 'hidden' it is visible but on the left outside edge of the div.  When I click the button to make it appear it slides into the div correctly and appears where it should.  What do I need to do to get it to be hidden and not just on the outside of the div?

    2) In my HTML I had the following button

    <button name="Logout" tag="span" class="textButton" type="submit">Logout</button>

    I thought it would be a simple change to make it a Kendo button:

    <kendo-button name="Logout" tag="span" class="textButton" type="submit">Logout</kendo-button>

     

    However once I did this, it no longer worked. I am sure it is something simple, but what did I miss?

     

    3) The final question is a general use question.  My app will be in ASP Core.  I see a lot of examples that use the format of:

    <kendo-object></kendo-object>

    and some that are in the format of:

    @(Html.Kendo().Object()
    )

     

    Which one is the 'correct' format?  Are there advantages to using one over the other?  If I use the 2nd option will all of my themes still apply to the objects?

  2. Dimitar
    Admin
    Dimitar avatar
    786 posts

    Posted 08 Mar 2019 Link to this post

    Hello,

    1) In order to troubleshoot a styling issue, I will need an example that replicates the problem. In this way, I can examine the implementation details and troubleshoot the cause for the issue.

    2) Could you elaborate more on what is the exact issue? In general, defining a button is described in the following article - Button TagHelper Overview. The TagHelper generates a <button> element with a specific class "k-button". Thus, if the issue is styling related, then the custom class "textButton" might be the cause for it.

    3) The referred behavior is related to the usage of HtmlHelpers(e.g @(Html.Kendo().Button()) or TagHelpers(<kendo-button>). Using the HtmlHelper or TagHelper to initialize a button will result in an identical markup rendered on the page. In order to get more in-depth knowledge regarding the helper methods, I would suggest to check out the following resources:


    Regards,
    Dimitar
    Progress Telerik
    Get quickly onboard and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
  3. JP13
    JP13 avatar
    16 posts
    Member since:
    Sep 2018

    Posted 08 Mar 2019 Link to this post

    I have attached my current project for you to see what is going on.  (Fair warning it is a mess right now since I am having div problems, but you can see the problem described in #1)

    In regards to #2 when I made the change as described it would no longer submit the form. It wasn't a styling issue, but a 'not doing what it is supposed to do' issue.

    For #3 that makes sense, I just wanted to make sure there was no real difference. I will read the docs and see if they answer the rest of questions.

  4. Dimitar
    Admin
    Dimitar avatar
    786 posts

    Posted 12 Mar 2019 Link to this post

    Hello,

    1) The issue with the responsive panel being visible is coming from the following custom style:
      <style>
    @@media (max-width: 1921px) {
    #slidebar {
    background: #fff;
    padding: 20px;
    border-left: 1px solid #4682b4;
    /* show sidebar in container, demo only*/
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 100;
    }
    }
    </style>

    More specifically the problem occurs due to the position: "absolute". Thus, commenting out the line will fix the observed issue with the visibility of the panel.

    2) The button issue can be resolved by using the tag option to specify that the Button TagHelper renders a span element for the button as follows:
    <kendo-button name="LoginButton" tag="span" class="k-primary"><a asp-area="Identity" asp-page="/Account/Login">Login</a></kendo-button>

    Regards,
    Dimitar
    Progress Telerik
    Get quickly onboard and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
  5. JP13
    JP13 avatar
    16 posts
    Member since:
    Sep 2018

    Posted 12 Mar 2019 in reply to Dimitar Link to this post

    Removing the Absolute tag moves the menu to the edge of the screen, instead of the div.
  6. JP13
    JP13 avatar
    16 posts
    Member since:
    Sep 2018

    Posted 12 Mar 2019 in reply to Dimitar Link to this post

    Also the login button works as expected, it was the logout button that was having troubles.     
  7. JP13
    JP13 avatar
    16 posts
    Member since:
    Sep 2018

    Posted 13 Mar 2019 Link to this post

    Removing the span actually solved the logout button.  Still having issues with the responsive panel being visible outside of the div though.     
  8. Dimitar
    Admin
    Dimitar avatar
    786 posts

    Posted 14 Mar 2019 Link to this post

    Hello,

    The ResponsivePanel has a fixed positioning, thus without any CSS overrides it is pinned to the left side and goes off screen when toggled. In case you would like to modify this behavior by changing the position, you will also have to dynamically show/hide/animate its container with javascript.

    Regards,
    Dimitar
    Progress Telerik
    Get quickly onboard and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
  9. JP13
    JP13 avatar
    16 posts
    Member since:
    Sep 2018

    Posted 14 Mar 2019 in reply to Dimitar Link to this post

    Is that what is happening on the demo page (https://demos.telerik.com/aspnet-core/responsive-panel/index)?  When I resize that page to make the panel hidden, it appropriately hides and doesn't just slide to the side.  Would it be possible to get instructions added to the docs on how to make hidden?
  10. Dimitar
    Admin
    Dimitar avatar
    786 posts

    Posted 18 Mar 2019 Link to this post

    Hello,

    Instead of using JavaScript to toggle the visibility of the container(as suggested with my previous reply), the referred demo uses an overflow: hidden style that is set to the <div id="example"> container. Therefore, in case you would like to utilize the same approach in your project, the overflow style could be added to the ResponsivePanel container in menu.css:
    .panel-wrap {
      max-width: 1200px;
      background-color: #f5f5f5;
      border: 1px solid #e5e5e5;
      position: relative;
      min-height: 580px;
      overflow: hidden;
    }

    Let me know how that works.

    Regards,
    Dimitar
    Progress Telerik
    Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Back to Top