如何设置search parameter的默认operator

101 阅读1分钟

在object creation UI点击Base Category的F4 help后,
clipboard1

在弹出的category advanced search UI上,Object Family 的operator默认设置成 Is not empty:

clipboard2

实现方法:

  1. 在Component workbench里,将values绑在advanced search context node的PARAMETERS attribute上。
    clipboard3
  2. 在Category advanced search的view controller DO_PREPARE_OUTPUT 方法里,call super->DO_PREPARE_OUTPUT, 进而会触发super class的BUILD_PARAMETER_TAB方法:
    clipboard6

me->PARAMETERS即为最后显示在Category advanced search UI上的search attribute name,operator和default value。

clipboard4

由于此时没有为object family维护任何值,因此 其status如下:
clipboard5

  1. 框架会call context node redefine的GET_SUPPORTED_OPERATORS:
    clipboard7

这里Product application会告诉框架,OBJECT_FAMILY和PRODUCT_TYPE 支持的operator类型。
clipboard8
在这里框架将OBJECT_FAMILY的EQ * 改成了NM, 并且清除了LOW 的value。
clipboard9
最后显示效果如下:
clipboard10