@@ -707,14 +707,6 @@ export default function ext(_galaxy) {
707707 item . action === 'feedback' &&
708708 item . feedback ?. enableComment !== false ,
709709 } ,
710- feedbackCollectFields : {
711- ref : 'feedback.collectFields' ,
712- label : 'Context fields (comma-separated)' ,
713- type : 'string' ,
714- defaultValue :
715- 'userName,appId,sheetId,urlPath,platform,timestamp' ,
716- show : ( item ) => item . action === 'feedback' ,
717- } ,
718710 feedbackDialogTitle : {
719711 ref : 'feedback.dialogStrings.title' ,
720712 label : 'Dialog title override (overrides global)' ,
@@ -723,6 +715,59 @@ export default function ext(_galaxy) {
723715 show : ( item ) => item . action === 'feedback' ,
724716 } ,
725717
718+ // -- Context field toggles (expandable) --
719+ feedbackContextFields : {
720+ component : 'expandable-items' ,
721+ label : 'Context Fields' ,
722+ show : ( item ) => item . action === 'feedback' ,
723+ items : {
724+ dialogFieldsSection : {
725+ type : 'items' ,
726+ label : 'Show in Dialog' ,
727+ items : {
728+ dfInfo : { component : 'text' , label : 'Fields visible to the user in the feedback dialog.' } ,
729+ dfUserName : { ref : 'feedback.dialogFields.userName' , label : 'User Name' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
730+ dfPlatform : { ref : 'feedback.dialogFields.platform' , label : 'Platform' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
731+ dfAppId : { ref : 'feedback.dialogFields.appId' , label : 'App ID' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
732+ dfSheetId : { ref : 'feedback.dialogFields.sheetId' , label : 'Sheet ID' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
733+ dfUrlPath : { ref : 'feedback.dialogFields.urlPath' , label : 'URL Path' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
734+ dfTimestamp : { ref : 'feedback.dialogFields.timestamp' , label : 'Timestamp' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
735+ dfUserId : { ref : 'feedback.dialogFields.userId' , label : 'User ID' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
736+ dfUserDir : { ref : 'feedback.dialogFields.userDirectory' , label : 'User Directory' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
737+ dfSenseVer : { ref : 'feedback.dialogFields.senseVersion' , label : 'Qlik Sense Version' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
738+ dfBrowser : { ref : 'feedback.dialogFields.browser' , label : 'Browser' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
739+ dfTenantId : { ref : 'feedback.dialogFields.tenantId' , label : 'Tenant ID' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
740+ dfStatus : { ref : 'feedback.dialogFields.status' , label : 'Status' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
741+ dfPicture : { ref : 'feedback.dialogFields.picture' , label : 'Picture' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
742+ dfZoneinfo : { ref : 'feedback.dialogFields.preferredZoneinfo' , label : 'Preferred Zone Info' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
743+ dfRoles : { ref : 'feedback.dialogFields.roles' , label : 'Roles' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
744+ } ,
745+ } ,
746+ payloadFieldsSection : {
747+ type : 'items' ,
748+ label : 'Include in Payload' ,
749+ items : {
750+ pfInfo : { component : 'text' , label : 'Fields included in the webhook POST payload (may differ from dialog).' } ,
751+ pfUserName : { ref : 'feedback.payloadFields.userName' , label : 'User Name' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
752+ pfPlatform : { ref : 'feedback.payloadFields.platform' , label : 'Platform' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
753+ pfAppId : { ref : 'feedback.payloadFields.appId' , label : 'App ID' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
754+ pfSheetId : { ref : 'feedback.payloadFields.sheetId' , label : 'Sheet ID' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
755+ pfUrlPath : { ref : 'feedback.payloadFields.urlPath' , label : 'URL Path' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
756+ pfTimestamp : { ref : 'feedback.payloadFields.timestamp' , label : 'Timestamp' , type : 'boolean' , component : 'switch' , defaultValue : true , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
757+ pfUserId : { ref : 'feedback.payloadFields.userId' , label : 'User ID' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
758+ pfUserDir : { ref : 'feedback.payloadFields.userDirectory' , label : 'User Directory' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
759+ pfSenseVer : { ref : 'feedback.payloadFields.senseVersion' , label : 'Qlik Sense Version' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
760+ pfBrowser : { ref : 'feedback.payloadFields.browser' , label : 'Browser' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
761+ pfTenantId : { ref : 'feedback.payloadFields.tenantId' , label : 'Tenant ID' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
762+ pfStatus : { ref : 'feedback.payloadFields.status' , label : 'Status' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
763+ pfPicture : { ref : 'feedback.payloadFields.picture' , label : 'Picture' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
764+ pfZoneinfo : { ref : 'feedback.payloadFields.preferredZoneinfo' , label : 'Preferred Zone Info' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
765+ pfRoles : { ref : 'feedback.payloadFields.roles' , label : 'Roles' , type : 'boolean' , component : 'switch' , defaultValue : false , options : [ { value : true , label : 'On' } , { value : false , label : 'Off' } ] } ,
766+ } ,
767+ } ,
768+ } ,
769+ } ,
770+
726771 // -- Per-item colors --
727772 itemColorsHeader : {
728773 component : 'text' ,
0 commit comments