Dan  
                
                  
                    August 11, 2020, 10:08pm
                   
                  1 
               
             
            
              Hi everyone,
Has anyone looked at changing the results entry grid UI
I think Plone is using jQueryUI  grid, which looks abandoned or at least hasn’t been updated since Sep 2016.
I looked at a few different JS grid UI components but don’t know if they will play nice with Plone.
Handsontable is definitely the nicest but isn’t open source. There’s a comprehensive list here .
Can anyone advise on what they’ve tried or what they’re using?
Would this be best handled as an add-on or as a proposed change to Senaite CORE?
Thanks from a long time lurker.
             
            
              
            
           
          
            
              
                ramonski  
              
                  
                    August 12, 2020, 10:09pm
                   
                  2 
               
             
            
              Hi Dan,
thanks for your Post and welcome to the Senaite Community.
All listing table components since Senaite 1.3.0 are implemented with ReactJS  in the Add-on senaite.app.listing .Webpack .
Is there something specific you wanted to change in the listing components or is it just because of the outdated jQueryUI library you asked?
Best regards
             
            
              
            
           
          
            
              
                Dan  
              
                  
                    August 14, 2020, 11:11am
                   
                  3 
               
             
            
              Hi Ramon,
That’s awesome. Great work!
The outdated jQueryUI was the main concern, yes.
Thank you - I’m reading through senaite.app.listing now. I want to change the Worksheet UI to a different view - similar to the ‘Worksheet Transposed Listing’ view, but with samples and analytes inverted/flipped, basically this view  transposed again.
Reason for this is easier viewing of larger datasets.
Thanks.
             
            
              
            
           
          
            
              
                ramonski  
              
                  
                    August 14, 2020, 11:31am
                   
                  4 
               
             
            
              Hi Dan,
the transposed view of Worksheets is a bit tricky implemented and is based on a different folder item structure:
  
  
    
        "before": {},         "after": {},         "replace": {},         "allow_edit": [],         "disabled": False,         "state_class": "state-active",     }     item.update(**kw)     return item def folderitem(self, obj, item, index):     item = super(AnalysesTransposedView, self).folderitem(obj, item, index)     pos = str(item["Pos"])     service = item["Service"]     review_state = item["review_state"]     # Skip retracted folderitems and display only the retest     if review_state in ["retracted"]:         return item   
  
    
    
  
  
 
The listing picks up the different type transposed to render these items properly:
  
  
    
    return item def folderitems(self):     super(AnalysesTransposedView, self).folderitems()     # Insert the "column key" column     self.columns["column_key"] = {"title": ""}     # Insert the columns for the slots     for pos in self.get_slots():         self.columns[pos] = {"title": "", "type": "transposed"}     # Restrict visible columns     self.review_states[0]["columns"] = ["column_key"] + self.get_slots()     # transposed rows holder     transposed = OrderedDict()     # first row contains the HTML slot headers     transposed.update(self.headers)   
  
    
    
  
  
 
However, if you want to follow this path, I would suggest that you use the latest 2.x Version of Senaite to keep up with the current development.
You can test the new version 2 of Senaite using the 2.0.0rc1 Docker image:
Regards, Ramon
             
            
              
            
           
          
            
              
                Dan  
              
                  
                    August 15, 2020, 12:36am
                   
                  5 
               
             
            
              Hi Ramon,
Thank you, that’s great.
I did see the 2.x docker image but stuck with 1.3.3
I’ll redeploy and take a look.
Thanks again for your help.
Cheers,