]> git.parisson.com Git - telemeta.git/commitdiff
still to fix popup div and add2playlist. playlist addnew and delete work
authorriccardo <riccardo@parisson.com>
Fri, 18 Mar 2011 19:26:05 +0000 (20:26 +0100)
committerriccardo <riccardo@parisson.com>
Fri, 18 Mar 2011 19:26:05 +0000 (20:26 +0100)
telemeta/htdocs/css/telemeta.css
telemeta/htdocs/js/application.js
telemeta/htdocs/timeside/src/playlist.js
telemeta/templates/telemeta_default/mediaitem_detail.html

index 23f7cc963d5a754e718db63be4218d55d816fb6f..ca9df22b429315050a93994edc3dba901d49fd77 100644 (file)
@@ -978,7 +978,7 @@ a.image-link {
 
 .mediaitem_button,  .mediaitem_button:visited,
 .mediaitem_button:link{
-    padding:5px 10px 5px 26px; /*top right bottom left - last value depends on the icon size (default=16)*/
+    padding:4px 8px 4px 26px; /*top right bottom left - last value depends on the icon size (default=16)*/
     border-top:  1px solid #DDD;
     border-left:  1px solid #DDD;
     border-bottom:  1px solid #666;
@@ -998,7 +998,7 @@ a.image-link {
     text-decoration: none;
 }
 .mediaitem_button_no_icon{
-    padding:5px 10px 5px 10px !important;
+    padding:4px 8px 4px 8px !important;
 }
 .mediaitem_button_edit{
     background-image: url('/images/edit_page.png');
index 2e6df83e093bb0e8b47ec1e22c1615c97dee576e..bc0a49d7a83fa7d67a79128f9bede5d4dc618870 100644 (file)
@@ -53,10 +53,21 @@ function setSelectedMenu(){
     \r
     //function for normalizing paths (removes last n occurrences of the slash)\r
     var normalize = function(str){\r
-        return str.replace(/\/+$/,"");\r
+        return str.replace(/\/+#*$/,"");\r
     }\r
-    var pageOrigin = normalize(window.location.origin);\r
-    var pageHref = normalize(window.location.href);\r
+    \r
+    var host = window.location.host;\r
+    var protocol = window.location.protocol\r
+    var href = normalize(window.location.href);\r
+     \r
+    if(!(host) || !(protocol) || !(href)){\r
+        return;\r
+    }\r
+\r
+    //var pageOrigin = normalize(window.location.origin); //does not exist in FF, so:\r
+    var pageOrigin = normalize(protocol+"//"+host);\r
+    var pageHref = normalize(href);\r
+\r
     menus.each(function(){\r
         ///if we are at home, the window location href corresponds to window location origin,\r
         //so we select only links whose link points EXACTLY to the origin (home link)\r
@@ -242,10 +253,111 @@ popupDialog = function(invokerElement,divContent,callbackOnOk){
         height:div.outerHeight(),\r
         left: (left + 5)+'px',\r
         top:(top+5)+"px"\r
-        });\r
+    });\r
     div.fadeIn('fast', function() {\r
         divShadow.insertAfter(div);\r
         divShadow.fadeTo(0,0.4);\r
         cancelB.focus();\r
     });\r
-}
\ No newline at end of file
+}\r
+popup={\r
+    id: '_popup_id__',\r
+    isFocused:false,\r
+    hide: function(){\r
+        var $J = jQuery;\r
+        $J(document).unbind('click');\r
+        $J(document).unbind('keydown');\r
+        var popupdiv = $J(this.id);\r
+        if(popupdiv){\r
+            popupdiv.remove();\r
+            this.isFocused = false;\r
+        }\r
+    },\r
+    show:function(invokerElement,divContent){\r
+        var popupId = this.id;\r
+        var createDiv = function(){\r
+            return jQuery("<div/>").append(jQuery("<div/>").css({\r
+                'backgroundColor':'#000',\r
+                position:'absolute',\r
+                bottom:0,\r
+                right:0,\r
+                top:'5px',\r
+                left:'5px'\r
+            }))\r
+            .append(\r
+                jQuery("<div/>").css({\r
+                    position: 'absolute',\r
+                    top:0,\r
+                    left:0,\r
+                    padding: '1ex',\r
+                    border: '1px solid #DDD',\r
+                    backgroundColor:'#eee'\r
+                })).attr('id',popupId).css({\r
+                display: 'none',\r
+                position: 'absolute',\r
+                zIndex:1000\r
+            });\r
+        }\r
+        var $J = jQuery;\r
+        var div = createDiv()\r
+\r
+        //adding\r
+        div.insertBefore(invokerElement);\r
+        \r
+        var mainDiv = $J(div.children()[1]).append(divContent);\r
+        var me = this;\r
+        var hide = this.hide;\r
+\r
+        var children = $J(divContent).find('*');\r
+        $(children).each(function(){\r
+            $J(this).focus(function(){\r
+                me.isFocused = true;\r
+            });\r
+            $J(this).blur(function(){\r
+                me.isFocused = false;\r
+            });\r
+        });\r
+        \r
+        //setting positions:\r
+        var pos = invokerElement.position();\r
+        var top = (invokerElement.outerHeight(true)+pos.top);\r
+        var left = pos.left;\r
+        div.css({\r
+            left: left + 'px',\r
+            top:top+"px"\r
+        });\r
+\r
+       \r
+        //showing\r
+        div.fadeIn('fast', function() {\r
+            //now that is displayed, set the parent div size (which affects the shadow, too)\r
+            var w = mainDiv.outerWidth();\r
+            var h = mainDiv.outerHeight();\r
+            div.css({\r
+                width:(w+5)+'px',\r
+                height:(h+5)+'px'\r
+            });\r
+            //show the shadow\r
+            $J(div.children()[0]).fadeTo(0,0.4);\r
+            var inputs = $J(divContent).find(':input');\r
+            me.isFocused=false;\r
+            if(inputs && inputs[0]){\r
+                inputs[0].focus();\r
+                //me.isFocused=true;\r
+            }\r
+            jQuery(document).bind('click', function(){\r
+                if(me.isFocused){\r
+                    return;\r
+                }\r
+                hide.apply(me);\r
+            });\r
+            jQuery(document).bind('keydown', function(){\r
+                if(me.isFocused){\r
+                    return;\r
+                }\r
+                hide.apply(me);\r
+            });\r
+        });\r
+    }\r
+\r
+}\r
index d8c093fd95b9f3c4a40ec491fae38aa82153198f..0a280f3cb9640ee5e78808bb3ebcffe7f56dbeaf 100644 (file)
@@ -28,8 +28,8 @@ var playlist = {
                 window.location.reload();
             },true);
         };
-        popupDialog(element,table,onOk);
-
+        //popupDialog(element,table,onOk);
+        popup.show(element,table);
     },
 
     remove: function(id){
index 7a49455875ecb8693679b93c3ccc96626448bd08..6d90431793278efc4b8ff61d6a0c8cee91c1c786 100644 (file)
      <a href="{% url telemeta-item-copy item.public_id %}" class="mediaitem_button mediaitem_button_copy">{% trans "Copy" %}</a>
     {% endif %}
     {% if user.is_authenticated %}
-     {% trans "Add to playlist" %}
+     
+     <a href=# class="mediaitem_button mediaitem_button_add">
+  
+     <select style="border:0px;margin:0px;padding:0px">
+         <option id="">{% trans "Add to playlist" %}</option>
+     {% for playlist in playlists %}
+          <option id="{{playlist.playlist.public_id}}">{{ playlist.playlist.title }}</option>
+
+   {% endfor %}
+     </select>
+
+    </a>
+
     {% endif %}
      <a href="{% url telemeta-item-detail previous %}" class="mediaitem_button mediaitem_button_previous">{% trans "Previous" %}</a>
     <a href="{% url telemeta-item-detail next %}" class="mediaitem_button mediaitem_button_next">{% trans "Next" %}</a>