Advertisement
Guest User

Cronograma final

a guest
May 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.08 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <base href="https://demos.telerik.com/kendo-ui/gantt/angular">
  6. <base href="https://demos.telerik.com/kendo-ui/gantt/pdf-export">
  7. <base href="https://demos.telerik.com/kendo-ui/gantt/resources">
  8. <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
  9. <title></title>
  10. <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.220/styles/kendo.common-material.min.css" />
  11. <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.220/styles/kendo.material.min.css" />
  12. <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.220/styles/kendo.material.mobile.min.css" />
  13.  
  14. <script src="https://kendo.cdn.telerik.com/2019.1.220/js/jquery.min.js"></script>
  15. <script src="https://kendo.cdn.telerik.com/2019.1.220/js/angular.min.js"></script>
  16. <script src="https://kendo.cdn.telerik.com/2019.1.220/js/kendo.all.min.js"></script>
  17.  
  18.  
  19. </head>
  20. <body>
  21. <div id="example">
  22. <div ng-app="KendoDemo" ng-controller="MyCtrl">
  23. <div kendo-gantt k-options="ganttOptions"></div>
  24. </div>
  25. </div>
  26.  
  27.  
  28. <script>
  29.  
  30. angular.module("KendoDemo", ["kendo.directives"])
  31. .controller("MyCtrl", function($scope) {
  32. function onChange(e) {
  33. var gantt = e.sender;
  34. var selection = gantt.select();
  35.  
  36. var left = $(".k-gantt-timeline [data-uid='"+ selection.attr("data-uid") +"']").closest(".k-task-wrap").css("left")
  37. $(".k-gantt-timeline .k-grid-content").scrollLeft(parseInt(left)-10)
  38. }
  39. var serviceRoot = "https://demos.telerik.com/kendo-ui/service";
  40. var tasksDataSource = new kendo.data.GanttDataSource({
  41. batch: false,
  42. transport: {
  43. read: {
  44. url: serviceRoot + "/GanttTasks",
  45. dataType: "jsonp"
  46. },
  47. update: {
  48. url: serviceRoot + "/GanttTasks/Update",
  49. dataType: "jsonp"
  50. },
  51. destroy: {
  52. url: serviceRoot + "/GanttTasks/Destroy",
  53. dataType: "jsonp"
  54. },
  55. create: {
  56. url: serviceRoot + "/GanttTasks/Create",
  57. dataType: "jsonp"
  58. },
  59. parameterMap: function(options, operation) {
  60. if (operation !== "read") {
  61. return { models: kendo.stringify(options.models || [options]) };
  62. }
  63. }
  64. },
  65. schema: {
  66. model: {
  67. id: "id",
  68. fields: {
  69. id: { from: "ID", type: "number" },
  70. orderId: { from: "OrderID", type: "number", validation: { required: true } },
  71. parentId: { from: "ParentID", type: "number", defaultValue: null, validation: { required: true } },
  72. start: { from: "Start", type: "date" },
  73. end: { from: "End", type: "date" },
  74. title: { from: "Title", defaultValue: "", type: "string" },
  75. percentComplete: { from: "PercentComplete", type: "number" },
  76. summary: { from: "Summary", type: "boolean" },
  77. expanded: { from: "Expanded", type: "boolean", defaultValue: true }
  78. }
  79. }
  80. }
  81. });
  82.  
  83. var dependenciesDataSource = new kendo.data.GanttDependencyDataSource({
  84. transport: {
  85. read: {
  86. url: serviceRoot + "/GanttDependencies",
  87. dataType: "jsonp"
  88. },
  89. update: {
  90. url: serviceRoot + "/GanttDependencies/Update",
  91. dataType: "jsonp"
  92. },
  93. destroy: {
  94. url: serviceRoot + "/GanttDependencies/Destroy",
  95. dataType: "jsonp"
  96. },
  97. create: {
  98. url: serviceRoot + "/GanttDependencies/Create",
  99. dataType: "jsonp"
  100. },
  101. parameterMap: function(options, operation) {
  102. if (operation !== "read" && options.models) {
  103. return { models: kendo.stringify(options.models) };
  104. }
  105. }
  106. },
  107. schema: {
  108. model: {
  109. id: "id",
  110. fields: {
  111. id: { from: "ID", type: "number" },
  112. predecessorId: { from: "PredecessorID", type: "number" },
  113. successorId: { from: "SuccessorID", type: "number" },
  114. type: { from: "Type", type: "number" }
  115. }
  116. }
  117. }
  118. });
  119.  
  120. $scope.ganttOptions = {
  121. dataSource: tasksDataSource,
  122. dependencies: dependenciesDataSource,
  123. messages: {
  124. cancel: "Cancelar",
  125. deleteDependencyConfirmation: "¿Desea eliminar esta dependencia",
  126. deleteDependencyWindowTitle: "¿Eliminar dependencia?",
  127. deleteTaskConfirmation: "¿Desea eliminar esta tarea?",
  128. deleteTaskWindowTitle: "¿Eliminar la tarea?",
  129. destroy: "Eliminar",
  130. save: "Guardar",
  131. editor: {
  132. assignButton: "Asignar Recursos",
  133. editorTitle: "Editar Tarea",
  134. end: "Fecha Final",
  135. percentComplete: "Progreso",
  136. resources: "Recursos",
  137. resourcesEditorTitle: "Asignar Recursos",
  138. resourcesHeader: "Recursos Disponibles",
  139. start: "Fecha Inicial",
  140. title: "Actividad",
  141. unitsHeader: "Porcentaje"
  142. },
  143. views: {
  144. day: "Día",
  145. week: "Semana",
  146. month: "Mes",
  147. Year: "Año",
  148. start: "Fecha Inicial",
  149. end: "Fecha Final"
  150. },
  151. actions: {
  152. addChild: "Agregar Hijo",
  153. append: "Agregar Nueva Tarea",
  154. insertAfter: "Agregar Tarea Abajo",
  155. insertBefore: "Agregar Tarea Arriba",
  156. }
  157. }, resources: {
  158. field: "resources",
  159. dataColorField: "Color",
  160. dataTextField: "Name",
  161. dataSource: {
  162. transport: {
  163. read: {
  164. url: serviceRoot + "/GanttResources",
  165. dataType: "jsonp"
  166. }
  167. },
  168. schema: {
  169. model: {
  170. id: "id",
  171. fields: {
  172. id: { from: "ID", type: "number" }
  173. }
  174. }
  175. }
  176. }
  177. },
  178. assignments: {
  179. dataTaskIdField: "TaskID",
  180. dataResourceIdField: "ResourceID",
  181. dataValueField: "Units",
  182. dataSource: {
  183. transport: {
  184. read: {
  185. url: serviceRoot + "/GanttResourceAssignments",
  186. dataType: "jsonp"
  187. },
  188. update: {
  189. url: serviceRoot + "/GanttResourceAssignments/Update",
  190. dataType: "jsonp"
  191. },
  192. destroy: {
  193. url: serviceRoot + "/GanttResourceAssignments/Destroy",
  194. dataType: "jsonp"
  195. },
  196. create: {
  197. url: serviceRoot + "/GanttResourceAssignments/Create",
  198. dataType: "jsonp"
  199. },
  200. parameterMap: function(options, operation) {
  201. if (operation !== "read") {
  202. return { models: kendo.stringify(options.models || [options]) };
  203. }
  204. }
  205. },
  206. schema: {
  207. model: {
  208. id: "ID",
  209. fields: {
  210. ID: { type: "number" },
  211. ResourceID: { type: "number" },
  212. Units: { type: "number" },
  213. TaskID: { type: "number" }
  214. }
  215. }
  216. }
  217. }
  218. },
  219. views: [
  220. "day",
  221. "week",
  222. { type: "month", selected: true }
  223. ],
  224. columns: [
  225. { field: "id", title: "ID", width: 60 },
  226. { field: "title", title: "Actividad", editable: true, sortable: true, width: 200 },
  227. { field: "resources", title: "Recursos Asignados", editable: true},
  228. { field: "start", title: "Fecha Inicial", format: "{0:dd/MM/yyyy HH:mm}", width: 170, editable: true },
  229. { field: "end", title: "Fecha Final", format: "{0:dd/MM/yyyy HH:mm}", width: 170, editable: true }
  230. ],
  231.  
  232. height: 600,
  233. listWidth:750,
  234. resizable: true,
  235.  
  236. showWorkHours: false,
  237. showWorkDays: false,
  238. change: onChange,
  239.  
  240. snap: false
  241. };
  242. });
  243.  
  244. $(document).bind("kendo:skinChange", function() {
  245. var gantt = $("div [kendo-gantt]").data("kendoGantt");
  246.  
  247. if (gantt) {
  248. gantt.refresh();
  249. }
  250. });
  251. </script>
  252.  
  253.  
  254. </body>
  255. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement