Hi, I would like to ask the community three questions. Prior to asking the quest

Hi, I would like to ask the community three questions. Prior to asking the questions, I would like to give some context and please do let me know if you have questions here:

I am trying to construct a reusable editable grid and trying to make the 'rows' attribute as much generic as possible. In this attempt I have made the rule reference as input, which means that anyone who uses this reusable grid would be able to use their own rule which renders grid row layout.

So simply speaking, the reusable grid rule looks like below:

editableGrid
-----------------
a!gridLayout(
/*Other attributes of gridLayout removed to make it look simple*/
rows: a!applyComponents(
ri!nameOfItemsRowEachRule(
ri!items,
_,
ri!itemsToken
),
if(or(isnull(ri!items), count(ri!items) < 1), {}, 1+enumerate(count(ri!items))),
ri!itemsToken
)
                    /* where ri!name...

OriginalPostID-169115

OriginalPostID-169115

  Discussion posts and replies are publicly visible

Parents
  • ... i!rows(
    ri!items,
    _,
    ri!itemsToken
    ),
    if(or(isnull(ri!items), count(ri!items) < 1), {}, 1+enumerate(count(ri!items))),
    ri!itemsToken
    )
                        /* where ri!rows is of 'Any Type' */
    )

    But to my surprise, Appian hasn't allowed me to use the word 'rows' (Also to make a note, 'rows' is an attribute of the a!gridLayout()) and so I renamed it to 'nameOfItemsRowEachRule', which thereby resolved the issue. And the approach now opted by me is as follows:
    a!gridLayout(
    /*Other attributes of gridLayout removed*/
    rows: a!applyComponents(
    ri!nameOfItemsRowEachRule(
    ri!items,
    _,
    ri!itemsToken
    ),
    if(or(isnull(ri!items), count(ri!items) < 1), {}, 1+enumerate(count(ri!items))),
    ri!itemsToken
    )
                        /* where ri!nameOfItemsRowEachRule is of 'Any Type' */
    )

    So, finally my questions are as follows:
    1. Won't Appian allow the rules (Rule...
Reply
  • ... i!rows(
    ri!items,
    _,
    ri!itemsToken
    ),
    if(or(isnull(ri!items), count(ri!items) < 1), {}, 1+enumerate(count(ri!items))),
    ri!itemsToken
    )
                        /* where ri!rows is of 'Any Type' */
    )

    But to my surprise, Appian hasn't allowed me to use the word 'rows' (Also to make a note, 'rows' is an attribute of the a!gridLayout()) and so I renamed it to 'nameOfItemsRowEachRule', which thereby resolved the issue. And the approach now opted by me is as follows:
    a!gridLayout(
    /*Other attributes of gridLayout removed*/
    rows: a!applyComponents(
    ri!nameOfItemsRowEachRule(
    ri!items,
    _,
    ri!itemsToken
    ),
    if(or(isnull(ri!items), count(ri!items) < 1), {}, 1+enumerate(count(ri!items))),
    ri!itemsToken
    )
                        /* where ri!nameOfItemsRowEachRule is of 'Any Type' */
    )

    So, finally my questions are as follows:
    1. Won't Appian allow the rules (Rule...
Children
No Data