Я работаю во Flex 4.1, и у меня есть основная панель навигации и панель просмотра. Пользователь входит в приложение и может только тогда видеть, какие вкладки доступны для его уровня пользователя.
Я стараюсь как можно больше придерживаться MXML, поскольку он хорошо работает с фреймворком. Но я оцепенел, думая об этом. Каковы общие практики для этого?
К вашему сведению: пользовательский уровень немного сложен для состояний. Есть много вариантов, способ для многих, чтобы удобно делать ж / состояния и группы состояний.
Шимпанзе - довольно классная библиотека для тех, кто заинтересован. Он немного староват, и, похоже, нет особой мотивации для его расширения за пределы UIComponents. Так что для моих целей это не подойдет.
Опять же, что вы делаете для настройки этих систем?
UPDATE:
Я должен был пойти на компромисс, но на самом деле все получилось довольно хорошо. Вместо деструктивного наложения разрешений (сначала все доступно, а затем удаляются элементы), система теперь работает конструктивно. Вот пример:
[Bindable]
public var managePage:ManagePage;
[Bindable]
public var reportPage:ReportPage;
...
switch(permission)
{
case "create":
navigatorContent.label = "Manage";
navigatorContent.addElement(managePage);
viewStack.addElementAt(navigatorContent,1);
break;
case "read":
navigatorContent.label = "Report";
navigatorContent.addElement(reportPage);
viewStack.addElementAt(navigatorContent,2);
break;
}
Очевидно, это только для добавления элементов, но удалить их так же просто. Это решение оставляет мне все, что я искал, поэтому я счастлив.