]> git.parisson.com Git - teleforma.git/commitdiff
add Messi message for paster info
authoryomguy <yomguy@parisson.com>
Tue, 11 Dec 2012 15:17:59 +0000 (16:17 +0100)
committeryomguy <yomguy@parisson.com>
Tue, 11 Dec 2012 15:17:59 +0000 (16:17 +0100)
teleforma/static/teleforma/css/messi.css [new file with mode: 0644]
teleforma/static/teleforma/js/messi.min.js [new file with mode: 0644]
teleforma/templates/teleforma/answer_form.html
teleforma/templates/telemeta/base.html

diff --git a/teleforma/static/teleforma/css/messi.css b/teleforma/static/teleforma/css/messi.css
new file mode 100644 (file)
index 0000000..2685e3b
--- /dev/null
@@ -0,0 +1,525 @@
+/* Messi CSS */
+
+.messi-modal {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+  background-color: #000;
+  opacity: 0;
+}
+
+.messi {
+  position: absolute;
+  padding: 0;
+  margin: 0;
+  font-size: 16px;
+  text-shadow: none;
+}
+
+.messi-box {
+  position: relative;
+  width: 500px;
+  height: auto;
+  padding: 8px;
+  overflow: hidden;
+  background-color: rgba(204, 204, 204, 0.2);
+  border-radius: 6px;
+  opacity: 1;
+  box-shadow: 0 0 1em #444;
+}
+
+.messi-wrapper {
+  position: relative;
+  background-color: #fff;
+  border-radius: 5px;
+}
+
+.messi-titlebox {
+  padding: 10px;
+  overflow: hidden;
+  font: 1.3em bold helvetica, arial;
+  color: #fff;
+  text-shadow: 0 -2px 1px rgba(0, 0, 0, 0.25);
+  background-color: #3b3b3b;
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.25, #3b3b3b), color-stop(0.75, #575757));
+  background-image: linear-gradient(bottom, #3b3b3b 25%, #575757 75%);
+  background-image: -moz-linear-gradient(bottom, #3b3b3b 25%, #575757 75%);
+  background-image: -o-linear-gradient(bottom, #3b3b3b 25%, #575757 75%);
+  background-image: -webkit-linear-gradient(bottom, #3b3b3b 25%, #575757 75%);
+  background-image: -ms-linear-gradient(bottom, #3b3b3b 25%, #575757 75%);
+  -webkit-border-radius: 5px 5px 0 0px;
+          border-radius: 5px 5px 0 0px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 0;
+  -moz-border-radius-bottomleft: 0;
+  -moz-border-radius-topleft: 5px;
+}
+
+.messi-titlebox.info {
+  background-color: #4ea5cd;
+  background-image: none;
+}
+
+.messi-titlebox.error {
+  background-color: #de4343;
+  background-image: none;
+}
+
+.messi-titlebox.warning {
+  background-color: #eaaf51;
+  background-image: none;
+}
+
+.messi-titlebox.success {
+  background-color: #61b832;
+  background-image: none;
+}
+
+.messi-closebtn {
+  position: absolute;
+  top: 8px;
+  right: 8px;
+  display: block;
+  width: 25px;
+  height: 25px;
+  color: #333;
+  cursor: pointer;
+  background-color: #fff;
+  border: 1px solid rgba(255, 255, 255, .1);
+  border-radius: 40px;
+}
+
+.messi-closebtn::before {
+  position: relative;
+  top: 2px;
+  display: block;
+  width: 25px;
+  text-align: center;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  content: '\00D7';
+}
+
+.messi-content {
+  padding: 10px;
+  overflow: hidden;
+  font: .9em normal helvetica, arial;
+}
+
+.messi-content p {
+  margin: 0 0 1.3em;
+  line-height: 1.3em;
+}
+
+.messi-content .messi-closebtn {
+  top: 7px;
+  font: 1.3em bold helvetica, arial;
+  color: #fff;
+  background-color: #333;
+  opacity: 0;
+  -webkit-transition: opacity .25s linear, visibility .1s linear .5s;
+     -moz-transition: opacity .25s linear, visibility .1s linear .5s;
+       -o-transition: opacity .25s linear, visibility .1s linear .5s;
+          transition: opacity .25s linear, visibility .1s linear .5s;
+}
+
+.messi-content:hover .messi-closebtn {
+  opacity: 1;
+}
+
+.messi-footbox {
+  width: 100%;
+  height: 55px;
+  overflow: hidden;
+}
+
+.messi-actions {
+  display: -webkit-box;
+  display: -moz-box;
+  display: box;
+  padding-top: 8px;
+  margin: 0 10px;
+  border-top: 1px solid #eee;
+  -webkit-box-orient: horizontal;
+     -moz-box-orient: horizontal;
+          box-orient: horizontal;
+}
+
+.messi-actions .btnbox {
+  text-align: center;
+  -webkit-box-flex: 1;
+     -moz-box-flex: 1;
+          box-flex: 1;
+}
+
+.messi-actions .btnbox .btn {
+  min-width: 75px;
+}
+
+.messi-titlebox.anim {
+  background-color: #666;
+  background-image: -o-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
+  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0.25, rgba(255, 255, 255, 0.05)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.05)), color-stop(0.75, rgba(255, 255, 255, 0.05)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
+  -webkit-background-size: 40px 40px;
+     -moz-background-size: 40px 40px;
+          background-size: 40px 40px;
+  -webkit-box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.4);
+     -moz-box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.4);
+          box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.4);
+  -webkit-animation: animate-bg 5s linear infinite;
+     -moz-animation: animate-bg 5s linear infinite;
+}
+
+.messi-titlebox.anim.info {
+  background-color: #4ea5cd;
+}
+
+.messi-titlebox.anim.error {
+  background-color: #de4343;
+}
+
+.messi-titlebox.anim.warning {
+  background-color: #eaaf51;
+}
+
+.messi-titlebox.anim.success {
+  background-color: #61b832;
+}
+
+@-webkit-keyframes animate-bg {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: -80px 0;
+  }
+}
+
+@-moz-keyframes animate-bg {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: -80px 0;
+  }
+}
+
+/* CSS Buttons from Twitter Bootstrap: http://twitter.github.com/bootstrap/ */
+
+.messi .btn {
+  display: inline-block;
+  *display: inline;
+  padding: 4px 10px 4px;
+  margin-bottom: 0;
+  *margin-left: .3em;
+  font-size: 13px;
+  line-height: 26px;
+  color: #333;
+  text-align: center;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  vertical-align: middle;
+  cursor: pointer;
+  background-color: #f5f5f5;
+  *background-color: #e6e6e6;
+  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+  background-repeat: repeat-x;
+  border: 1px solid #cccccc;
+  *border: 0;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+  border-bottom-color: #b3b3b3;
+  -webkit-border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+  *zoom: 1;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.messi .btn:hover,
+.messi .btn:active,
+.messi .btn.active,
+.messi .btn.disabled,
+.messi .btn[disabled] {
+  background-color: #e6e6e6;
+  *background-color: #d9d9d9;
+}
+
+.messi .btn:active,
+.messi .btn.active {
+  background-color: #cccccc \9;
+}
+
+.messi .btn:first-child {
+  *margin-left: 0;
+}
+
+.messi .btn:hover {
+  color: #333333;
+  text-decoration: none;
+  background-color: #e6e6e6;
+  *background-color: #d9d9d9;
+  background-position: 0 -15px;
+  -webkit-transition: background-position 0.1s linear;
+     -moz-transition: background-position 0.1s linear;
+      -ms-transition: background-position 0.1s linear;
+       -o-transition: background-position 0.1s linear;
+          transition: background-position 0.1s linear;
+}
+
+.messi .btn:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+
+.messi .btn.active,
+.messi .btn:active {
+  background-color: #e6e6e6;
+  background-color: #d9d9d9 \9;
+  background-image: none;
+  outline: 0;
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.messi .btn-primary,
+.messi .btn-primary:hover,
+.messi .btn-warning,
+.messi .btn-warning:hover,
+.messi .btn-danger,
+.messi .btn-danger:hover,
+.messi .btn-success,
+.messi .btn-success:hover,
+.messi .btn-info,
+.messi .btn-info:hover,
+.messi .btn-inverse,
+.messi .btn-inverse:hover {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+
+.messi .btn-primary.active,
+.messi .btn-warning.active,
+.messi .btn-danger.active,
+.messi .btn-success.active,
+.messi .btn-info.active,
+.messi .btn-inverse.active {
+  color: rgba(255, 255, 255, 0.75);
+}
+
+.messi .btn {
+  border-color: #ccc;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+
+.messi .btn-primary {
+  background-color: #0074cc;
+  *background-color: #0055cc;
+  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));
+  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -o-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);
+  background-image: linear-gradient(top, #0088cc, #0055cc);
+  background-repeat: repeat-x;
+  border-color: #0055cc #0055cc #003580;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.messi .btn-primary:hover,
+.messi .btn-primary:active,
+.messi .btn-primary.active,
+.messi .btn-primary.disabled,
+.messi .btn-primary[disabled] {
+  background-color: #0055cc;
+  *background-color: #004ab3;
+}
+
+.messi .btn-primary:active,
+.messi .btn-primary.active {
+  background-color: #004099 \9;
+}
+
+.messi .btn-warning {
+  background-color: #faa732;
+  *background-color: #f89406;
+  background-image: -ms-linear-gradient(top, #fbb450, #f89406);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+  background-image: -o-linear-gradient(top, #fbb450, #f89406);
+  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+  background-image: linear-gradient(top, #fbb450, #f89406);
+  background-repeat: repeat-x;
+  border-color: #f89406 #f89406 #ad6704;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.messi .btn-warning:hover,
+.messi .btn-warning:active,
+.messi .btn-warning.active,
+.messi .btn-warning.disabled,
+.messi .btn-warning[disabled] {
+  background-color: #f89406;
+  *background-color: #df8505;
+}
+
+.messi .btn-warning:active,
+.messi .btn-warning.active {
+  background-color: #c67605 \9;
+}
+
+.messi .btn-danger {
+  background-color: #da4f49;
+  *background-color: #bd362f;
+  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: linear-gradient(top, #ee5f5b, #bd362f);
+  background-repeat: repeat-x;
+  border-color: #bd362f #bd362f #802420;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.messi .btn-danger:hover,
+.messi .btn-danger:active,
+.messi .btn-danger.active,
+.messi .btn-danger.disabled,
+.messi .btn-danger[disabled] {
+  background-color: #bd362f;
+  *background-color: #a9302a;
+}
+
+.messi .btn-danger:active,
+.messi .btn-danger.active {
+  background-color: #942a25 \9;
+}
+
+.messi .btn-success {
+  background-color: #5bb75b;
+  *background-color: #51a351;
+  background-image: -ms-linear-gradient(top, #62c462, #51a351);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
+  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
+  background-image: -o-linear-gradient(top, #62c462, #51a351);
+  background-image: -moz-linear-gradient(top, #62c462, #51a351);
+  background-image: linear-gradient(top, #62c462, #51a351);
+  background-repeat: repeat-x;
+  border-color: #51a351 #51a351 #387038;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.messi .btn-success:hover,
+.messi .btn-success:active,
+.messi .btn-success.active,
+.messi .btn-success.disabled,
+.messi .btn-success[disabled] {
+  background-color: #51a351;
+  *background-color: #499249;
+}
+
+.messi .btn-success:active,
+.messi .btn-success.active {
+  background-color: #408140 \9;
+}
+
+.messi .btn-info {
+  background-color: #49afcd;
+  *background-color: #2f96b4;
+  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: linear-gradient(top, #5bc0de, #2f96b4);
+  background-repeat: repeat-x;
+  border-color: #2f96b4 #2f96b4 #1f6377;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.messi .btn-info:hover,
+.messi .btn-info:active,
+.messi .btn-info.active,
+.messi .btn-info.disabled,
+.messi .btn-info[disabled] {
+  background-color: #2f96b4;
+  *background-color: #2a85a0;
+}
+
+.messi .btn-info:active,
+.messi .btn-info.active {
+  background-color: #24748c \9;
+}
+
+.messi .btn-inverse {
+  background-color: #414141;
+  *background-color: #222222;
+  background-image: -ms-linear-gradient(top, #555555, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
+  background-image: -webkit-linear-gradient(top, #555555, #222222);
+  background-image: -o-linear-gradient(top, #555555, #222222);
+  background-image: -moz-linear-gradient(top, #555555, #222222);
+  background-image: linear-gradient(top, #555555, #222222);
+  background-repeat: repeat-x;
+  border-color: #222222 #222222 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.messi .btn-inverse:hover,
+.messi .btn-inverse:active,
+.messi .btn-inverse.active,
+.messi .btn-inverse.disabled,
+.messi .btn-inverse[disabled] {
+  background-color: #222222;
+  *background-color: #151515;
+}
+
+.messi .btn-inverse:active,
+.messi .btn-inverse.active {
+  background-color: #080808 \9;
+}
+
+button.messi .btn,
+input[type="submit"].messi .btn {
+  *padding-top: 2px;
+  *padding-bottom: 2px;
+}
+
+.messi button {
+  cursor: pointer;
+  -webkit-appearance: button;
+}
+
+button.messi .btn::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
diff --git a/teleforma/static/teleforma/js/messi.min.js b/teleforma/static/teleforma/js/messi.min.js
new file mode 100644 (file)
index 0000000..fce638e
--- /dev/null
@@ -0,0 +1,11 @@
+/*
+ * jQuery Messi Plugin 1.2
+ * http://marcosesperon.es/apps/messi/
+ *
+ * Copyright 2012, Marcos Esperón
+ * http://marcosesperon.es
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+function Messi(a,b){var c=this;c.options=jQuery.extend({},Messi.prototype.options,b||{});c.messi=jQuery(c.template);c.setContent(a);if(c.options.title==null){jQuery(".messi-titlebox",c.messi).remove()}else{jQuery(".messi-title",c.messi).append(c.options.title);if(c.options.buttons.length===0&&!c.options.autoclose){if(c.options.closeButton){var d=jQuery('<span class="messi-closebtn"></span>');d.bind("click",function(){c.hide()});jQuery(".messi-titlebox",this.messi).prepend(d)}}if(c.options.titleClass!=null)jQuery(".messi-titlebox",this.messi).addClass(c.options.titleClass)}if(c.options.width!=null)jQuery(".messi-box",c.messi).css("width",c.options.width);if(c.options.buttons.length>0){for(var e=0;e<c.options.buttons.length;e++){var f=c.options.buttons[e].btnClass?c.options.buttons[e].btnClass:"";var g=c.options.buttons[e].val?c.options.buttons[e].val:"";var h=jQuery('<div class="btnbox"><button class="btn '+f+'" href="#">'+c.options.buttons[e].label+"</button></div>").data("value",g);h.bind("click",function(){var a=jQuery.data(this,"value");var b=c.options.callback!=null?function(){c.options.callback(a)}:null;c.hide(b)});jQuery(".messi-actions",this.messi).append(h)}}else{jQuery(".messi-footbox",this.messi).remove()}if(c.options.buttons.length===0&&c.options.title==null&&!c.options.autoclose){if(c.options.closeButton){var d=jQuery('<span class="messi-closebtn"></span>');d.bind("click",function(){c.hide()});jQuery(".messi-content",this.messi).prepend(d)}}c.modal=c.options.modal?jQuery('<div class="messi-modal"></div>').css({opacity:c.options.modalOpacity,width:jQuery(document).width(),height:jQuery(document).height(),"z-index":c.options.zIndex+jQuery(".messi").length}).appendTo(document.body):null;if(c.options.show)c.show();jQuery(window).bind("resize",function(){c.resize()});if(c.options.autoclose!=null){setTimeout(function(a){a.hide()},c.options.autoclose,this)}return c}Messi.prototype={options:{autoclose:null,buttons:[],callback:null,center:true,closeButton:true,height:"auto",title:null,titleClass:null,modal:false,modalOpacity:.2,padding:"10px",show:true,unload:true,viewport:{top:"0px",left:"0px"},width:"500px",zIndex:99999},template:'<div class="messi"><div class="messi-box"><div class="messi-wrapper"><div class="messi-titlebox"><span class="messi-title"></span></div><div class="messi-content"></div><div class="messi-footbox"><div class="messi-actions"></div></div></div></div></div>',content:"<div></div>",visible:false,setContent:function(a){jQuery(".messi-content",this.messi).css({padding:this.options.padding,height:this.options.height}).empty().append(a)},viewport:function(){return{top:(jQuery(window).height()-this.messi.height())/2+jQuery(window).scrollTop()+"px",left:(jQuery(window).width()-this.messi.width())/2+jQuery(window).scrollLeft()+"px"}},show:function(){if(this.visible)return;if(this.options.modal&&this.modal!=null)this.modal.show();this.messi.appendTo(document.body);if(this.options.center)this.options.viewport=this.viewport(jQuery(".messi-box",this.messi));this.messi.css({top:this.options.viewport.top,left:this.options.viewport.left,"z-index":this.options.zIndex+jQuery(".messi").length}).show().animate({opacity:1},300);this.visible=true},hide:function(a){if(!this.visible)return;var b=this;this.messi.animate({opacity:0},300,function(){if(b.options.modal&&b.modal!=null)b.modal.remove();b.messi.css({display:"none"}).remove();b.visible=false;if(a)a.call();if(b.options.unload)b.unload()});return this},resize:function(){if(this.options.modal){jQuery(".messi-modal").css({width:jQuery(document).width(),height:jQuery(document).height()})}if(this.options.center){this.options.viewport=this.viewport(jQuery(".messi-box",this.messi));this.messi.css({top:this.options.viewport.top,left:this.options.viewport.left})}},toggle:function(){this[this.visible?"hide":"show"]();return this},unload:function(){if(this.visible)this.hide();jQuery(window).unbind("resize",this.resize());this.messi.remove()}};jQuery.extend(Messi,{alert:function(a,b,c){var d=c.btnText?c.btnText:"OK";var e=[{id:"ok",label:d}];c=jQuery.extend({closeButton:false,modal:true,buttons:e,callback:function(){}},c||{},{show:true,unload:true,callback:b});return new Messi(a,c)},ask:function(a,b,c){var d=c.btnYesText?c.btnYesText:"Yes";var e=c.btnNoText?c.btnNoText:"No";var f=[{id:"yes",label:d,val:"Y",btnClass:"btn-success"},{id:"no",label:e,val:"N",btnClass:"btn-danger"}];c=jQuery.extend({closeButton:false,modal:true,buttons:f,callback:function(){}},c||{},{show:true,unload:true,callback:b});return new Messi(a,c)},img:function(a,b){var c=new Image;jQuery(c).load(function(){var a={width:jQuery(window).width()-50,height:jQuery(window).height()-50};var d=this.width>a.width||this.height>a.height?Math.min(a.width/this.width,a.height/this.height):1;jQuery(c).css({width:this.width*d,height:this.height*d});b=jQuery.extend(b||{},{show:true,unload:true,closeButton:true,width:this.width*d,height:this.height*d,padding:0});new Messi(c,b)}).error(function(){console.log("Error loading "+a)}).attr("src",a)},load:function(a,b){b=jQuery.extend(b||{},{show:true,unload:true});var c={url:a,dataType:"html",cache:false,error:function(a,b,c){console.log(a.responseText)},success:function(a){new Messi(a,b)}};jQuery.ajax(c)}});
\ No newline at end of file
index 563a217c3ac1537b78c0cffc51df459cfbafba88..179764b1ca56313268aedc579e4bfd4688e10fd8 100644 (file)
@@ -5,8 +5,9 @@
 {% block extra_javascript %}
 <script type="text/javascript">
 $(document).ready(function(){
-  $('#id_answer').live("cut copy paste",function(e) {
+  $('#id_answer').live("paste",function(e) {
       e.preventDefault();
+      new Messi(gettext('Sorry, it is not allowed to paste text here.'), {buttons: [{id: 0, label: gettext('Close'), val: 'X'}], modal: true});
   });
 });
 
index 64eb0d00c6898495051beabe570766d46d304080..ac56ee9de594c3b3ed77c774dd4d2144d4d02cfc 100644 (file)
@@ -25,6 +25,7 @@
 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}teleforma/css/jquery-ui.css" />
 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}telemeta/css/telemeta.css" />
 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}teleforma/css/teleforma.css" />
+<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}teleforma/css/messi.css" />
 
 <!--[if IE]>
 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}telemeta/css/telemeta_ie.css" />
@@ -46,6 +47,7 @@
 <script src="{{ STATIC_URL }}jqchat/jqchat.js" type="text/javascript" ></script>
 <script src="{{ STATIC_URL }}teleforma/js/jquery-ui.js" type="text/javascript"></script>
 <script src="{{ STATIC_URL }}teleforma/js/jquery.expander.min.js" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}teleforma/js/messi.min.js" type="text/javascript"></script>
 <script>
 $(function() {
         $( "#progressbar" ).progressbar({