@@ -606,30 +606,52 @@ fun RequestEditorView(
606606 }
607607
608608 fun List<UserKeyValuePair>.countActive () = count { it.isEnabled }
609-
610- val tabBadgeNum = { tab: RequestTab -> when (tab) {
611- RequestTab .Body -> when (val body = selectedExample.body) {
612- is FileBody -> isApplicable { it.overrides?.isOverrideBody } * body.filePath.countNotBlank()
613- is FormUrlEncodedBody -> body.value.countActive()
614- is MultipartBody -> body.value.countActive()
615- is GraphqlBody -> isApplicable { it.overrides?.isOverrideBodyContent } * body.document.countNotBlank() +
616- isApplicable { it.overrides?.isOverrideBodyVariables } * body.variables.countNotBlank()
617- is StringBody -> isApplicable { it.overrides?.isOverrideBody } * body.value.countNotBlank()
618- null -> 0
609+ fun UserRequestTemplate.Scope.countActive (
610+ propertyGetter : (UserRequestExample ) -> List <UserKeyValuePair >? ,
611+ disabledIds : Set <String >? ,
612+ environmentPropertyGetter : (Environment ) -> List <UserKeyValuePair > = { emptyList() },
613+ ) = concatActiveValues(propertyGetter, disabledIds, environmentPropertyGetter).count()
614+
615+ fun UserRequestTemplate.Scope.countNotBlank (
616+ propertyGetter : (UserRequestExample ) -> String? ,
617+ isOverride : Boolean?
618+ ): Int {
619+ val example = if (isOverride == true ) {
620+ selectedExample
621+ } else {
622+ baseExample
619623 }
620- RequestTab .Query -> selectedExample.queryParameters.countActive()
621- RequestTab .Header -> selectedExample.headers.countActive()
622- RequestTab .PreFlight -> isApplicable { it.overrides?.isOverridePreFlightScript } *
623- selectedExample.preFlight.executeCode.countNotBlank() +
624- selectedExample.preFlight.updateVariablesFromHeader.countActive() +
625- selectedExample.preFlight.updateVariablesFromQueryParameters.countActive() +
626- selectedExample.preFlight.updateVariablesFromBody.countActive() +
627- selectedExample.preFlight.updateVariablesFromGraphqlVariables.countActive()
628- RequestTab .PostFlight -> selectedExample.postFlight.updateVariablesFromHeader.countActive() +
629- selectedExample.postFlight.updateVariablesFromBody.countActive()
630- RequestTab .Cookie -> if (subprojectConfig.isCookieEnabled()) applicableCookies.countActive() else 0
631- RequestTab .Variable -> selectedExample.variables.countActive()
632- } }
624+ return propertyGetter(example).countNotBlank()
625+ }
626+
627+ val scope = request.createScope(selectedExample.id, environment)
628+
629+ val tabBadgeNum = with (scope) {
630+ val overrides = selectedExample.overrides
631+ { tab: RequestTab -> when (tab) {
632+ RequestTab .Body -> when (selectedExample.body) {
633+ is FileBody -> countNotBlank({ (it.body as ? FileBody )?.filePath }, overrides?.isOverrideBody)
634+ is FormUrlEncodedBody -> countActive({ (it.body as ? FormUrlEncodedBody )?.value }, overrides?.disabledBodyKeyValueIds)
635+ is MultipartBody -> countActive({ (it.body as ? MultipartBody )?.value }, overrides?.disabledBodyKeyValueIds)
636+ is GraphqlBody -> countNotBlank({ (it.body as ? GraphqlBody )?.document }, overrides?.isOverrideBodyContent) +
637+ countNotBlank({ (it.body as ? GraphqlBody )?.variables }, overrides?.isOverrideBodyVariables)
638+ is StringBody -> countNotBlank({ (it.body as ? StringBody )?.value }, overrides?.isOverrideBody)
639+ null -> 0
640+ }
641+ RequestTab .Query -> countActive({ it.queryParameters }, overrides?.disabledQueryParameterIds)
642+ RequestTab .Header -> countActive({ it.headers }, overrides?.disabledHeaderIds)
643+ RequestTab .PreFlight ->
644+ countNotBlank({ it.preFlight.executeCode }, overrides?.isOverridePreFlightScript) +
645+ countActive({ it.preFlight.updateVariablesFromHeader }, overrides?.disablePreFlightUpdateVarIds) +
646+ countActive({ it.preFlight.updateVariablesFromBody }, overrides?.disablePreFlightUpdateVarIds) +
647+ countActive({ it.preFlight.updateVariablesFromQueryParameters }, overrides?.disablePreFlightUpdateVarIds) +
648+ countActive({ it.preFlight.updateVariablesFromGraphqlVariables }, overrides?.disablePreFlightUpdateVarIds)
649+ RequestTab .PostFlight -> countActive({ it.postFlight.updateVariablesFromHeader }, overrides?.disablePostFlightUpdateVarIds) +
650+ countActive({ it.postFlight.updateVariablesFromBody }, overrides?.disablePostFlightUpdateVarIds)
651+ RequestTab .Cookie -> if (subprojectConfig.isCookieEnabled()) applicableCookies.countActive() else 0
652+ RequestTab .Variable -> request.getAllVariables(selectedExampleId, environment).count()
653+ } }
654+ }
633655
634656 TabsView (
635657 modifier = Modifier .fillMaxWidth().background(color = colors.backgroundLight).testTag(TestTag .RequestParameterTypeTabContainer .name),
0 commit comments