operand1: operandNotEmpty()

in libs/designer-ui/src/lib/querybuilder/Row.tsx [201:302]


          operand1: operandNotEmpty(operand1) ? operand1 : [createEmptyLiteralValueSegment()],
          operator: operator ?? 'equals',
          operand2: newState.value,
        },
        index
      );
    }
  };

  const handleCheckbox = () => {
    handleUpdateParent(
      { type: GroupType.ROW, checked: !checked, operand1: operand1, operator: operator ?? RowDropdownOptions.EQUALS, operand2: operand2 },
      index
    );
  };

  const onRenderOverflowButton = (): JSX.Element => {
    const calloutProps: ICalloutProps = {
      directionalHint: DirectionalHint.leftCenter,
    };

    const rowCommands = intl.formatMessage({
      defaultMessage: 'More commands',
      id: 'GdGm4T',
      description: 'Label for commands in row',
    });
    return (
      <TooltipHost calloutProps={calloutProps} content={rowCommands}>
        <IconButton
          ariaLabel={rowCommands}
          styles={overflowStyle}
          menuIconProps={menuIconProps}
          menuProps={rowMenuItems && { items: rowMenuItems }}
        />
      </TooltipHost>
    );
  };

  const rowValueInputPlaceholder = intl.formatMessage({
    defaultMessage: 'Choose a value',
    id: 'ydqOly',
    description: 'placeholder text for row values',
  });

  return (
    <div className={css('msla-querybuilder-row-container', !forceSingleCondition && 'showBorder')}>
      {forceSingleCondition ? null : (
        <>
          <div className="msla-querybuilder-row-gutter-hook" />
          <Checkbox
            disabled={readonly}
            className="msla-querybuilder-row-checkbox"
            initialChecked={checked}
            onChange={handleCheckbox}
            key={JSON.stringify(checked)}
          />
        </>
      )}
      <div className="msla-querybuilder-row-content">
        <StringEditor
          valueType={constants.SWAGGER.TYPE.ANY}
          readonly={readonly}
          className={'msla-querybuilder-row-value-input'}
          initialValue={operand1}
          placeholder={rowValueInputPlaceholder}
          getTokenPicker={getTokenPicker}
          clearEditorOnTokenInsertion={clearEditorOnTokenInsertion}
          onChange={handleKeyChange}
          editorBlur={handleKeySave}
          tokenPickerButtonProps={{
            location: TokenPickerButtonLocation.Left,
            newlineVerticalOffset: isSimpleQueryBuilder ? 16.5 : 16,
            horizontalOffSet: isSimpleQueryBuilder ? undefined /* uses default of 38*/ : 33,
          }}
          {...baseEditorProps}
        />
        <RowDropdown disabled={readonly || key.length === 0} condition={operator} onChange={handleSelectedOption} key={operator} />
        <StringEditor
          valueType={constants.SWAGGER.TYPE.ANY}
          readonly={readonly || (key.length === 0 && operand2.length === 0)}
          className={'msla-querybuilder-row-value-input'}
          initialValue={operand2}
          placeholder={rowValueInputPlaceholder}
          getTokenPicker={getTokenPicker}
          editorBlur={handleValueSave}
          clearEditorOnTokenInsertion={clearEditorOnTokenInsertion}
          tokenPickerButtonProps={{
            location: TokenPickerButtonLocation.Left,
            newlineVerticalOffset: isSimpleQueryBuilder ? 16.5 : 16,
            horizontalOffSet: 33,
          }}
          {...baseEditorProps}
        />
      </div>
      {forceSingleCondition ? null : (
        <OverflowSet
          className="msla-querybuilder-row-more"
          styles={overflowStyle}
          items={[]}
          overflowItems={rowMenuItems}
          onRenderOverflowButton={onRenderOverflowButton}
          onRenderItem={(_item: IOverflowSetItemProps) => {