Skip to main content
stephenk0001
March 20, 2025
Question

Editable Grid interface with rule input array, of type "Map"

  • March 20, 2025
  • 4 replies
  • 0 views

my rule input is an array of data, using a map data type to pull in multiple records from the Software and related Software Category record types:

mappedValue (1 item)List of Map
[[decision:false,software:[SAL Software id=29, name= sint veniam magna, vendorName= commodo amet proident, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]; [SAL Software id=30, name=elit dolor nostrud, vendorName=dolor pariatur nulla, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]; [SAL Software id=31, name=Adobe Acrobat, vendorName=Microsoft, softwareCategory=[SAL Software Category id=10, name=Paul Test Category, description=Paul Test Category]]; [SAL Software id=32, name=Microsoft CRM, vendorName=Microsoft, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]; [SAL Software id=33, name=Microsoft CR#, vendorName=Microsoft, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]]]

[1]
[decision:false,software:[SAL Software id=29, name= sint veniam magna, vendorName= commodo amet proident, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]; [SAL Software id=30, name=elit dolor nostrud, vendorName=dolor pariatur nulla, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]; [SAL Software id=31, name=Adobe Acrobat, vendorName=Microsoft, softwareCategory=[SAL Software Category id=10, name=Paul Test Category, description=Paul Test Category]]; [SAL Software id=32, name=Microsoft CRM, vendorName=Microsoft, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]; [SAL Software id=33, name=Microsoft CR#, vendorName=Microsoft, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]]

decision
false

software (5 items)
[[SAL Software id=29, name= sint veniam magna, vendorName= commodo amet proident, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]; [SAL Software id=30, name=elit dolor nostrud, vendorName=dolor pariatur nulla, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]; [SAL Software id=31, name=Adobe Acrobat, vendorName=Microsoft, softwareCategory=[SAL Software Category id=10, name=Paul Test Category, description=Paul Test Category]]; [SAL Software id=32, name=Microsoft CRM, vendorName=Microsoft, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]; [SAL Software id=33, name=Microsoft CR#, vendorName=Microsoft, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]]

[1]
[SAL Software id=29, name= sint veniam magna, vendorName= commodo amet proident, softwareCategory=[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]]

id
29

name
sint veniam magna

vendorName
commodo amet proident

softwareCategory
[SAL Software Category id=7, name=Custom Applications, description=software developed in-house to fulfil specific purposes]

id
7

name
Custom Applications

description
software developed in-house to fulfil specific purposes

[2]
[SAL Software id=30, name=elit dolor nostrud, vendorName=dolor pariatur nulla, softwareCategory=[SAL Software Category id=6, name=Component, description=required for other software to run]]

id
30

name
elit dolor nostrud

vendorName
dolor pariatur nulla

softwareCategory
[SAL Software Category id=6, name=Component, description=required for other software to run]

[3]
[SAL Software id=31, name=Adobe Acrobat, vendorName=Microsoft, softwareCategory=[SAL Software Category id=10, name=Paul Test Category, description=Paul Test Category]]

id
31

name
Adobe Acrobat

vendorName
Microsoft

softwareCategory
[SAL Software Category id=10, name=Paul Test Category, description=Paul Test Category]

id
10

name
Paul Test Category

description
Paul Test Category

4 replies

mikes0011
Brainy
March 20, 2025

FYI you might want to modify your original post and remove the data you originally pasted, insted copying and pasting into a Plaintext Editor first, because it all has hyperlinks pointing (presumably) to your appain environment at the moment:

(also, copying and pasting seemingly the entire process data set here is really not relevant - can you refine it a bit to include only what's relevant to your question?)

mikes0011
Brainy
March 20, 2025

Your structure is incorrect for your rows.

For an editable grid, "rows: {}" should contain an array of rows (one for each item in the data set you choose).

Each row should be a single gridRowLayout() containing an array of components (one for each column).

Instead what you have here is backwards, essentially you're creating a single row and then repeating each component multiple times.

Just guessing, but you probably want a structure more like:

rows: a!forEach(
  items: ri!mappedValue,
  expression: a!gridRowLayout(
    contents: { /* your individual components go here */ }
  )
)

stephenk0001
September 17, 2025

Hi Mike

Thanks for your response.

I'm not sure whether I got it right  - here's what my structure looks like now:

As I understand it, to get a separate approval for a title I need to save into each mapped value item in my rule input, which looks like this:

In essence, for each title I need to be able to save a decision.

I'm just not sure how to proceed from here.

mikes0011
Brainy
September 17, 2025
I'm just not sure how to proceed from here

If you haven't built your prototype GridRowLayout yet, start with that, and give it 1 field, and get that working.  Then add another field.