How to load resource from different Controller and and change it when user click in tab nav Telerik Scheduler UI?

NinjaDeveloper

I am trying to find a way to load Rooms into Resources section in Telerik Scheduler UI. The Scheduler UI is bound to theMeeting Model where a user can book rooms for meeting from the Room. What I am trying to do is find a way to bind resources "Rooms" from another controller and Model and How to change the resource when user select deferent office

From View

 <div class="row">
        <div class="col-md-12">
            <ul class="nav nav-tabs" id="officeTab"><li><a class="office" href="#" data-value="3">London</a></li><li><a class="office" href="#" data-value="5">Hanover</a></li><li><a class="office" href="#" data-value="4">Owen Sound</a></li><li><a class="office" href="#" data-value="1">Seaforth</a></li><li><a class="office" href="#" data-value="6">St. Thomas</a></li><li><a class="office" href="#" data-value="2">Stratford</a></li><li><a class="office" href="#" data-value="8">Woodstock</a></li></ul>
        </div>
    </div>
<div>
    @(Html.Kendo().Scheduler<Meeting>().Name("scheduler").Date(new DateTime(2017, 5, 13))
          .StartTime(new DateTime(2017, 5, 13, 7, 00, 00))
          .Editable(true)
          .Views(views =>
          {
              views.DayView();
              views.AgendaView();
          })
          .Height(600)
          .Timezone("Etc/UTC")
          .Group(group => { group.Resources("Rooms"); group.Date(true); })
          .Resources(resource =>
          {
              resource.Add(m => m.RoomId)
              .Title("Room")
              .Name("Rooms")
              .DataTextField("Text")
              .DataValueField("Value")
              .DataColorField("Color")
              .DataSource(d => d.Read("Get", "Room"));
          }).DataSource(d => d
              .WebApi()
              .Model(m =>
              {
                  m.Id(f => f.RecordId);
                  m.Field(f => f.Title).DefaultValue("No title");
                  m.Field(f => f.Title).DefaultValue("No title");
              })
              .Events(events => events.Error("error_handler"))
              .Read(read => read.Action("Get", "Meeting"))
              .Create(create => create.Action("Post", "Meeting"))
              .Destroy(destroy => destroy.Action("Delete", "Meeting", new { recordId = "{0}" }))
              .Update(update => update.Action("Put", "Meeting", new { recordId = "{0}" }))
          ).Deferred())


    @section scripts {
        @Html.Kendo().DeferredScripts()
    }
    <script>
        function error_handler(e) {
            var errors = $.parseJSON(e.xhr.responseText);

            if (errors) {
                alert("Errors:\n" + errors.join("\n"));
            }
        }
    </script> 
</div>

//MeetingController

using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
using Microsoft.AspNetCore.Mvc;
using RoomBooking.Application.Couties.Queries;
using RoomBooking.Application.Rooms.Queries;
using RoomBooking.Domain;

namespace RoomBooking.Presentation.Controllers
{
    [Route("api/v1/[controller]")]
    public class MeetingController : Controller
    {
        [HttpGet]
        public DataSourceResult Get([DataSourceRequest]DataSourceRequest request)
        {
            //return meetingData.GetAll().ToDataSourceResult(request);
            return this.meetingService.GetAll().ToDataSourceResult(request); ;
        }


        public MeetingController(ISchedulerEventService<MeetingModel> meetingService, ISchedulerEventService<ListRoomModel> resourcesService)
        {
            this.meetingService = meetingService;
            this.resourcesService = resourcesService;
        }
        private readonly ISchedulerEventService<MeetingModel> meetingService;
        private readonly ISchedulerEventService<ListRoomModel> resourcesService;
    }
}

//RoomController

using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
using Microsoft.AspNetCore.Mvc;
using RoomBooking.Application.Couties.Queries;
using RoomBooking.Application.Rooms.Queries;
using RoomBooking.Domain;


namespace RoomBooking.Presentation.Controllers
{
    [Route("api/v1/[controller]")]
    public class RoomController : Controller
    {
        [HttpGet]
        public DataSourceResult Get([DataSourceRequest]DataSourceRequest request)
        {
            //return meetingData.GetAll().ToDataSourceResult(request);
            //return this.getRoomsListQuery.Execute().ToDataSourceResult(request);
            var result =  this.resourcesService.GetAll().ToDataSourceResult(request);
            return result;
        }

        public RoomController(ISchedulerEventService<ListRoomModel> resourcesService)
        {
            this.resourcesService = resourcesService;
        }

    private readonly ISchedulerEventService<ListRoomModel> resourcesService;
    }
}
NinjaDeveloper

I found how to load Items into Resources using this example from asp.net MVC you can use the same method in asp.net core the link https://github.com/telerik/ui-for-aspnet-mvc-examples/tree/master/scheduler/scheduler-resource-editing

@using Kendo.Mvc.UI
@using Kendo.Mvc.UI.Fluent
@using RoomBooking.Domain
@{
    ViewData["Title"] = "Home Page";
}


<div class="row">
    <div class="col-md-12">
        <ul id="officeTab" class="nav nav-tabs"></ul>
    </div>

</div>

