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