Repeater conditions don't seem to be applying the same way when you preview on the browser

I have a repeater which I have used to create a permissions table. The columns are …

Data: (some text), View: (‘true’, ‘false’, ‘’), Edit: (‘true’, ‘false’, ‘’), Create: (‘true’, ‘false’, ‘’), Delete: (‘true’, ‘false’, ‘’). View, Edit, Create & Delete have checkboxes in them which are unticked by default.

If the value is true then the checkbox is selected.
If the value is empty the checkbox is hidden.

This is setup on repeater Item Loaded.

In the application it looks fine. When I preview in the browser for some reason my false scenarios are hiding the checkbox from Edit onwards instead of doing nothing. I tried toggling if and else if conditions for each checkbox option but that doesn’t seem to have made any difference. The app shows it correctly but the browser doesn’t do the same thing as the app

APPLICATION VIEW (CORRECT)

LOGIC

BROWSER VIEW (INCORRECT)

If I add an extra condition to show the edit checkbox when the value is false then it just shows all of the edit checkboxes in the browser incorrectly but the application still shows the correct state.

UPDATED LOGIC TO SHOW EDIT CHECKBOXES WHEN VALUE IS FALSE

INCORRECT BROWSER RESULT

When I updated the repeater data and logic to using numbers …

Data: (some text), View: (‘1’, ‘0’, ‘’), Edit: (‘1’, ‘0’, ‘’), Create: (‘1’, ‘0’, ‘’), Delete: (‘1’, ‘0’, ‘’)

it shows correctly in the browser:

CORRECT IN THE BROWSER

UPDATED LOGIC

I’m don’t know if it has anything to do with it, but it may be confusing the words “True” or “False” as keywords.
I certainly can say, that you shouldn’t name components “index”, as “index” is a keyword in Axure and it seems to be getting them confused.

But I’m only guessing.

So you solved your issue by using numbers, right? Good to go then?

If you want to use text values of “true” and “false” it is certainly possible, and I do that all the time. It looks like your case logic in the Item Loaded event could be improved. First, let’s look at your logic rules as you’ve stated them:

So the columns with checkboxes have 3 possible values: “true”, “false”, and “” (empty/blank/null string).

You’ve handled 2 of the 3 possible values. There doesn’t seem to be any provision for a value of “false”. Can we assume this is the full rule set:

  • IF [[Item.xxx]] equals “true” Show checkbox, Set checkbox to selected.
  • ELSE IF [[Item.xxx]] equals “false” Show checkbox, Set checkbox to unselected.
  • ELSE IF [[Item.xxx]] equals “” Hide checkbox
    • Better logic is ELSE IF [[Item.xxx]] does not equal “true” AND [[Item.xxx]] does not equal “false”
    • Better yet would be to hide your checkbox widget by default, and only show it if the [[Item.xxx]] value is “true” or “false”. In this way, you don’t need this third ELSE IF case.
    • I’ve found that if you call an Update Row action and try to set the value of a column to blank it gets ignored, so you need to assign some string, such as “hide” or “off” or “no” or whatever–anything that would not be “true” or “false”.

…Kind of hard to tell what exactly is going on in your examples because we can’t see the repeater dataset, or repeater cell with widgets, or test it out by clicking on things in a Preview. It is usually best to upload your .rp file so forum users can inspect it and offer solutions by then uploading an updated .rp file which you can then inspect–especially with repeaters because they are slippery little buggers!

The issue is that the application on a mac shows the correct state but in the browser it shows something completely different. No matter if I updated my logic etc. It is confusing the true false text by the looks of it in the browser vs in the desktop application.

I think it is a bug due to inconsistencies.

Yes I think the browser version of the logic is confusing true and false but the application on a mac desktop shows the state correctly. So it’s a bit inconsistent.

I haven’t used index anywhere… Is there a list somewhere of values that are reserved or shouldn’t be used in Axure when using logic.

I don’t know…
With the “index” thing I just observed this was happening.

Hard to tell what is really going on without seeing your .rp file. You can file a request for help or submit a bug to support@axure.com