2018-09-18 12:17:34 +00:00
|
|
|
|
/**
|
|
|
|
|
* Отнаследовано от глобального дерева. <br>
|
|
|
|
|
* Ноды этого дерева имеют доступ к атрибутам
|
|
|
|
|
*
|
2018-09-19 11:49:06 +00:00
|
|
|
|
* @manager
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @class GlobalAttributeTree
|
|
|
|
|
* @extends Trees.GlobalTree
|
|
|
|
|
* @memberof Trees
|
|
|
|
|
*/
|
|
|
|
|
function GlobalAttributeTree() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @class Node
|
|
|
|
|
* @extends Trees.GlobalTree.Node
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree
|
|
|
|
|
*/
|
|
|
|
|
function Node() {
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает список всех атрибутов, включая динамические <br>
|
|
|
|
|
* <br> Работает через промис.
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function attributes
|
2018-09-19 10:40:04 +00:00
|
|
|
|
* @returns {tools.promise}
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node
|
|
|
|
|
*/
|
|
|
|
|
this.attributes = function() {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает список базовых атрибутов ноды (их нельзя удалить) <br>
|
|
|
|
|
* <br> Работает через промис.
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function base_attributes
|
2018-09-19 10:40:04 +00:00
|
|
|
|
* @returns {tools.promise}
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node
|
|
|
|
|
*/
|
|
|
|
|
this.base_attributes = function() {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает менеджер атрибутов ноды.
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function am
|
2018-09-19 10:40:04 +00:00
|
|
|
|
* @returns {tools.promise}
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node
|
|
|
|
|
*/
|
|
|
|
|
this.am = function() {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Интерфейс позволяющей пользователю работать с атрибутами ноды
|
|
|
|
|
*
|
2018-09-19 11:49:06 +00:00
|
|
|
|
* @manager
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @class Attributes
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node
|
|
|
|
|
*/
|
|
|
|
|
function Attributes() {
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает список атрибутов ноды
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function attributes
|
|
|
|
|
* @returns {v2.map(v2.string.type, v2.vc.type)}
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.attributes = function() {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает список базовых атрибутов ноды
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function base_attributes
|
|
|
|
|
* @returns {v2.vc}
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.base_attributes = function() {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает ссылку на атрибут ноды
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function get
|
2018-09-18 14:41:21 +00:00
|
|
|
|
* @param {v2.string} attributeName
|
2018-09-19 10:40:04 +00:00
|
|
|
|
* @returns {tools.promise}
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.get = function(attributeName) {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Проверяет наличие любого атрибута у ноды
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function is_exist_attribute
|
2018-09-18 14:41:21 +00:00
|
|
|
|
* @param {v2.string} attributeName
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @returns {boolean}
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.is_exist_attribute = function(attributeName) {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Провеляет наличие базового атрибута у ноды
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function has_base_attribute
|
2018-09-18 14:41:21 +00:00
|
|
|
|
* @param {v2.string} attributeName
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @returns {boolean}
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.has_base_attribute = function(attributeName) {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Добавляет динамические атрибуты в ноду
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function add
|
2018-09-18 14:41:21 +00:00
|
|
|
|
* @param {v2.vc} attributes список атрибутов
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @returns {v2.model_type}
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.add = function(attributes) {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Удаляет динамические атрибуты из ноды
|
|
|
|
|
*
|
|
|
|
|
* @public
|
|
|
|
|
* @function remove
|
2018-09-18 14:41:21 +00:00
|
|
|
|
* @param {v2.set(v2.string)} attributes
|
2018-09-18 12:17:34 +00:00
|
|
|
|
* @returns {v2.model_type}
|
|
|
|
|
* @memberof Trees.GlobalAttributeTree.Node.Attributes
|
|
|
|
|
*/
|
|
|
|
|
this.remove = function(attributes) {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|