排序枚举值

自定义枚举属性值的显示顺序。

本文档介绍如何自定义枚举属性值的显示顺序。更多详细内容请参考 iTop 官方文档

概述

iTop 3.1 引入了枚举属性值排序的新功能。

在 3.1 版本之前,枚举值按代码的字母顺序排序。

现在可以在 XML 中通过 sort_type 标签指定排序方式:

  • code(默认):与 3.1 之前的行为相同,按代码字母顺序排序
  • label:按标签的字母顺序排序(不同语言可能有不同的顺序)
  • rank:假设为每个值指定了 rank。有 rank 的值优先显示,按 rank 排序;没有 rank 的值随后按代码字母顺序排序

前置条件:熟悉教程中使用的语法,并已创建扩展。

按标签排序

<field id="origin" xsi:type="AttributeEnum">
  <sort_type>label</sort_type>
  <values>
    <value id="in_person"><code>in_person</code></value>
    <value id="chat"><code>chat</code></value>
    <value id="mail"><code>mail</code></value>
    <value id="phone"><code>phone</code></value>
    <value id="portal"><code>portal</code></value>
    <value id="monitoring"><code>monitoring</code></value>
  </values>
  <sql>origin</sql>
  <default_value>phone</default_value>
  <is_null_allowed>true</is_null_allowed>
  <display_style>list</display_style>
</field>

按 Rank 排序

<field id="status" xsi:type="AttributeEnum">
  <always_load_in_tables>true</always_load_in_tables>
  <sort_type>rank</sort_type>
  <values>
    <value id="new">
      <code>new</code>
      <rank>10</rank>
      <style>
        <main_color>$ibo-lifecycle-new-state-primary-color</main_color>
        <complementary_color>$ibo-lifecycle-new-state-secondary-color</complementary_color>
        <decoration_classes/>
      </style>
    </value>
    <value id="waiting_for_approval">
      <code>waiting_for_approval</code>
      <rank>20</rank>
      <style>
        <main_color>$ibo-lifecycle-waiting-state-primary-color</main_color>
        <complementary_color>$ibo-lifecycle-waiting-state-secondary-color</complementary_color>
        <decoration_classes>fas fa-hourglass-half</decoration_classes>
      </style>
    </value>
    <value id="approved">
      <code>approved</code>
      <rank>30</rank>
      <style>
        <main_color>$ibo-lifecycle-success-state-primary-color</main_color>
        <complementary_color>$ibo-lifecycle-success-state-secondary-color</complementary_color>
        <decoration_classes>fas fa-user-check</decoration_classes>
      </style>
    </value>
    <!-- ... 其他值 -->
  </values>
</field>

参考


原文:https://www.itophub.io/wiki/page?id=3_2_0:customization:order-enum

版本:3_2_0/customization/order-enum.txt · Last modified: 2024/09/10 10:25 by 127.0.0.1