Flex - как отключить / включить группу компонентов (или изменить свойство) - PullRequest
0 голосов
/ 24 марта 2012

Как включить или отключить группу компонентов в flex (flash Builder 4)?

Например, если у меня есть окно с несколькими полями, я хочу отключить их в соответствии с разрешениями пользователей.

Я знаю, что могу добавить enabled = "true" или "enabled =" false ", и я также могу использовать enabled =" {writeAccessVar} "

Однако я ищу больше идей, поскольку у меня может быть более одной группы полей на экране, или более сложные права пользователя.

Например, в настоящее время у меня будет одно поле с доступом для записи, остальные поля на экране доступны только для чтения для определенного уровня пользователя.

Для пользователей более высокого уровня все поля доступны для записи. Нижний уровень, все только для чтения.

Спасибо!

1 Ответ

0 голосов
/ 24 марта 2012

Вы можете добавить переменную accessLevel, равную уровню доступа пользователя:

[Bindable]
var accessLevel:int = 0; // 0: low level, 1: next level, 2: next level, an so on

И затем вы можете установить свойство enabled каждого компонента в соответствии с accessLevel:

enabled="{accessLevel >= 0}"

Чтобы улучшить читабельность вашего кода, вы можете объявить константы для разных уровней

public static const ACCESS_LEVEL_LOW:int = 0;
public static const ACCESS_LEVEL_NORMAL:int = 1;
public static const ACCESS_LEVEL_HIGH:int = 2;


// ...
enabled="{accessLevel >= ACCESS_LEVEL_LOW}"
// ...
enabled="{accessLevel >= ACCESS_LEVEL_NORMAL}"
// ...
enabled="{accessLevel >= ACCESS_LEVEL_HIGH}"
...