Table row edit - Textarea field not allowing new line or Rows to Display

edited November 1, 2019 in Questions
When creating a new line on a table row, a number of fields are displaying in edit mode, as expected - however, all of the input fields appear to be just that - just input fields. It doesn't appear to matter what the field type is, at least when it comes to text.

My user would like to be able to enter multiple lines in a particular Textarea field while creating the line from this table. Enter doesn't go to a new line.

Comments

  • edited October 30, 2019
    I'm not sure if I understand the issue here so can you elaborate more on it? Is the Textarea field not allowing typing multiple lines on a Table component? Is your page using v1 or v2 (Ink) components? XML might be helpful as well.

    My repro is not so successful, as I'm able to type on multiple lines:


    Could it be the Skuid version you're running? I found this other post from a year ago:
    https://community.skuid.com/skuid/topics/textarea-rows-to-display-not-working

  • edited October 31, 2019
    Derp. I meant to mention this is in API v2. This is one of our first pages using the new API, so we're still trying to figure out the kinks.
    XML below:

    <skuid__page unsavedchangeswarning="yes" personalizationmode="server" showsidebar="false" showheader="true" globalfeedbackenabled="false" theme="LEX">
    <models>
    <model id="Payable" limit="" query="false" createrowifnonefound="true" datasource="salesforce" sobject="AcctSeed__Account_Payable__c">
    <fields>
    <field id="AcctSeed__AP_Disbursement_Count__c"/>
    <field id="AcctSeed__Payee_Reference__c"/>
    <field id="AcctSeed__Status__c"/>
    <field id="AcctSeed__Recurring_Account_Payable__c"/>
    <field id="AcctSeed__Recurring_Account_Payable__r.Name"/>
    <field id="Purchase_Order__c"/>
    <field id="Purchase_Order__r.Name"/>
    <field id="Accounting_Variable_1__c"/>
    <field id="Accounting_Variable_1__r.Name"/>
    <field id="Internal_Note__c"/>
    <field id="Discount_Due_Date__c"/>
    <field id="AcctSeed__Discount_Amount__c"/>
    <field id="AcctSeed__Credit_Memo_Applied_Amount__c"/>
    <field id="AcctSeed__Vendor__c"/>
    <field id="AcctSeed__Vendor__r.Name"/>
    <field id="AcctSeed__Employee__c"/>
    <field id="AcctSeed__Employee__r.Name"/>
    <field id="AcctSeed__Vendor__r.Credit_Terms__c"/>
    <field id="AcctSeed__Date__c" overridemetadata="true" ogdisplaytype="DATE" displaytype="DATE" defaultvaluetype="fieldvalue" defaultValue="TODAY"/>
    <field id="AcctSeed__Due_Date__c"/>
    <field id="AcctSeed__Accounting_Period__c"/>
    <field id="AcctSeed__Accounting_Period__r.Name"/>
    <field id="DueDateCalc" uionly="true" displaytype="FORMULA" length="255" ogdisplaytype="TEXT" readonly="true" returntype="TEXT">
    <formula>YEAR({{AcctSeed__Date__c}})+'-'+(MONTH({{AcctSeed__Date__c}}))+'-'+{{DayCalc}}</formula>
    </field>
    <field id="DayCalc" uionly="true" displaytype="FORMULA" length="255" ogdisplaytype="TEXT" readonly="true" returntype="TEXT">
    <formula>DATE_ADD({{AcctSeed__Date__c}}, {{AcctSeed__Vendor__r.AcctSeed__Account_Payable_Terms__c}}, DAY)</formula>
    </field>
    <field id="Purchase_Order__r.PO_Date__c"/>
    <field id="Purchase_Order__r.PO_Total_Price__c"/>
    <field id="Purchase_Order__r.Supplier__c"/>
    <field id="Purchase_Order__r.Supplier__r.Name"/>
    </fields>
    <conditions/>
    <actions>
    <action>
    <actions>
    <action type="blockUI" duration="4" styleSettingsVariant="default" message="Loading..." timeout="5000"/>
    <action type="requeryModel" model="Vendor" behavior="standard"/>
    <action type="custom" snippet="Update Due Date"/>
    <action type="unblockUI"/>
    </actions>
    <events>
    <event>row.updated</event>
    </events>
    <fields>
    <field>AcctSeed__Date__c</field>
    <field>AcctSeed__Vendor__c</field>
    </fields>
    </action>
    </actions>
    </model>
    <model id="Vendor" limit="1" query="false" createrowifnonefound="false" datasource="salesforce" sobject="Account">
    <fields>
    <field id="RecordTypeId"/>
    <field id="Id"/>
    <field id="Name"/>
    <field id="Credit_Terms__c"/>
    <field id="AcctSeed__Account_Payable_Terms__c"/>
    <field id="DueDateCalc" uionly="true" displaytype="FORMULA" length="255" ogdisplaytype="TEXT" readonly="true" returntype="TEXT" defaultvaluetype="fieldvalue">
    <formula>YEAR({{DaysCalc}})+'-'+MONTH({{DaysCalc}})+'-'+DAY({{DaysCalc}})</formula>
    </field>
    <field id="DaysCalc" uionly="true" displaytype="FORMULA" length="255" ogdisplaytype="TEXT" readonly="true" returntype="TEXT">
    <formula>DATE_ADD({{$Model.Payable.data.0.AcctSeed__Date__c}}, {{AcctSeed__Account_Payable_Terms__c}}, DAY)</formula>
    </field>
    </fields>
    <conditions>
    <condition type="modelmerge" value="" field="Id" operator="=" model="Payable" enclosevalueinquotes="true" mergefield="AcctSeed__Vendor__c" novaluebehavior="deactivate" fieldtargetobjects="Account"/>
    </conditions>
    <actions/>
    </model>
    <model id="PayableLines" limit="" query="false" createrowifnonefound="false" datasource="salesforce" sobject="AcctSeed__Account_Payable_Line__c">
    <fields>
    <field id="AcctSeed__Amount__c"/>
    <field id="AcctSeed__Account_Payable__c"/>
    <field id="AcctSeed__Account_Payable__r.Name"/>
    <field id="AcctSeed__Quantity__c"/>
    <field id="AcctSeed__Date__c"/>
    <field id="AcctSeed__GL_Account_Variable_1__c"/>
    <field id="AcctSeed__GL_Account_Variable_1__r.Name"/>
    <field id="AcctSeed__Expense_GL_Account__c"/>
    <field id="AcctSeed__Expense_GL_Account__r.Name"/>
    <field id="AcctSeed__Internal_Comment__c"/>
    <field id="AcctSeed__Invoice_Comment__c"/>
    <field id="PO_Line_Item__c"/>
    <field id="PO_Line_Item__r.Name"/>
    <field id="PO_Line_Item__r.Purchase_Order__c"/>
    <field id="PO_Line_Item__r.Purchase_Order__r.Name"/>
    <field id="PO_Line_Item__r.Full_Part_Name__c"/>
    <field id="PO_Line_Item__r.Quantity_Recieved__c"/>
    <field id="PO_Line_Item__r.Total_Price__c"/>
    </fields>
    <conditions>
    <condition type="modelmerge" value="" field="AcctSeed__Account_Payable__c" fieldtargetobjects="AcctSeed__Account_Payable__c" operator="=" model="Payable" enclosevalueinquotes="true" mergefield="Id" novaluebehavior="deactivate"/>
    <condition type="modelmerge" value="" field="AcctSeed__Date__c" operator="=" model="Payable" enclosevalueinquotes="false" mergefield="AcctSeed__Date__c" novaluebehavior="deactivate"/>
    </conditions>
    <actions/>
    </model>
    </models>
    <components>
    <skuid__header model="Payable" title="New Payable" uniqueid="sk-3r8m-6844" separator="true" subtitle="v2.0" styleSettingsVariant="f3d3d8a1-ebd8-47de-a287-dbebcd2966d8">
    <renderConditions logictype="and"/>
    <styleVariantConditions/>
    <skuid__buttonSet model="Payable">
    <groups>
    <skuid__buttonGroup>
    <buttons>
    <skuid__button label="Save" uniqueId="sk-3rKd-29635" icon="sk-webicon-ink:checkmark" styleSettingsVariant="primary">
    <actions>
    <action type="save" rollbackonanyerror="true">
    <models>
    <model>Payable</model>
    <model>PayableLines</model>
    </models>
    <onerroractions>
    <action type="blockUI" message="There was an error" timeout="3000"/>
    </onerroractions>
    </action>
    <action type="redirect" window="self" url="/{{Id}}"/>
    </actions>
    <hotkeys>
    <hotkey modifiers="ctrl" key="s"/>
    </hotkeys>
    <renderConditions logictype="and"/>
    <enableConditions/>
    <styleVariantConditions/>
    <tooltip position="top"/>
    </skuid__button>
    <skuid__button label="Cancel" uniqueId="sk-3rKe-29979" icon="sk-webicon-ink:close" styleSettingsVariant="destructive">
    <hotkeys/>
    <tooltip position="top"/>
    <actions>
    <action type="cancel">
    <models>
    <model>Payable</model>
    <model>PayableLines</model>
    </models>
    </action>
    <action type="redirect" window="self" url="/{{Model.keyPrefix}}/o"/>
    </actions>
    </skuid__button>
    </buttons>
    </skuid__buttonGroup>
    </groups>
    </skuid__buttonSet>
    </skuid__header>
    <skuid__form showErrorsInline="true" model="Payable" uniqueid="sk-3r8y-7339" mode="edit">
    <sections>
    <section title="AP Information">
    <rows>
    <row>
    <fields>
    <skuid__field id="AcctSeed__Payee_Reference__c" showHelp="true">
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </skuid__field>
    <skuid__field id="AcctSeed__Discount_Amount__c" showHelp="true" step="1">
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </skuid__field>
    </fields>
    </row>
    <row>
    <fields>
    <skuid__field id="AcctSeed__Status__c" showHelp="false" required="true" displayAs="BUTTON_GROUP"/>
    <skuid__field id="AcctSeed__Credit_Memo_Applied_Amount__c" showHelp="true"/>
    </fields>
    </row>
    <row>
    <fields>
    <skuid__field id="Purchase_Order__c" showHelp="true" pageSize="5" displayTemplate="{{Name}}" searchTemplate="{{Name}} | {{PO_Date__c}} | {{Supplier__c}} | {{PO_Total_Price__c}}" tokenizeSearch="true" redirectType="datasourcedefault">
    <searchFields>
    <searchField query="true" return="true" show="true" field="Name" operator="contains"/>
    <searchField query="true" return="true" show="true" field="PO_Date__c"/>
    <searchField query="true" return="true" show="true" field="Supplier__c" fieldtargetobjects="Account" operator="="/>
    <searchField query="true" return="true" show="false" field="Supplier__r.Name"/>
    <searchField query="true" return="true" show="true" field="PO_Total_Price__c"/>
    </searchFields>
    <filters>
    <filter type="modelmerge" operator="=" field="Supplier__c" fieldtargetobjects="Account" value="" model="Payable" enclosevalueinquotes="true" mergefield="AcctSeed__Vendor__c" novaluebehavior="deactivate"/>
    </filters>
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </skuid__field>
    <skuid__field id="AcctSeed__Recurring_Account_Payable__c" showHelp="true" pageSize="5"/>
    </fields>
    </row>
    <row>
    <fields>
    <skuid__field id="Internal_Note__c" showHelp="true"/>
    <skuid__field id="Accounting_Variable_1__c" showHelp="true" required="true" redirectType="datasourcedefault" pageSize="5">
    <filters/>
    </skuid__field>
    </fields>
    </row>
    <row>
    <fields>
    <skuid__field id="Discount_Due_Date__c"/>
    </fields>
    </row>
    </rows>
    </section>
    <section title="Payee Information">
    <rows>
    <row>
    <fields>
    <skuid__field id="AcctSeed__Vendor__c" showHelp="true" pageSize="5" tokenizeSearch="true" displayTemplate="{{Name}}" searchTemplate="{{Name}}">
    <filters>
    <filter type="fieldvalue" operator="=" enclosevalueinquotes="false" field="AcctSeed__Accounting_Active__c" fieldtargetobjects="Account" value="true"/>
    <filter type="dependent" operator="=" field="AcctSeed__GL_Account_Variable_1__c" fieldtargetobjects="AcctSeed__Accounting_Variable__c" value="" enclosevalueinquotes="true" depfield="Accounting_Variable_1__c"/>
    <filter type="fieldvalue" operator="=" enclosevalueinquotes="true" field="Account_Type__c" fieldtargetobjects="Account" value="Supplier"/>
    </filters>
    <searchFields>
    <searchField query="true" return="true" show="true" field="Name" operator="contains"/>
    </searchFields>
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </skuid__field>
    <skuid__field id="AcctSeed__Date__c" showHelp="true" required="true"/>
    </fields>
    </row>
    <row>
    <fields>
    <skuid__field id="AcctSeed__Employee__c" showHelp="true" pageSize="5"/>
    <skuid__field id="AcctSeed__Due_Date__c" showHelp="true">
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions logictype="and"/>
    </skuid__field>
    </fields>
    </row>
    <row>
    <fields>
    <skuid__field type="COMBO" label="Credit Terms" readOnly="true" template="{{$Model.Vendor.data.0.Credit_Terms__c}}" redirectType="none">
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </skuid__field>
    <skuid__field id="AcctSeed__Accounting_Period__c" showHelp="true" pageSize="5">
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    <filters/>
    </skuid__field>
    </fields>
    </row>
    </rows>
    </section>
    </sections>
    <renderConditions logictype="and"/>
    <styleVariantConditions/>
    <styles>
    <spacing/>
    </styles>
    </skuid__form>
    <skuid__wrapper uniqueid="sk-3wI_-6027">
    <components>
    <skuid__table model="PayableLines" uniqueid="sk-3rAa-12675" mode="edit" allowSortingByColumn="false" showSaveCancel="false" title="Payable Lines" pageSize="10" rowActionsOnLeft="true">
    <fields>
    <field id="AcctSeed__Amount__c" uniqueid="fi-3rB9-16309" horizontalAlignment="right">
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </field>
    <field id="AcctSeed__Quantity__c" uniqueid="fi-3rB9-16310"/>
    <field id="AcctSeed__Date__c" uniqueid="fi-3rB9-16311"/>
    <field id="AcctSeed__GL_Account_Variable_1__c" uniqueid="fi-3rB9-16312" pageSize="5" redirectType="datasourcedefault">
    <filters/>
    <renderConditions logictype="and" onhidedatabehavior="keep"/>
    <enableConditions/>
    </field>
    <field id="AcctSeed__Expense_GL_Account__c" uniqueid="fi-3rB9-16313"/>
    <field id="AcctSeed__Internal_Comment__c" uniqueid="fi-3rB9-16314"/>
    <field id="AcctSeed__Invoice_Comment__c" uniqueid="fi-3rB9-16315"/>
    <field id="PO_Line_Item__c" uniqueid="fi-3rB9-16316" pageSize="5" displayTemplate="{{Name}}" searchTemplate="{{Name}} | {{Full_Part_Name__c}} | QTY:{{Quantity_Recieved__c}} | TTL:{{Total_Price__c}} | " tokenizeSearch="true">
    <searchFields>
    <searchField query="true" return="true" show="true" field="Name" operator="contains"/>
    <searchField query="true" return="true" show="true" field="Purchase_Order__c" fieldtargetobjects="Purchase_Order__c" operator="="/>
    <searchField query="true" return="true" show="false" field="Purchase_Order__r.Name" operator="contains"/>
    <searchField query="true" return="true" show="true" field="Full_Part_Name__c" operator="contains"/>
    <searchField query="true" return="true" show="true" field="Quantity_Recieved__c"/>
    <searchField query="true" return="true" show="true" field="Total_Price__c"/>
    </searchFields>
    <filters><br alt="" title="" name="" value="" type="" target=
  • edited October 31, 2019
    Hmm yeah I can reproduce that issue on a simple v2 page :( 

    A workaround might be to have an Edit row action that opens a Modal with a Form inside to do recording editing. Textarea fields do have multi-line editing ability. But the problem is, after you're done editing, all line breaks will still be removed on the table.
  • edited October 31, 2019
    That might be the best option, at least for now. I appreciate the help - I'll leave this question unsolved for now in case someone else has come across it, too.

    Thank you!
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!