113 lines
5.1 KiB
JavaScript
113 lines
5.1 KiB
JavaScript
/**
|
||
* ### Менеджер деревьев.
|
||
*
|
||
* Представляет собой интерфейс для доступа ко всем деревьям
|
||
*
|
||
* Позволяет по тегу дерева получить на него ссылку.
|
||
*
|
||
* Деревья представляют собой следующую иерархию наследования
|
||
*
|
||
* <br>
|
||
*
|
||
* {@link Trees.GlobalTree GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию)
|
||
* > {@link Trees.SchemeTree SchemeTree} - дерево топологии "st"
|
||
*
|
||
* > {@link Trees.GlobalAttributeTree GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное)
|
||
* > > {@link Trees.DesktopTree DesktopTree} - дерево рабочего стола "dsk"
|
||
*
|
||
* > > {@link Trees.UserAttributeTree UserAttributeTree} - дерево пользовательских параметров "uat"
|
||
*
|
||
* > > {@link Trees.RemoteModulesTree RemoteModulesTree} - дерево сборщиков данных "rmt"
|
||
*
|
||
* > > {@link Trees.FiltersTree FiltersTree} - дерево фильтров "flt"
|
||
*
|
||
*
|
||
*
|
||
* <br>
|
||
* Список доступных тегов деревьев:
|
||
* - "cmp" - Компоненты
|
||
* - "cst" - Вложенность компонентов
|
||
* - "dsk" - Рабочий стол
|
||
* - "ect" - Дерево событий
|
||
* - "flt" - Фильтры
|
||
* - "edg" - Линки
|
||
* - "cedg" - Вложенность линков
|
||
* - "prf" - Профили
|
||
* - "rmt" - Сборщики данных
|
||
* - "st" - Схема объектов
|
||
* - "uat" - Пользовательские данные
|
||
* - "dptt" - ???
|
||
* - "ecst" - ???
|
||
* - "gat" - Глобальное дерево с атрибутами
|
||
* - "gt" - Глобальное дерево
|
||
* - "rlt" - ???
|
||
* - "role" - ???
|
||
*
|
||
* <br>
|
||
* Связанные объекты:
|
||
*
|
||
* - {@link Trees.GlobalTree GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева
|
||
* - {@link Trees.GlobalTree.Node GlobalTreeNode} - Здесь можно найти примеры, как работать с содержимым глобальной ноды
|
||
* - {@link Trees.GlobalAttributeTree.Node GlobalAttributesNode} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды
|
||
*
|
||
* @example
|
||
* // Работа с деревом
|
||
* // Доступ к менеджеру деревьев находится в переменной ps.pl.tm (провайдеры -> мастер платформа -> менеджер деревьев)
|
||
* // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat")
|
||
* // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о
|
||
* // данных пользователя
|
||
* ps.pl.tm.get(new v2.string("rmt")).then(function(ref){
|
||
* // ref - это ссылка на объект
|
||
* // метод value возвращает целевой объект. В данном случае дерево {@link Trees.RemoteModulesTree RemoteModulesTree}
|
||
* var tree = ref.value();
|
||
* }, function(err){
|
||
* // в случае неудачи придет ошибка.
|
||
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
|
||
* // привела другая ошибка внутри системы.
|
||
* })
|
||
*
|
||
* @group manager
|
||
* @namespace Trees
|
||
*/
|
||
function Trees() {
|
||
/**
|
||
* Доступ к дереву
|
||
*
|
||
* В качестве идентификатора следует указать тег дерева.
|
||
*
|
||
* при успехе вернется {@link tools.reference} -> {@link Trees.GlobalTree}
|
||
*
|
||
* при отмене вернется ошибка {@link Errors.PromiseReject}
|
||
*
|
||
* @example
|
||
* // Пример использования:
|
||
* // Результатом будет нативный промис.
|
||
* var promise = ps.pl.tm.get(new v2.string("rmt"));
|
||
*
|
||
* @public
|
||
* @function get
|
||
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
|
||
* @returns {tools.promise(Trees.GlobalTree)}
|
||
* @memberof Trees
|
||
*/
|
||
|
||
this.get = function (treeTag) {
|
||
|
||
};
|
||
/**
|
||
* Возвращает булевое значение о существовании дерева
|
||
*
|
||
* @example
|
||
* // Пример:
|
||
* var exist = ps.pl.tm.is_exist(new v2.string("rmt"));
|
||
*
|
||
* @public
|
||
* @function is_tree_exist
|
||
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
|
||
* @returns {boolean}
|
||
* @memberof Trees
|
||
*/
|
||
this.is_tree_exist = function (treeTag) {
|
||
|
||
}
|
||
} |