I'm creating an extension that will create a table and display a response for the user. I want to be able to color some cells depending on the response they get (true/false). Is there a way to do that? Coding?
@fabianabbc wrote:I'm creating an extension that will create a table and display a response for the user. I want to be able to color some cells depending on the response they get (true/false). Is there a way to do that? Coding? MetroSurvey
Hello,
To color code cells based on user responses in a table within your extension, you'll need to use HTML and CSS. Use JavaScript to dynamically modify cell styles. Set a class or inline style with appropriate colors based on the response.
Hey @fabianabbc,
I'm not too familiar with your use-case, but here's a script that will do allow you to dynamically set colour codes, assuming the column name is "Response" and the values are "True" or "False":
// Get the table
let tableName = "My Table";
let table = base.getTable(tableName);
// Define the "Response" field
let responseField = table.getField("Response");
// Update the options for the "Response" field
await responseField.updateOptionsAsync({
choices: [
...responseField.options.choices.filter((choice) => choice.name !== 'True' && choice.name !== 'False'),
{name: 'True', color: 'green'},
{name: 'False', color: 'red'},
],
});
// Define the records you want to create
let records = [
{ fields: { 'Response': { name: 'True' } } },
{ fields: { 'Response': { name: 'False' } } },
{ fields: { 'Response': { name: 'True' } } },
];
// Create the records in the table
await table.createRecordsAsync(records);
// Display a response to the user
output.text("Records have been created!");
Hey @fabianabbc,
I'm not too familiar with your use-case, but here's a script that will do allow you to dynamically set colour codes, assuming the column name is "Response" and the values are "True" or "False":
// Get the table
let tableName = "My Table";
let table = base.getTable(tableName);
// Define the "Response" field
let responseField = table.getField("Response");
// Update the options for the "Response" field
await responseField.updateOptionsAsync({
choices: [
...responseField.options.choices.filter((choice) => choice.name !== 'True' && choice.name !== 'False'),
{name: 'True', color: 'green'},
{name: 'False', color: 'red'},
],
});
// Define the records you want to create
let records = [
{ fields: { 'Response': { name: 'True' } } },
{ fields: { 'Response': { name: 'False' } } },
{ fields: { 'Response': { name: 'True' } } },
];
// Create the records in the table
await table.createRecordsAsync(records);
// Display a response to the user
output.text("Records have been created!");
Hey! So I tried this code but it seems it's for script. Is that different from an extension code? cuz it's not working for me 😕😕 and I can't use output in an extension code.
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.