initi.doc/docfiles/providers/managers/trees/manager.js

104 lines
4.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Менеджер деревьев.
*
* Представляет собой интерфейс для доступа ко всем деревьям
*
* Позволяет по тегу дерева получить на него ссылку.
*
* Деревья представляют собой следующую иерархию наследования
*
* <br>
*
* {@link Trees.GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию)
* > {@link Trees.SchemeTree} - дерево топологии "st"
*
* > {@link Trees.GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное)
* > > {@link Trees.DesktopTree} - дерево рабочего стола "dsk"
*
* > > {@link Trees.UserAttributeTree} - дерево пользовательских параметров "uat"
*
* > > {@link Trees.RemoteModulesTree} - дерево сборщиков данных "rmt"
*
*
* <br>
* Список доступных тегов деревьев:
* - "cmp" - Компоненты
* - "cst" - Вложенность компонентов
* - "dsk" - Рабочий стол
* - "ect" - Дерево событий
* - "flt" - Фильтры
* - "edg" - Линки
* - "cedg" - Вложенность линков
* - "prf" - Профили
* - "rmt" - Сборщики данных
* - "st" - Схема объектов
* - "uat" - Пользовательские данные
*
* <br>
* Связанные объекты:
*
* - {@link Trees.GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева
* - {@link Trees.GlobalTree.Node} - Здесь можно найти примеры, как работать с содержимым глобальной ноды
* - {@link Trees.GlobalAttributeTree.Node} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды
*
* @example
* // Работа с деревом
* // Доступ к менеджеру деревьев находится в переменной ps.pl.tm (провайдеры -> мастер платформа -> менеджер деревьев)
* // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat")
* // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о
* // данных пользователя
* ps.pl.tm.get(new v2.string("rmt")).then(function(ref){
* // ref - это ссылка на объект
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
* 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) {
}
}