I'm using inlineEdit in a UI grid, where in the xml I have a select widget:
<column name="foo" component="Magento_Ui/js/grid/columns/select">
<settings>
<label translate="true">Foo</label>
<options class="Vendor\Module\Model\Config\FooOptions"/>
<filter>select</filter>
<dataType>select</dataType>
<editor>
<editorType>select</editorType>
</editor>
</settings>
</column>
This works fine for single select, but I cannot figure out how to enable a multi-select widget in this context?
I have managed to get it half working. In the columns section, under settings and editorConfig, I add
<param name="templates">
as shown below, and if I put a static array of options under
<item name="multiselect" xsi:type="array">
, this works as desired, but if I instead want to use options provided by toOptionArray method in e.g. Foo\Bar\Model\Config\TestOptions (commented out below), this class is being loaded, I checked, but the toOptionArray() function in it is never called. Should I have some other function in there that provides the options for this multiselect?
<columns name="foo">
    <settings>           
        <editorConfig>
            ...
            <param name="templates" xsi:type="array">
                <item name="record" xsi:type="array">
                    <item name="templates" xsi:type="array">
                        <item name="fields" xsi:type="array">
                            <item name="multiselect" xsi:type="array">
                                <item name="component" xsi:type="string">Magento_Ui/js/form/element/multiselect</item>
                                <item name="template" xsi:type="string">ui/form/element/multiselect</item>
                                <!--<item name="options" xsi:type="object">Foo\Bar\Model\Config\TestOptions</item>-->
                                <item name="options" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="value" xsi:type="number">1</item>
                                        <item name="label" xsi:type="string" translate="true">Option #1</item>
                                    </item><item name="1" xsi:type="array">
                                        <item name="value" xsi:type="number">2</item>
                                        <item name="label" xsi:type="string" translate="true">Option #2</item>
                                    </item><item name="2" xsi:type="array">
                                        <item name="value" xsi:type="number">3</item>
                                        <item name="label" xsi:type="string" translate="true">Option #3</item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
            </param>
        </editorConfig>
     <settings>