[Dashboard] [Control] Remove support for scripted fields for options list (#144643) (#144744)

* Remove support for scripted fields for all controls

* Remove support only for options list

* Add functional test

(cherry picked from commit 508f0127e3)
This commit is contained in:
Hannah Mudge 2022-11-07 14:13:22 -07:00 committed by GitHub
parent adf074014b
commit 91edd82b92
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 2 deletions

View file

@ -56,8 +56,9 @@ export class OptionsListEmbeddableFactory
public isFieldCompatible = (dataControlField: DataControlField) => {
if (
(dataControlField.field.aggregatable && dataControlField.field.type === 'string') ||
dataControlField.field.type === 'boolean'
!dataControlField.field.spec.scripted &&
((dataControlField.field.aggregatable && dataControlField.field.type === 'string') ||
dataControlField.field.type === 'boolean')
) {
dataControlField.compatibleControlTypes.push(this.type);
}

View file

@ -172,6 +172,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboard.clearUnsavedChanges();
});
it('cannot create options list for scripted field', async () => {
expect(await dashboardControls.optionsListEditorGetCurrentDataView(true)).to.eql(
'animals-*'
);
await dashboardControls.openCreateControlFlyout();
await testSubjects.missingOrFail('field-picker-select-isDog');
await dashboardControls.controlEditorCancel(true);
});
after(async () => {
await dashboardControls.clearAllControls();
});