<div>
    @(Html.Kendo().Scheduler<Meeting>().Name("scheduler").Date(new DateTime(2017, 5, 13))
          .StartTime(new DateTime(2017, 5, 13, 7, 00, 00))
          .Editable(true)
          .Views(views =>
          {
              views.DayView();
              views.AgendaView();
          })
          .Height(600)
          .Timezone("Etc/UTC")
          .Group(group => { group.Resources("Rooms"); group.Date(true); })
          .Resources(resource =>
          {
              //resource.Add(m => m.RoomId).Title("Room").Name("Rooms").DataTextField("Text").DataValueField("Value").DataColorField("Color").BindTo(new[]
              //{
              //    new {Text = "Meeting Room 101", Value = 1, Color = "#6eb3fa"},
              //    new {Text = "Meeting Room 201", Value = 2, Color = "#f58a8a"}
              //});
              resource.Add(m => m.RoomId)
                 .Title("Room")
                 .Name("Rooms")
                 .DataTextField("Text")
                 .DataSource(
                     ds => ds.Custom()
                     .Type("aspnetmvc-ajax")
                     .Transport(t => t.Read(r =>
                    r.Action("readRoom", "Room")))
                    .Schema(s => s.Data("Data").Total("Total").Errors("Errors").Model(m =>
                    {
                        m.Id("Value");
                        m.Field("Value", typeof(int));
                        m.Field("Text", typeof(string));
                        m.Field("Color", typeof(string));
                    })
                    ));
          })
          .DataSource(d => d
              .WebApi()
              .Model(m =>
              {
                  m.Id(f => f.RecordId);
                  m.Field(f => f.Title).DefaultValue("No title");
                  m.Field(f => f.Title).DefaultValue("No title");
              })
              .Events(events => events.Error("error_handler"))
              .Read(read => read.Action("Get", "Meeting"))
              .Create(create => create.Action("Post", "Meeting"))
              .Destroy(destroy => destroy.Action("Delete", "Meeting", new { recordId = "{0}" }))
              .Update(update => update.Action("Put", "Meeting", new { recordId = "{0}" }))
          ).Deferred())


    @section scripts {
        @Html.Kendo().DeferredScripts()
    }
    <script>
        function error_handler(e) {
            var errors = $.parseJSON(e.xhr.responseText);

            if (errors) {
                alert("Errors:\n" + errors.join("\n"));
            }
        }
    </script>

</div>

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to change Page title when click tab?

From Dev

how to change ionic tab color from controller

From Dev

How to Change Content When User Selected Different Option From DropDownList

From Dev

Load different components on tab change

From Dev

Load resource from different assembly

From Dev

How to change tab name in browser when user goes off from my site

From Dev

How to open new window browser when user click close tab?

From Dev

How to instantiate a view controller with tab and nav controller for deep linking?

From Dev

How to instantiate a view controller with tab and nav controller for deep linking?

From Dev

PyQt: How do I load a ui file from a resource?

From Dev

How to pass the User object from one Controller to the different JavaFX Controller?

From Dev

How can I get value of the button id from jquery ui dialog when user click?

From Dev

How to load ui.bootstrap module by diffrent way from controller?

From Dev

How do I start a tab as a different user from a predefined task?

From Dev

How to change text in nav menu when user change width of screen? Bootstrap 3

From Dev

How to properly add a UITableView inside a nav and tab controller?

From Dev

Can I change Jquery-ui active tab on button click from code behind?

From Dev

How to trigger jquery "click" event even when the user clicked "middle button" or right click -> open in a new tab

From Dev

How to trigger jquery "click" event even when the user clicked "middle button" or right click -> open in a new tab

From Dev

How to change UI Bootstrap Datepicker from controller to directive

From Dev

how to change color of android button when user click and release the button

From Dev

How do I stop a modal instance from being called when a different controller loads with UI-bootstrap in Angular?

From Dev

How to change NavBar Image from different View Controller

From Dev

Angularjs how to change text in a view from a different view's controller

From Dev

How to change form value from different controller in AngularJS

From Dev

How to load style from resource

From Dev

how to open same page when i click on same tab bar controller

From Dev

how to call controller function on button click when my button is placed in different controller in angularjs

From Dev

How do I push a view controller onto the nav stack from search results when presenting them modally?

Related Related

  1. 1

    How to change Page title when click tab?

  2. 2

    how to change ionic tab color from controller

  3. 3

    How to Change Content When User Selected Different Option From DropDownList

  4. 4

    Load different components on tab change

  5. 5

    Load resource from different assembly

  6. 6

    How to change tab name in browser when user goes off from my site

  7. 7

    How to open new window browser when user click close tab?

  8. 8

    How to instantiate a view controller with tab and nav controller for deep linking?

  9. 9

    How to instantiate a view controller with tab and nav controller for deep linking?

  10. 10

    PyQt: How do I load a ui file from a resource?

  11. 11

    How to pass the User object from one Controller to the different JavaFX Controller?

  12. 12

    How can I get value of the button id from jquery ui dialog when user click?

  13. 13

    How to load ui.bootstrap module by diffrent way from controller?

  14. 14

    How do I start a tab as a different user from a predefined task?

  15. 15

    How to change text in nav menu when user change width of screen? Bootstrap 3

  16. 16

    How to properly add a UITableView inside a nav and tab controller?

  17. 17

    Can I change Jquery-ui active tab on button click from code behind?

  18. 18

    How to trigger jquery "click" event even when the user clicked "middle button" or right click -> open in a new tab

  19. 19

    How to trigger jquery "click" event even when the user clicked "middle button" or right click -> open in a new tab

  20. 20

    How to change UI Bootstrap Datepicker from controller to directive

  21. 21

    how to change color of android button when user click and release the button

  22. 22

    How do I stop a modal instance from being called when a different controller loads with UI-bootstrap in Angular?

  23. 23

    How to change NavBar Image from different View Controller

  24. 24

    Angularjs how to change text in a view from a different view's controller

  25. 25

    How to change form value from different controller in AngularJS

  26. 26

    How to load style from resource

  27. 27

    how to open same page when i click on same tab bar controller

  28. 28

    how to call controller function on button click when my button is placed in different controller in angularjs

  29. 29

    How do I push a view controller onto the nav stack from search results when presenting them modally?

HotTag

Archive