Browse Source

[search] Auto enable facets and show or hide save button accordingly

Romain Rigaux 12 years ago
parent
commit
5f00faaae9

+ 8 - 8
apps/search/src/search/models.py

@@ -189,11 +189,11 @@ class CoreManager(models.Manager):
                   'template': """
                   'template': """
 <div class="row-fluid">
 <div class="row-fluid">
   <div class="span1"><img src="http://twitter.com/api/users/profile_image/{{user_screen_name}}" style="margin:10px"></div>
   <div class="span1"><img src="http://twitter.com/api/users/profile_image/{{user_screen_name}}" style="margin:10px"></div>
-  <div class="span9">    
+  <div class="span9">
     <h5><a href="https://twitter.com/{{user_screen_name}}/status/{{id}}" target="_blank" title="Open in Twitter"></a><a target="_blank" href="https://twitter.com/{{user_screen_name}}">{{user_name}}</a></h5>
     <h5><a href="https://twitter.com/{{user_screen_name}}/status/{{id}}" target="_blank" title="Open in Twitter"></a><a target="_blank" href="https://twitter.com/{{user_screen_name}}">{{user_name}}</a></h5>
-       
+
     {{text}}
     {{text}}
-      
+
     <br>
     <br>
     <a href="/filebrowser/view/{{file_path}}">
     <a href="/filebrowser/view/{{file_path}}">
       {{file_name}} {{file_length}}{{#file_length}} bytes {{content_type}}{{/file_length}}
       {{file_name}} {{file_length}}{{#file_length}} bytes {{content_type}}{{/file_length}}
@@ -218,17 +218,17 @@ class CoreManager(models.Manager):
             </a>
             </a>
           </li>
           </li>
         </ul>
         </ul>
-      </div> 
-    
+      </div>
+
   </div>
   </div>
   <div class="span2">
   <div class="span2">
     <br><a class="btn" href="https://twitter.com/{{user_screen_name}}/status/{{id}}" target="_blank" title="Open in Twitter">
     <br><a class="btn" href="https://twitter.com/{{user_screen_name}}/status/{{id}}" target="_blank" title="Open in Twitter">
     <i class="icon-twitter"></i></a>
     <i class="icon-twitter"></i></a>
     <small class="time">
     <small class="time">
       <a href="https://twitter.com/{{user_screen_name}}/status/{{id}}" target="_blank" data-dt="{{created_at}}" rel="tooltip" data-placement="left" title="{{created_at}}">{{created_at}}</a>
       <a href="https://twitter.com/{{user_screen_name}}/status/{{id}}" target="_blank" data-dt="{{created_at}}" rel="tooltip" data-placement="left" title="{{created_at}}">{{created_at}}</a>
-    </small>      
+    </small>
   </div>
   </div>
-</div>            
+</div>
                   """,
                   """,
                   'highlighting': [],
                   'highlighting': [],
                   'properties': {'highlighting_enabled': False},
                   'properties': {'highlighting_enabled': False},
@@ -337,7 +337,7 @@ margin-top: 2px;
 </style>
 </style>
 
 
 <script>
 <script>
-</script>                  
+</script>
                   """
                   """
               }))
               }))
       sorting = Sorting.objects.create(data=json.dumps({'properties': {'is_enabled': False}, 'fields': []}))
       sorting = Sorting.objects.create(data=json.dumps({'properties': {'is_enabled': False}, 'fields': []}))

+ 13 - 8
apps/search/src/search/templates/admin_core_facets.mako

@@ -362,20 +362,24 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
       self.fieldFacetsList.push(facet.field);
       self.fieldFacetsList.push(facet.field);
       self.fieldFacetsList.sort();
       self.fieldFacetsList.sort();
       self.updateSortableFacets();
       self.updateSortableFacets();
