Changeset 351


Ignore:
Timestamp:
12/28/11 11:34:32 (10 years ago)
Author:
BegemoT
Message:
 
Location:
AutoFocus-0.5
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • AutoFocus-0.5/war/autofocus.html

    r167 r351  
    2323    <link type = "text/css" rel = "stylesheet" href = "css/main.css" /> 
    2424 
    25     <title>AutoFocus GTD</title> 
     25    <title>AutoFocus GTD v0.5.1</title> 
    2626</head> 
    2727<body> 
  • AutoFocus-0.5/war/css/main.css

    r272 r351  
    9393} 
    9494 
     95#tags li a{ 
     96    color   :   blue; 
     97} 
     98#tags li a:visited{ 
     99    color   :   blue; 
     100} 
     101 
    95102#tags li.selected{ 
    96103    background-color: lightblue; 
     104} 
     105 
     106#tags li.disabled a{ 
     107    color : lightblue; 
    97108} 
    98109 
  • AutoFocus-0.5/war/js/autofocus.ui.js

    r271 r351  
    176176                var firstActiveItemIndex = Model.currentItemIndex(); 
    177177                var currentPage = null; 
     178                var tagsActivity = {}; 
    178179                for( var i in items ){ 
    179180                        var item = items[i]; 
     
    194195                        var itemEl = currentPage.addItem( item, _.include(item.tags(), selectedTag) ); 
    195196                        itemsElements[itemIndex] = itemEl; 
    196                         for( tag in _.values( item.tags() ) ){ 
     197 
     198                        _.forEach(item.tags(), function(tag){ 
     199                            //fill tag->itemsEl map 
    197200                            if( _.isUndefined( itemsElementsByTag[tag] ) ){ 
    198201                    itemsElementsByTag[tag] = []; 
    199202                            } 
    200203                            itemsElementsByTag[tag].push( itemEl ); 
    201                         } 
     204                //gather statistics of tags usage 
     205                if( !tagsActivity[tag] ){ 
     206                    tagsActivity[tag] = {active:0,done:0,dismissed:0}; 
     207                } 
     208                var state = tagsActivity[tag]; 
     209                if(item.active()){ 
     210                    state.active++; 
     211                }else if(item.done()){ 
     212                    state.done++; 
     213                }else if(item.dismissed() ){ 
     214                    state.dismissed++; 
     215                } 
     216                        }); 
    202217                } 
    203218 
     
    242257                        tagsEl.append(tagEl); 
    243258                } 
     259                var tags = _.sortBy( Model.tags(), function(tag){ 
     260            var state = tagsActivity[tag]; 
     261            if(state){ 
     262                if( state.active > 0 ){ 
     263                    return -state.active; 
     264                }else if( state.done > 0){ 
     265                    return 100000 + state.done; 
     266                } 
     267            } 
     268            return 100000; 
     269                }); 
    244270                for(var i in tags){ 
    245271                        var tag = tags[i]; 
    246272                        var tagEl = $("<li/>"); 
    247                         tagEl.addClass("tag-"+i); 
    248                         if(tag == selectedTag){ 
    249                             tagEl.addClass("selected"); 
    250                         } 
    251                         var hash = "#" + encodeURIComponent( tag ); 
    252                         tagEl.append( 
    253                                         $( "<a />" ) 
    254                                                         .attr( "href", hash ) 
    255                                                         .text( tag ) 
    256                                                         .click( 
    257                                                             _.bind( 
    258                                                                 function(hash, tag){ 
    259                                         //window.location.hash = hash; 
    260                                         this.selectTag( tag ); 
    261                                         return true; 
    262                                     }, 
    263                                     UI, hash, tag 
    264                                 ) 
    265                                                 ) 
    266                         ); 
     273                        var state = tagsActivity[tag]; 
     274                        //рисуем только используемые тэги 
     275                        if(state && ( state.active > 0 || state.done > 0 ) ){ 
     276                tagEl.addClass( "tag-" + i ); 
     277                if( state.active == 0 ){ 
     278                    tagEl.addClass("disabled") 
     279                    tagEl.append( 
     280                            $( "<a />" ).text( tag ) 
     281                    ); 
     282                }else{ 
     283                    if(tag == selectedTag){ 
     284                        tagEl.addClass("selected"); 
     285                    } 
     286                    var hash = "#" + encodeURIComponent( tag ); 
     287                    tagEl.append( 
     288                            $( "<a />" ) 
     289                                    .attr( "href", hash ) 
     290                                    .text( tag ) 
     291                                    .click( 
     292                                        _.bind( 
     293                                            function(hash, tag){ 
     294                                                //window.location.hash = hash; 
     295                                                this.selectTag( tag ); 
     296                                                return true; 
     297                                            }, 
     298                                            UI, hash, tag 
     299                                        ) 
     300                                    ) 
     301                    ); 
     302                } 
     303            } 
    267304                        tagsEl.append(tagEl); 
    268305                } 
Note: See TracChangeset for help on using the changeset viewer.