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

120 lines
5.2 KiB
JavaScript
Raw Normal View History

/**
2018-09-26 15:13:03 +00:00
* ### Менеджер деревьев.
*
* Представляет собой интерфейс для доступа ко всем деревьям
*
* Позволяет по тегу дерева получить на него ссылку.
*
* Деревья представляют собой следующую иерархию наследования
*
2019-03-18 13:14:33 +00:00
* ```bash
* // доступ
* ps.pl.tm
* ```
*
* <br>
*
2018-10-01 07:40:56 +00:00
* {@link Trees.GlobalTree GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию)
* > {@link Trees.SchemeTree SchemeTree} - дерево топологии "st"
*
2018-10-01 07:40:56 +00:00
* > {@link Trees.GlobalAttributeTree GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное)
* > > {@link Trees.DesktopTree DesktopTree} - дерево рабочего стола "dsk"
*
2018-10-01 07:40:56 +00:00
* > > {@link Trees.UserAttributeTree UserAttributeTree} - дерево пользовательских параметров "uat"
*
2018-10-01 07:40:56 +00:00
* > > {@link Trees.RemoteModulesTree RemoteModulesTree} - дерево сборщиков данных "rmt"
*
2018-12-13 11:13:55 +00:00
* > > {@link Trees.FiltersTree FiltersTree} - дерево фильтров "flt"
*
2019-03-29 11:52:33 +00:00
* > > {@link Trees.ConsistencyTree ConsistencyTree} - дерево модельного каталога "cst"
*
2018-12-13 11:13:55 +00:00
*
*
* <br>
* Список доступных тегов деревьев:
* - "cmp" - Компоненты
* - "cst" - Вложенность компонентов
* - "dsk" - Рабочий стол
* - "ect" - Дерево событий
* - "flt" - Фильтры
* - "edg" - Линки
* - "cedg" - Вложенность линков
* - "prf" - Профили
* - "rmt" - Сборщики данных
* - "st" - Схема объектов
* - "uat" - Пользовательские данные
2018-12-13 11:13:55 +00:00
* - "dptt" - ???
* - "ecst" - ???
* - "gat" - Глобальное дерево с атрибутами
* - "gt" - Глобальное дерево
* - "rlt" - ???
* - "role" - ???
*
* <br>
* Связанные объекты:
*
2018-10-01 07:40:56 +00:00
* - {@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 - это ссылка на объект
2018-10-01 07:40:56 +00:00
* // метод value возвращает целевой объект. В данном случае дерево {@link Trees.RemoteModulesTree RemoteModulesTree}
* var tree = ref.value();
* }, function(err){
* // в случае неудачи придет ошибка.
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
* // привела другая ошибка внутри системы.
* })
2018-09-18 12:17:34 +00:00
*
* @group manager
2018-09-18 12:17:34 +00:00
* @namespace Trees
*/
function Trees() {
/**
* Доступ к дереву
*
* В качестве идентификатора следует указать тег дерева.
*
* при успехе вернется {@link tools.reference} -> {@link Trees.GlobalTree}
*
* при отмене вернется ошибка {@link Errors.PromiseReject}
*
* @example
* // Пример использования:
* // Результатом будет нативный промис.
* var promise = ps.pl.tm.get(new v2.string("rmt"));
2018-09-18 12:17:34 +00:00
*
* @public
* @function get
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
* @returns {tools.promise(Trees.GlobalTree)}
2018-09-18 12:17:34 +00:00
* @memberof Trees
*/
2018-09-18 12:17:34 +00:00
this.get = function (treeTag) {
};
/**
* Возвращает булевое значение о существовании дерева
*
* @example
* // Пример:
* var exist = ps.pl.tm.is_exist(new v2.string("rmt"));
*
2018-09-18 12:17:34 +00:00
* @public
* @function is_tree_exist
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
* @returns {boolean}
* @memberof Trees
*/
this.is_tree_exist = function (treeTag) {
}
}