diff Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponente.cshtml @ 219:b9850b647a4e

Agregando alta de ponente durante la carga del evento
author nelopauselli
date Thu, 08 Sep 2011 11:22:10 -0300
parents e6e6bfb1da9e
children de6d206bd5c3
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponente.cshtml	Thu Sep 08 09:38:47 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/Ponente.cshtml	Thu Sep 08 11:22:10 2011 -0300
@@ -1,2 +1,37 @@
 @model Guid
-@Html.DropDownList(string.Empty, Html.GetPonentes(Model))
+<script type="text/javascript">
+	$(document).ready(function () {
+		$("#agregarPonente").subpanel({ successful: recargar, confirmButton: "Agregar", action: '/PersonaApi/Nueva' });
+	});
+
+	function recargar(data) {
+		if (data.Succeful) {
+			// obtenemos el dropdown
+			var ponentes = $("#Ponente");
+
+			// agregamos el ponente
+			var opcion = $("<option></option>").attr("value", data.Id).html(data.Nombre).appendTo(ponentes);
+
+			// ordenamos los ponentes
+			var options = $("option", ponentes);
+
+			options.sort(function (a, b) {
+				if (a.text > b.text) return 1;
+				else if (a.text < b.text) return -1;
+				else return 0
+			})
+
+			ponentes.empty().append(options);
+
+			// seleccionamos el ponente que acabamos de agregar
+			ponentes.attr("value", data.Id);
+		}
+		else {
+			alert(data.Message);
+			return false;
+		}
+	}
+
+</script>
+@Html.DropDownList(string.Empty, Html.GetPonentes(Model), new { style = "vertical-align: top;" })
+<div id="agregarPonente" style="display: inline-block"></div>
\ No newline at end of file