SmartClient: v10.1p_2016-02-11
Browser: All
This is a small nuance, but nonetheless an issue causing our users some confusion. If a user groups the grid by a field, then subsequently hides it, it does not appear in the configure groups dialog. I am aware that the configure groups dialog only displays fields that are currently shown in the grid, however this seems to be a loophole in that logic.
Repro STeps:
1. Load the test case
2. Group by owner
3. Hide the owner field
4. Open the Configure Groups dialog
5. Observe that Owner is not displayed
6. Click Apply and the grid is ungrouped
This is a valid use case for our clients, they often group the grid by some field then hide it. I feel that there may be a few solutions to this issue:
- display all fields in the group dialog (can this be configured)
- display only fields that are shown in the grid PLUS any fields that are currently grouped
Browser: All
This is a small nuance, but nonetheless an issue causing our users some confusion. If a user groups the grid by a field, then subsequently hides it, it does not appear in the configure groups dialog. I am aware that the configure groups dialog only displays fields that are currently shown in the grid, however this seems to be a loophole in that logic.
Repro STeps:
1. Load the test case
2. Group by owner
3. Hide the owner field
4. Open the Configure Groups dialog
5. Observe that Owner is not displayed
6. Click Apply and the grid is ungrouped
This is a valid use case for our clients, they often group the grid by some field then hide it. I feel that there may be a few solutions to this issue:
- display all fields in the group dialog (can this be configured)
- display only fields that are shown in the grid PLUS any fields that are currently grouped
Code:
<!DOCTYPE html> <html> <head> <title></title> <style> .diagInfo { font-size: 14px; font-weight: bold; padding: 5px; } </style> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Core.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Foundation.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Containers.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Grids.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Forms.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_DataBinding.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Drawing.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_PluginBridges.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Charts.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/skins/EnterpriseBlue/load_skin.js"></script> <script type="text/javascript" > var isomorphicDir="http://localhost:8080/isomorphic/"; // set this to the correct JIRA ticket var JIRA_TICKET = "SNT-13610"; // test data var data = [ { project: "123 Avenue", path:"East->GA->Atlanta->Engineering", redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Long Project Name", path:"East->PA->Pittsburgh->Engineering",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "6789 Avenue B", path:"East->PA->Pittsburgh->Finance",redflag: "", owner: "University of MD", ins: 33, obs: 23, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->PA->Pittsburgh->Maintenance",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Feliz Navidad", path:"East->VA->Newport News",redflag: "", owner: "University of MD", ins: 33, obs: 1, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->VA->Newport News->Engineering",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Whitehouse Lawn Maintenance", path:"East->PA->Philadelphia->Electrical",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->PA->Philadelphia->Electrical", redflag: "", owner: "University of MD", ins: 33, obs: 1, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Automated Teller MAchine Upgrades", path:"East->PA->Philadelphia->Electrical->Panels",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->PA->Philadelphia->Plumbing",redflag: "", owner: "University of MD", ins: 33, obs: 34, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"West->CA->San Diego->Engineering",redflag: "", owner: "University of MD", ins: 33, obs: 1, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"West->CA->San Diego->Marketing",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Saks Avenue", path:"West->CA->San Diego->Marketing",redflag: "", owner: "University of MD", ins: 33, obs: 1, unsafe: 9, safe: 222, insDate: "10/12/2011", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" } ]; isc.DataSource.create({ ID: "ds", fields: [ //{name:PATH_DS_NAME, title:"Hierarchy", type:"text", groupingModes:[PATH_GROUP_NORMAL,PATH_GROUP_FULL]}, {name:"project", title:"Project", type:"text" }, {name:"redflag", type:"text", title:"Flag"}, {name:"owner", type:"text", title:"Owner"}, {name:"ins", type:"integer", title:"#Inspections"}, {name:"obs", type:"integer", title:"#Observations"}, {name:"unsafe", type:"integer", title:"# Non-Compliant"}, {name:"safe", type:"integer", title:"# Compliant"}, {name:"insDate", type:"date", title:"Last Inspection"} ], cacheData:data, clientOnly: true }); // once page loads set some diagnostic information, DO NOT CHANGE isc.Page.setEvent("load", function() { document.title = JIRA_TICKET + " (SmartClient version " + isc.versionNumber + ")"; var html = []; html.push("Jira: " + JIRA_TICKET); html.push("SmartClient: " + isc.versionNumber); html.push("Browser: " + navigator.appCodeName + " " + navigator.appName + " " + navigator.appVersion); diagLabel.setContents( html.join("<br>")); }); </script> </head> <body> <script> // ===== DO NOT REMOVE ===== var diagLabel = isc.Label.create({ ID: "diagInfo", width: "100%", styleName: "diagInfo", autoFit: true }); // ===== DO NOT REMOVE ===== // basic grid var grid = isc.ListGrid.create({ dataSource: ds, dataFetchMode : "local", autoFetchData: true, clientOnly: true, position: "relative", width : "100%", align : "center", autoFitData : "vertical", autoFitMaxHeight : 400, alternateRecordStyles : true, canAddFormulaFields : true, canAddSummaryFields : true, canGroupBy : true, canReorderFields : true, showGroupSummary : true, useAdvancedFieldPicker: true, advancedFieldPickerThreshold: 5, autoDraw: false, badFormulaResultValue: "NA", canMultiGroup: true }); // the main page layout - place all other components afetr diagLabel var layout = isc.VLayout.create({ width:"100%", membersMargin: 20, members: [ // ===== DO NOT REMOVE diagLabel diagLabel, // ===== place anty components here grid ] }); </script> </body> </html>
Comment