112 lines
3.5 KiB
JavaScript
112 lines
3.5 KiB
JavaScript
|
/**
|
|||
|
* ### Линк (связь/edge)
|
|||
|
* Предоставляет данные о линке.
|
|||
|
* У него можно запросить его атрибутный состав
|
|||
|
*
|
|||
|
* <br>
|
|||
|
* Связанные объекты:
|
|||
|
*
|
|||
|
* - {@link Links} - Менеджер предоставляющий доступ к данным о линках
|
|||
|
* - {@link Links.Link.Attributes} - Менеджер предоставляющий доступ к атрибутам линка
|
|||
|
* - {@link Links.Link.Attributes.Attribute} - Модель атрибута линка
|
|||
|
*
|
|||
|
* @class Link
|
|||
|
* @memberof Links
|
|||
|
*/
|
|||
|
function Link() {
|
|||
|
/**
|
|||
|
* Возвращает уникальный идентификатор линка.
|
|||
|
*
|
|||
|
* @public
|
|||
|
* @function id
|
|||
|
* @memberof Links.Link
|
|||
|
* @returns {v2.integer}
|
|||
|
*/
|
|||
|
this.id = function() {
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Возвращает тип линка.
|
|||
|
*
|
|||
|
* @public
|
|||
|
* @function id
|
|||
|
* @memberof Links.Link
|
|||
|
* @returns {v2.model_type}
|
|||
|
*/
|
|||
|
this.type = function() {
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* #### Атрибуты линка
|
|||
|
*
|
|||
|
* Данный метод, возвращает все атрибуты, которые есть у линка
|
|||
|
*
|
|||
|
* <br>
|
|||
|
* _Используется в BLA (js/utils/bridge/link_attributes.js)._
|
|||
|
*
|
|||
|
* <br>
|
|||
|
* #### Результат
|
|||
|
*
|
|||
|
* **first** (имя атрибута)
|
|||
|
*
|
|||
|
* **second** (структура атрибута: метаданные и значение)
|
|||
|
*
|
|||
|
* visible -> {@link v2.boolean Boolean}
|
|||
|
* editable -> {@link v2.boolean Boolean}
|
|||
|
* removable -> {@link v2.boolean Boolean}
|
|||
|
* type -> {@link v2.type Type}
|
|||
|
* value -> {@link v2 Any}
|
|||
|
*
|
|||
|
* #### Важно!
|
|||
|
*
|
|||
|
*```
|
|||
|
* // Пример:
|
|||
|
*
|
|||
|
* // Считаем что, линк уже есть на руках.
|
|||
|
* var link_id = v2.integer.from_string("-7547783344834658422");
|
|||
|
* var link_ref = null;
|
|||
|
* var link_model = null;
|
|||
|
*
|
|||
|
* ps.pl.links.get(link_id).then(function(ref){
|
|||
|
* // ref - это ссылка на объект
|
|||
|
* // метод value возвращает целевой объект. В данном случае дерево {@type Links.Link}
|
|||
|
* link_model = ref.value();
|
|||
|
* link_ref = ref;
|
|||
|
*
|
|||
|
* return link_model.attributes();
|
|||
|
* }, function(err){
|
|||
|
* // в случае неудачи придет ошибка.
|
|||
|
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
|
|||
|
* // привела другая ошибка внутри системы.
|
|||
|
* console.log("Ошибка при запросе модели линка")
|
|||
|
* }).then(function(_attributes){
|
|||
|
* console.log(_attributes.print())
|
|||
|
* }, function(){
|
|||
|
* console.log("Ошибка при запросе атрибутов")
|
|||
|
* })
|
|||
|
*```
|
|||
|
*
|
|||
|
* @public
|
|||
|
* @function attributes
|
|||
|
* @returns {tools.promise(v2.map(v2.string,v2.vc))}
|
|||
|
* @memberof Links.Link
|
|||
|
*/
|
|||
|
this.attributes = function() {
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
/**
|
|||
|
* Возвращает ссылку на атрибут линка
|
|||
|
*
|
|||
|
* @public
|
|||
|
* @function get
|
|||
|
* @param {v2.string} name
|
|||
|
* @returns {tools.promise}
|
|||
|
* @memberof Links.Link
|
|||
|
*/
|
|||
|
this.get = function(name) {
|
|||
|
|
|||
|
};
|
|||
|
}
|