+      viewModel.isSaveBtnVisible(true);
     };
     };
 
 
     self.removeRangeFacet = function (facet) {
     self.removeRangeFacet = function (facet) {
       self.rangeFacets.remove(facet);
       self.rangeFacets.remove(facet);
       self.updateSortableFacets();
       self.updateSortableFacets();
+      viewModel.isSaveBtnVisible(true);
     };
     };
 
 
     self.removeDateFacet = function (facet) {
     self.removeDateFacet = function (facet) {
       self.dateFacets.remove(facet);
       self.dateFacets.remove(facet);
       self.updateSortableFacets();
       self.updateSortableFacets();
+      viewModel.isSaveBtnVisible(true);
     };
     };
 
 
     self.updateSortableFacets = function () {
     self.updateSortableFacets = function () {
       self.sortableFacets(self.fieldFacets().concat(self.rangeFacets()).concat(self.dateFacets()));
       self.sortableFacets(self.fieldFacets().concat(self.rangeFacets()).concat(self.dateFacets()));
+      viewModel.isSaveBtnVisible(true);
     };
     };
 
 
     self.addFieldFacet = function () {
     self.addFieldFacet = function () {
@@ -394,6 +398,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
         self.fieldFacetsList.remove(self.selectedFieldFacet());
         self.fieldFacetsList.remove(self.selectedFieldFacet());
         self.properties().isEnabled(true);
         self.properties().isEnabled(true);
         self.updateSortableFacets();
         self.updateSortableFacets();
+        viewModel.isSaveBtnVisible(true);
       }
       }
       else {
       else {
         $("#field-facet-error").show();
         $("#field-facet-error").show();
@@ -406,10 +411,12 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
       }
       }
       self.rangeFacets.push(new RangeFacet(self.selectedRangeFacet(), self.selectedRangeLabel(), self.selectedRangeStartFacet(), self.selectedRangeEndFacet(), self.selectedRangeGapFacet()));
       self.rangeFacets.push(new RangeFacet(self.selectedRangeFacet(), self.selectedRangeLabel(), self.selectedRangeStartFacet(), self.selectedRangeEndFacet(), self.selectedRangeGapFacet()));
       self.selectedRangeLabel("");
       self.selectedRangeLabel("");
-      self.selectedRangeStartFacet("");
-      self.selectedRangeEndFacet("");
-      self.selectedRangeGapFacet("");
+      self.selectedRangeStartFacet(0);
+      self.selectedRangeEndFacet(100);
+      self.selectedRangeGapFacet(10);
+      self.properties().isEnabled(true);
       self.updateSortableFacets();
       self.updateSortableFacets();
+      viewModel.isSaveBtnVisible(true);
     };
     };
 
 
     self.addDateFacet = function () {
     self.addDateFacet = function () {
@@ -423,7 +430,9 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
         new DateMath({frequency: 0, unit: 'DAYS'}),
         new DateMath({frequency: 0, unit: 'DAYS'}),
         new DateMath({frequency: 1, unit: 'DAYS'})
         new DateMath({frequency: 1, unit: 'DAYS'})
       ]);
       ]);
+      self.properties().isEnabled(true);
       self.updateSortableFacets();
       self.updateSortableFacets();
+      viewModel.isSaveBtnVisible(true);
     };
     };
 
 
     self.submit = function () {
     self.submit = function () {
@@ -439,6 +448,7 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
         type: 'POST',
         type: 'POST',
         success: function () {
         success: function () {
           $.jHueNotify.info("${_('Facets updated')}");
           $.jHueNotify.info("${_('Facets updated')}");
+          viewModel.isSaveBtnVisible(false);
         },
         },
         error: function (data) {
         error: function (data) {
           $.jHueNotify.error("${_('Error: ')}" + data);
           $.jHueNotify.error("${_('Error: ')}" + data);
@@ -477,30 +487,25 @@ ${ commonheader(_('Search'), "search", user) | n,unicode }
     routie({
     routie({
       "step1":function () {
       "step1":function () {
         showStep("step1");
         showStep("step1");
-        viewModel.isSaveBtnVisible(false);
       },
       },
       "step2":function () {
       "step2":function () {
         if (validateStep("step1")) {
         if (validateStep("step1")) {
           showStep("step2");
           showStep("step2");
-          viewModel.isSaveBtnVisible(false);
         }
         }
       },
       },
       "step3":function () {
       "step3":function () {
         if (validateStep("step1") && validateStep("step2")) {
         if (validateStep("step1") && validateStep("step2")) {
           showStep("step3");
           showStep("step3");
-          viewModel.isSaveBtnVisible(false);
         }
         }
       },
       },
       "step4":function () {
       "step4":function () {
         if (validateStep("step1") && validateStep("step2")) {
         if (validateStep("step1") && validateStep("step2")) {
           showStep("step4");
           showStep("step4");
-          viewModel.isSaveBtnVisible(false);
         }
         }
       },
       },
       "step5":function () {
       "step5":function () {
         if (validateStep("step1") && validateStep("step2")) {
         if (validateStep("step1") && validateStep("step2")) {
           showStep("step5");
           showStep("step5");
-          viewModel.isSaveBtnVisible(true);
         }
         }
       }
       }
     });
     });