Shell
Shell, расположенный в одном из модулей, обеспечивает размещение компонентов других модулей проекта в качестве собственных дочерних компонентов. Shell является контейнером (не путать со свойством Panel.container) открываемого в нём модуля, когда сам расположен в другом модуле.
Свойства Shell
вКласс, свойство
Комментарий
Shell
Включенный класс компонента Shell
src
Имя или UUID модуля-источника содержимого
Shell имеет единственное свойство Shell.src. Оно служит для открытия модуля в Shell. Чтобы загрузить в Shell модуль, необходимо установить свойству значение имени этого модуля либо его UUID (оба эти значения можно получить в Менеджере проектов). При этом загрузка содержимого будет произведена сразу после установки корректного имени. При установке Shell.src пустого значения (""), компоненты модуля будут удалены как из Shell, так и из дерева ACM.
Подобная реализация способа вызова компонентов позволяет располагать компоненты подгружаемых модулей непосредственно в контексте приложения и использовать JS-код для доступа и работы с ними аналогичный JS-коду, используемому для работы с компонентами главного модуля проекта. Но именно из-за этой особенности sFF, пользователь должен следить за сквозной уникальностью имён компонентов проекта, чтобы быть уверенным, что компонент с неким именем, загруженный в один Shell, не будет неожиданно для программиста обработан кодом, обращавшемуся к компоненту с таким же именем, загруженному в другой модуль.
Shell не может иметь собственных дочерних компонентов в процессе разработки (сложить их в Shell конечно можно, но сохранить их в проекте не удастся), так как Shell перед любым изменением Shell.src и при своём создании в первую очередь очищает своё содержимое.
Shell является одним из основополагающих компонентов sFF (наравне с Panel и Root), обеспечивающих работоспособность системы.
Методы работы с Shell разобраны ниже.
Last updated