Advertisement
Guest User

Telerik UI for JSP: Scheduler Custom editor template

a guest
Mar 10th, 2015
513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.31 KB | None | 0 0
  1. <%@page import="java.util.HashMap"%>
  2. <%@page import="java.util.ArrayList"%>
  3. <%@page import="java.util.Date"%>
  4. <%@page import="java.text.SimpleDateFormat"%>
  5. <%@taglib prefix="kendo" uri="http://www.kendoui.com/jsp/tags"%>
  6. <%@taglib prefix="demo" tagdir="/WEB-INF/tags"%>
  7.  
  8. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  9.  
  10.  
  11. <c:url value="/scheduler/resources/read" var="readUrl" />
  12. <c:url value="/scheduler/resources/create" var="createUrl" />
  13. <c:url value="/scheduler/resources/update" var="updateUrl" />
  14. <c:url value="/scheduler/resources/destroy" var="destroyUrl" />
  15.  
  16. <%
  17.     Date date = new SimpleDateFormat("yyyy/MM/dd").parse("2013/6/13");
  18.    
  19.     Date startTime = new SimpleDateFormat("yyyy/MM/dd hh:mm").parse("2013/6/13 7:00");
  20.    
  21.     ArrayList<HashMap<String, Object>> people = new ArrayList<HashMap<String, Object>>();
  22.    
  23.     HashMap<String, Object> alex = new HashMap<String, Object>();
  24.     alex.put("text", "Alex");
  25.     alex.put("value", 1);
  26.     alex.put("color", "#f8a398");
  27.     people.add(alex);
  28.     HashMap<String, Object> bob = new HashMap<String, Object>();
  29.     bob.put("text", "Bob");
  30.     bob.put("value", 2);
  31.     bob.put("color", "#51a0ed");
  32.     people.add(bob);
  33.     HashMap<String, Object> charlie = new HashMap<String, Object>();
  34.     charlie.put("text", "Charlie");
  35.     charlie.put("value", 3);
  36.     charlie.put("color", "#56ca85");
  37.     people.add(charlie);
  38.    
  39.     ArrayList<HashMap<String, Object>> rooms = new ArrayList<HashMap<String, Object>>();
  40.    
  41.     HashMap<String, Object> room1 = new HashMap<String, Object>();
  42.     room1.put("text", "Meeting Room 101");
  43.     room1.put("value", 1);
  44.     room1.put("color", "#6eb3fa");
  45.     rooms.add(room1);
  46.     HashMap<String, Object> room2 = new HashMap<String, Object>();
  47.     room2.put("text", "Meeting Room 102");
  48.     room2.put("value", 2);
  49.     room2.put("color", "#f58a8a");
  50.     rooms.add(room2);
  51.  
  52. %>
  53. <demo:header />
  54.     <kendo:scheduler name="scheduler" timezone="Etc/UTC" height="600" date="<%= date %>" startTime="<%= startTime %>">
  55.    <kendo:scheduler-editable>
  56.     <kendo:scheduler-editable-template>
  57.         <script>
  58.             function(e) {
  59.        
  60.                 return $("#editorTemplate").html();
  61.                 // Code to handle the template event.
  62.             }
  63.         </script>
  64.     </kendo:scheduler-editable-template>
  65. </kendo:scheduler-editable>
  66.         <kendo:scheduler-views>
  67.             <kendo:scheduler-view type="day" />
  68.             <kendo:scheduler-view type="week" selected="true" />
  69.             <kendo:scheduler-view type="month"  />
  70.             <kendo:scheduler-view type="agenda" />
  71.         </kendo:scheduler-views>
  72.         <kendo:scheduler-resources>
  73.             <kendo:scheduler-resource field="roomId" title="Room">
  74.                 <kendo:dataSource data="<%= rooms %>" />
  75.             </kendo:scheduler-resource>
  76.             <kendo:scheduler-resource field="attendees" title="Attendees" multiple="true">
  77.                 <kendo:dataSource data="<%= people %>" />
  78.             </kendo:scheduler-resource>
  79.         </kendo:scheduler-resources>
  80.         <kendo:dataSource batch="true">
  81.              <kendo:dataSource-schema>
  82.                 <kendo:dataSource-schema-model id="meetingId">
  83.                      <kendo:dataSource-schema-model-fields>
  84.                          <kendo:dataSource-schema-model-field name="meetingId" type="number" />
  85.                          <kendo:dataSource-schema-model-field name="title" defaultValue="No title" type="string" />
  86.                          <kendo:dataSource-schema-model-field name="description" type="string" />
  87.                          <kendo:dataSource-schema-model-field name="isAllDay" type="boolean" />
  88.                          <kendo:dataSource-schema-model-field name="recurrenceRule" type="string" nullable="true"/>
  89.                          <kendo:dataSource-schema-model-field name="attendees" nullable="true"/>
  90.                          <kendo:dataSource-schema-model-field name="recurrenceId" type="number" nullable="true" />
  91.                          <kendo:dataSource-schema-model-field name="recurrenceException" type="string" nullable="true" />
  92.                          <kendo:dataSource-schema-model-field name="roomId" nullable="true"/>
  93.                          <kendo:dataSource-schema-model-field name="start" type="date" />
  94.                          <kendo:dataSource-schema-model-field name="end" type="date" />
  95.                     </kendo:dataSource-schema-model-fields>
  96.                 </kendo:dataSource-schema-model>
  97.             </kendo:dataSource-schema>
  98.             <kendo:dataSource-transport>
  99.                 <kendo:dataSource-transport-create url="${createUrl}" dataType="json" type="POST" contentType="application/json" />
  100.                 <kendo:dataSource-transport-read url="${readUrl}" dataType="json" type="POST" contentType="application/json" />
  101.                 <kendo:dataSource-transport-update url="${updateUrl}" dataType="json" type="POST" contentType="application/json" />
  102.                 <kendo:dataSource-transport-destroy url="${destroyUrl}" dataType="json" type="POST" contentType="application/json" />
  103.                 <kendo:dataSource-transport-parameterMap>
  104.                     <script>
  105.                         function parameterMap(options, type) {
  106.                             if(type==="read"){
  107.                                 return JSON.stringify(options);
  108.                             } else {
  109.                                 return JSON.stringify(options.models);
  110.                             }
  111.                         }
  112.                     </script>
  113.                 </kendo:dataSource-transport-parameterMap>              
  114.             </kendo:dataSource-transport>
  115.         </kendo:dataSource>
  116.     </kendo:scheduler>
  117.  
  118.     <script id="editorTemplate"  type="text/x-kendo-template">
  119.     <div class="k-edit-label">
  120.     <label for="Title">Title</label>
  121. </div>
  122. <div data-container-for="title" class="k-edit-field">
  123.     <input class="k-textbox" data-bind="value:title" name="Title" type="text" required="required" />
  124. </div>
  125.  <div class="k-edit-label">
  126.         <label for="Start">Start</label>
  127.     </div>
  128.     <div data-container-for="start" class="k-edit-field">
  129.         <input name="start" required="required" style="z-index: inherit;" type="datetime"
  130.             data-bind="value:start,invisible:isAllDay"
  131.             data-format="M/d/yyyy h:mm tt"
  132.             data-role="datetimepicker" />
  133.  
  134.         <input name="start" required="required" type="date" style="z-index: inherit;"
  135.             data-bind="value:start,visible:isAllDay"
  136.             data-format="M/d/yyyy"
  137.             data-role="datepicker" />
  138.  
  139.         <span data-bind="text: startTimezone"></span>
  140.         <span data-for="start" class="k-invalid-msg"></span>
  141.     </div>
  142.  
  143.     <div class="k-edit-label">
  144.         <label for="End">End</label>
  145.     </div>
  146.     <div data-container-for="end" class="k-edit-field">
  147.  
  148.         <input name="end" required="required" style="z-index: inherit;" type="datetime"
  149.             data-bind="value:end,invisible:isAllDay"
  150.             data-format="M/d/yyyy h:mm tt"
  151.             data-role="datetimepicker" />
  152.  
  153.         <input name="end" required="required" type="date" style="z-index: inherit;"
  154.             data-bind="value:end,visible:isAllDay"
  155.             data-format="M/d/yyyy"
  156.             data-role="datepicker" />
  157.  
  158.         <span data-bind="text: endTimezone"></span>
  159.         <span data-for="end" class="k-invalid-msg"></span>
  160.     </div>
  161.  
  162.     <div class="k-edit-label">
  163.         <label for="IsAllDay">IsAllDay</label>
  164.     </div>
  165.     <div data-container-for="isAllDay" class="k-edit-field">
  166.         <input data-bind="checked:isAllDay" name="IsAllDay" type="checkbox" value="true" />
  167.     </div>
  168.  
  169.     <div class="k-edit-label">
  170.         <label for="recurrenceRule">Recurrence Rule</label>
  171.     </div>
  172.     <div data-container-for="recurrenceRule" class="k-edit-field">
  173.         <div data-bind="value:recurrenceRule" id="recurrenceRule" name="recurrenceRule" data-role="recurrenceeditor"></div>
  174.     </div>
  175.  
  176.     <div class="k-edit-label">
  177.         <label for="description">Description</label>
  178.     </div>
  179.     <div data-container-for="description" class="k-edit-field">
  180.         <textarea class="k-textbox" cols="20" data-bind="value:description" data-role="editor" id="description" name="description" rows="2">
  181.         </textarea>
  182.     </div>
  183.  
  184.     <div class="k-edit-label">
  185.         <label for="RoomID">RoomID</label>
  186.     </div>
  187.    
  188.     <div data-container-for="roomId" class="k-edit-field">
  189.         <input id="roomId" name="roomId" style="width: 200px" type="text"
  190.             data-bind="value:roomId"
  191.             data-val="true"
  192.             data-val-number="The field RoomID must be a number."
  193.             data-source='[{"text":"Meeting Room 101","value":1},{"text":"Meeting Room 201","value":2}]'
  194.             data-text-field="text"
  195.             data-value-field="value"
  196.             data-value-primitive="true"
  197.             data-option-label="None"
  198.             data-role="dropdownlist" />
  199.     </div>
  200.  
  201.     <div class="k-edit-label">
  202.         <label for="Attendees">Attendees</label>
  203.     </div>
  204.     <div data-container-for="attendees" class="k-edit-field">
  205.         <select id="attendees" multiple="multiple" name="attendees"
  206.             data-role="multiselect"
  207.             data-bind="value:attendees"
  208.             data-source='[{"text":"Alex","value":1},{"text":"Bob","value":2},{"text":"Charlie","value":3}]'
  209.             data-text-field="text"
  210.             data-value-field="value"
  211.             data-value-primitive="true"
  212.             ></select>
  213.     </div>
  214.     </script>
  215. <demo:footer />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement