добавил примеры по работе с деревьями
This commit is contained in:
parent
73f3735bb6
commit
59d791e97f
81
docfiles/libraries/tools/reference.js
Normal file
81
docfiles/libraries/tools/reference.js
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* @class reference
|
||||||
|
* @memberof tools
|
||||||
|
* @param _reset {function}
|
||||||
|
* @param _copy {function}
|
||||||
|
* @param _value {function}
|
||||||
|
*/
|
||||||
|
function reference(_reset, _copy, _value) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
reference.prototype = {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function init
|
||||||
|
* @memberof tools.reference
|
||||||
|
*/
|
||||||
|
init: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function deinit
|
||||||
|
* @memberof tools.reference
|
||||||
|
*/
|
||||||
|
deinit: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function check
|
||||||
|
* @memberof tools.reference
|
||||||
|
*/
|
||||||
|
check: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function copy
|
||||||
|
* @memberof tools.reference
|
||||||
|
* @returns {tools.reference}
|
||||||
|
*/
|
||||||
|
copy: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function id
|
||||||
|
* @memberof tools.reference
|
||||||
|
* @returns {number}
|
||||||
|
*/
|
||||||
|
id: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function reset
|
||||||
|
* @memberof tools.reference
|
||||||
|
*/
|
||||||
|
reset: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function value
|
||||||
|
* @memberof tools.reference
|
||||||
|
* @returns {Object}
|
||||||
|
*/
|
||||||
|
value: function () {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @function *
|
||||||
|
* @memberof tools.reference
|
||||||
|
* @returns {Object}
|
||||||
|
*/
|
||||||
|
"*": function () {},
|
||||||
|
};
|
81
docfiles/providers/errors.js
Normal file
81
docfiles/providers/errors.js
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* @namespace Errors
|
||||||
|
*/
|
||||||
|
var Errors = function () {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Описание объекта ошибки.
|
||||||
|
*
|
||||||
|
* Важно понимать, что такой объект существует только в документации,
|
||||||
|
*
|
||||||
|
* для того что бы описать результат отмены промиса.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Подключаем бибилиотеку инструментов
|
||||||
|
* var tools = require("providers/tools/lib");
|
||||||
|
*
|
||||||
|
* // Создаем промис
|
||||||
|
* var my_promise = new tools.promise();
|
||||||
|
*
|
||||||
|
* my_promise.native.then(function(successData){
|
||||||
|
* // Удачный сценарий в данном случае не рассматривается.
|
||||||
|
* },function(_err){
|
||||||
|
* console.log(JSON.stringify(_err, true, 4));*
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Производим сброс промиса.
|
||||||
|
* // Вот таким должно быть описание для ошибки.
|
||||||
|
* // При этом, поле sub может быть как null так и undefined
|
||||||
|
* // Но если к возникновению этой ошибки причасен другой промис или событие внутри провайдеров, то
|
||||||
|
* // в переменную sub надо его передать.
|
||||||
|
* my_promise.reject({
|
||||||
|
* err: 0,
|
||||||
|
* message: "my_error",
|
||||||
|
* sub: null
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Вывод в данном случае будет вот такой
|
||||||
|
* // {
|
||||||
|
* // "err": 0,
|
||||||
|
* // "message": "my_error",
|
||||||
|
* // "sub": null
|
||||||
|
* // }
|
||||||
|
*
|
||||||
|
* @class PromiseReject
|
||||||
|
* @memberof Errors
|
||||||
|
*/
|
||||||
|
Errors.PromiseReject = {
|
||||||
|
/**
|
||||||
|
* Код ошибки
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @name err
|
||||||
|
* @type {number}
|
||||||
|
* @memberof Errors.PromiseReject
|
||||||
|
*/
|
||||||
|
err: 0,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Краткое описание, почему произошла ошибка
|
||||||
|
* @public
|
||||||
|
* @name message
|
||||||
|
* @type {string}
|
||||||
|
* @memberof Errors.PromiseReject
|
||||||
|
*/
|
||||||
|
message: "",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ссылка на ошибку, которая стала причиной текущей ошибки.
|
||||||
|
*
|
||||||
|
* Если этот параметр есть, то эта ошибка является проксирующей
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
* @name sub
|
||||||
|
* @type {Errors.PromiseReject}
|
||||||
|
* @memberof Errors.PromiseReject
|
||||||
|
*/
|
||||||
|
sub: new Errors.PromiseReject()
|
||||||
|
};
|
@ -1,3 +1,5 @@
|
|||||||
|
/** @typedef {Trees.GlobalAttributeTree.Node.Attributes} NodeAttributes */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Интерфейс позволяющей пользователю работать с атрибутами ноды
|
* Интерфейс позволяющей пользователю работать с атрибутами ноды
|
||||||
*
|
*
|
||||||
|
@ -1,7 +1,44 @@
|
|||||||
/**
|
/**
|
||||||
* Нода дерева
|
* Интерфейс доступа к содержимому глобальной ноды
|
||||||
* Представляет интефрейс для доступа к данным глобальной ноды в ядре
|
*
|
||||||
* Позволяет узнать потомков ноды
|
* Здесь создаются менеджер по работе с вложенными нодами и менеджер типов ноды
|
||||||
|
*
|
||||||
|
* <br>
|
||||||
|
* Связанные объекты:
|
||||||
|
*
|
||||||
|
* - {@link Trees.GlobalTree} - Здесь можно найти примеры, как работать с глобальным деревом
|
||||||
|
* - {@link Trees.GlobalTree.Node.Children} - Здесь можно найти примеры, как работать с вложенными нодами
|
||||||
|
* - {@link Trees.GlobalTree.Node.NodeTypes} - Здесь можно найти примеры, как работать с типами ноды
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример: Как получить ноду дерева?
|
||||||
|
*
|
||||||
|
* // Пример взят для дерева тополгии
|
||||||
|
* var tree = null;
|
||||||
|
* var node = null;
|
||||||
|
*
|
||||||
|
* // Осуществляем запрос к менеджеру деревьев, на получение провайдера дерева
|
||||||
|
* ps.pl.tm.get(new v2.string("st")).then(function(ref){
|
||||||
|
* // ref - это ссылка на объект
|
||||||
|
* // метод value возвращает целевой объект. В данном случае дерево Trees.SchemeTree
|
||||||
|
* tree = ref.value();
|
||||||
|
*
|
||||||
|
* // Доступ к ноде осуществляется похожим образом, но теперь вместо строки нужно указать v2.integer
|
||||||
|
* // Так как возвратится нативный проимс, мы можем вернуть его и обработать в следующем then
|
||||||
|
* return tree.get(v2.integer.from_number(0))
|
||||||
|
* }, function(err){
|
||||||
|
* // в случае неудачи придет ошибка.
|
||||||
|
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
|
||||||
|
* // привела другая ошибка внутри системы.
|
||||||
|
* }).then(function(ref){
|
||||||
|
* // Вот мы и получили ноду.
|
||||||
|
* node = ref.value();
|
||||||
|
* }, function(err){
|
||||||
|
* // Отобразим ошибку
|
||||||
|
* console.warn(err);
|
||||||
|
* })
|
||||||
|
*
|
||||||
*
|
*
|
||||||
* @class Node
|
* @class Node
|
||||||
* @memberof Trees.GlobalTree
|
* @memberof Trees.GlobalTree
|
||||||
|
@ -1,20 +1,93 @@
|
|||||||
/**
|
/**
|
||||||
* Глобальное дерево, от которого отнаследованы все остальные.
|
* Абстрактное дерево, от него наследуются все существующие деревья
|
||||||
* Копирует идеологию ядра.
|
*
|
||||||
* Ноды этого дерева имеют доступ только к списку своих потомков.
|
* Ноды это дерева имеют доступ к списку нод, вложенных в них
|
||||||
|
*
|
||||||
|
* <br>
|
||||||
|
* Связанные объекты:
|
||||||
|
*
|
||||||
|
* - {@link Trees} - Здесь можно найти примеры, как работать с менеджером деревьев
|
||||||
|
* - {@link Trees.GlobalTree.Node} - Здесь можно найти примеры, как работать с содержимым глобальной ноды
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример 1: Как получить глобальное дерево?
|
||||||
|
*
|
||||||
|
* // Пример взят для дерева тополгии
|
||||||
|
* var tree = null;
|
||||||
|
* ps.pl.tm.get(new v2.string("st")).then(function(ref){
|
||||||
|
* // ref - это ссылка на объект
|
||||||
|
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
|
||||||
|
* tree = ref.value();
|
||||||
|
* }, function(err){
|
||||||
|
* // в случае неудачи придет ошибка.
|
||||||
|
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
|
||||||
|
* // привела другая ошибка внутри системы.
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример 2: Как получить ноду дерева?
|
||||||
|
*
|
||||||
|
* // Пример взят для дерева тополгии
|
||||||
|
* var tree = null;
|
||||||
|
* var node = null;
|
||||||
|
*
|
||||||
|
* // Осуществляем запрос к менеджеру деревьев, на получение провайдера дерева
|
||||||
|
* ps.pl.tm.get(new v2.string("st")).then(function(ref){
|
||||||
|
* // ref - это ссылка на объект
|
||||||
|
* // метод value возвращает целевой объект. В данном случае дерево Trees.SchemeTree
|
||||||
|
* tree = ref.value();
|
||||||
|
*
|
||||||
|
* // Доступ к ноде осуществляется похожим образом, но теперь вместо строки нужно указать v2.integer
|
||||||
|
* // Так как возвратится нативный проимс, мы можем вернуть его и обработать в следующем then
|
||||||
|
* return tree.get(v2.integer.from_number(0))
|
||||||
|
* }, function(err){
|
||||||
|
* // в случае неудачи придет ошибка.
|
||||||
|
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
|
||||||
|
* // привела другая ошибка внутри системы.
|
||||||
|
* }).then(function(ref){
|
||||||
|
* // Вот мы и получили ноду.
|
||||||
|
* node = ref.value();
|
||||||
|
* }, function(err){
|
||||||
|
* // Отобразим ошибку
|
||||||
|
* console.warn(err);
|
||||||
|
* })
|
||||||
*
|
*
|
||||||
* @group manager
|
* @group manager
|
||||||
* @class GlobalTree
|
* @class GlobalTree
|
||||||
|
* @extends manager
|
||||||
* @memberof Trees
|
* @memberof Trees
|
||||||
*/
|
*/
|
||||||
function GlobalTree() {
|
function GlobalTree() {
|
||||||
/**
|
/**
|
||||||
* Возвращает ссылку на ноду. В качестве идентификатора надо указать идентификатор ноды.
|
* Интерфейс доступа к ноде
|
||||||
* Работает через промис.
|
*
|
||||||
|
* Ответ должен быть обработан в промисе,
|
||||||
|
*
|
||||||
|
* при успехе вернется {@link tools.reference} -> {@link Trees.GlobalTree.Node}
|
||||||
|
*
|
||||||
|
* при отмене вернется ошибка {@link Errors.PromiseReject}
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример:
|
||||||
|
*
|
||||||
|
* // Допустим мы хотим получить корневую ноду.
|
||||||
|
* // Так сложилось, что корневая нода, всегда нулевая
|
||||||
|
* var nodeId = v2.integer.from_number(0);
|
||||||
|
*
|
||||||
|
* // Допустим что мы где-то уже получили дерево.
|
||||||
|
* var promise = tree.get(nodeId);
|
||||||
|
*
|
||||||
|
* promise.then(function(ref){
|
||||||
|
* // Вот мы и получили ноду.
|
||||||
|
* node = ref.value();
|
||||||
|
* }, function(err){
|
||||||
|
* // Отобразим ошибку
|
||||||
|
* console.warn(err);
|
||||||
|
* })
|
||||||
*
|
*
|
||||||
* @public
|
* @public
|
||||||
* @function get
|
* @function get
|
||||||
* @param {v2.integer} nodeId Уникальный идентификатор ноды в дереве
|
* @param {v2.integer} nodeId Идентификатор ноды в дереве
|
||||||
* @returns {tools.promise}
|
* @returns {tools.promise}
|
||||||
* @memberof Trees.GlobalTree
|
* @memberof Trees.GlobalTree
|
||||||
*/
|
*/
|
||||||
@ -23,13 +96,30 @@ function GlobalTree() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Позволяет удалить динамический атрибут ноды.
|
* Осуществляет уаление ноды из дерева.
|
||||||
* Возвращает булевое значение об операции
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример:
|
||||||
|
*
|
||||||
|
* // Допустим, что мы знаем, что в дереве существует нода с таким идентификатором
|
||||||
|
* var nodeId = v2.integer.from_number(1);
|
||||||
|
* var tree = null;
|
||||||
|
* ps.pl.tm.get(new v2.string("st")).then(function(ref){
|
||||||
|
* // ref - это ссылка на объект
|
||||||
|
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
|
||||||
|
* tree = ref.value();
|
||||||
|
*
|
||||||
|
* // Произведет удаление ноды 1 из дерева
|
||||||
|
* // Ответ придет по подписке на существование нод в дереве.
|
||||||
|
* tree.remove(nodeId);
|
||||||
|
* }, function(err){
|
||||||
|
* console.log(err)
|
||||||
|
* })
|
||||||
|
*
|
||||||
*
|
*
|
||||||
* @public
|
* @public
|
||||||
* @function remove
|
* @function remove
|
||||||
* @param {v2.string} nodeId Уникальный идентификатор ноды в дереве
|
* @param {v2.integer} nodeId Идентификатор ноды в дереве
|
||||||
* @returns {boolean}
|
|
||||||
* @memberof Trees.GlobalTree
|
* @memberof Trees.GlobalTree
|
||||||
*/
|
*/
|
||||||
this.remove = function(nodeId) {
|
this.remove = function(nodeId) {
|
||||||
@ -39,6 +129,7 @@ function GlobalTree() {
|
|||||||
/**
|
/**
|
||||||
* Возвращает адрес дерева в системе
|
* Возвращает адрес дерева в системе
|
||||||
*
|
*
|
||||||
|
*
|
||||||
* @public
|
* @public
|
||||||
* @function sys_addr
|
* @function sys_addr
|
||||||
* @returns {v2.address}
|
* @returns {v2.address}
|
||||||
|
@ -1,8 +1,45 @@
|
|||||||
/**
|
/**
|
||||||
* Менеджер деревьев.
|
* Менеджер деревьев.
|
||||||
|
*
|
||||||
* Представляет собой интерфейс для доступа ко всем деревьям
|
* Представляет собой интерфейс для доступа ко всем деревьям
|
||||||
|
*
|
||||||
* Позволяет по тегу дерева получить на него ссылку.
|
* Позволяет по тегу дерева получить на него ссылку.
|
||||||
* На текущий момент содержит в себе:
|
*
|
||||||
|
* Деревья представляют собой следующую иерархию наследования
|
||||||
|
*
|
||||||
|
* <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
|
* @example
|
||||||
* // Работа с деревом
|
* // Работа с деревом
|
||||||
@ -10,7 +47,7 @@
|
|||||||
* // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat")
|
* // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat")
|
||||||
* // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о
|
* // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о
|
||||||
* // данных пользователя
|
* // данных пользователя
|
||||||
* ps.pl.tm(new v2.string("rmt")).then(function(ref){
|
* ps.pl.tm.get(new v2.string("rmt")).then(function(ref){
|
||||||
* // ref - это ссылка на объект
|
* // ref - это ссылка на объект
|
||||||
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
|
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
|
||||||
* var tree = ref.value();
|
* var tree = ref.value();
|
||||||
@ -25,20 +62,36 @@
|
|||||||
*/
|
*/
|
||||||
function Trees() {
|
function Trees() {
|
||||||
/**
|
/**
|
||||||
* Вернет ссылку на дерево. В качестве идентификатора следует указать тег дерева.
|
* Доступ к дереву
|
||||||
|
*
|
||||||
|
* В качестве идентификатора следует указать тег дерева.
|
||||||
|
*
|
||||||
|
* при успехе вернется {@link tools.reference} -> {@link Trees.GlobalTree}
|
||||||
|
*
|
||||||
|
* при отмене вернется ошибка {@link Errors.PromiseReject}
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример использования:
|
||||||
|
* // Результатом будет нативный промис.
|
||||||
|
* var promise = ps.pl.tm.get(new v2.string("rmt"));
|
||||||
*
|
*
|
||||||
* @public
|
* @public
|
||||||
* @function get
|
* @function get
|
||||||
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
|
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
|
||||||
* @returns {tools.promise}
|
* @returns {tools.promise(Trees.GlobalTree)}
|
||||||
* @memberof Trees
|
* @memberof Trees
|
||||||
*/
|
*/
|
||||||
|
|
||||||
this.get = function (treeTag) {
|
this.get = function (treeTag) {
|
||||||
|
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Возвращает булевое значение о существовании дерева
|
* Возвращает булевое значение о существовании дерева
|
||||||
*
|
*
|
||||||
|
* @example
|
||||||
|
* // Пример:
|
||||||
|
* var exist = ps.pl.tm.is_exist(new v2.string("rmt"));
|
||||||
|
*
|
||||||
* @public
|
* @public
|
||||||
* @function is_tree_exist
|
* @function is_tree_exist
|
||||||
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
|
* @param {v2.string} treeTag Тег дерева. Например: "rmt", "uat"
|
||||||
|
@ -1,4 +1,42 @@
|
|||||||
/**
|
/**
|
||||||
|
* Дерево представляющее топологию.
|
||||||
|
*
|
||||||
|
* Тег дерева "st"
|
||||||
|
*
|
||||||
|
* В Trees оно добавлено в фабрику, и создается из нее.
|
||||||
|
*
|
||||||
|
* ВАЖНО! У этого дерева нет атрибутов. Поэтому получить атрибут невозможно.
|
||||||
|
*
|
||||||
|
* Однако у нод этого дерева, есть возможно получить статические денные Адрес модели и является ли она Контейнером
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* // Работа с деревом
|
||||||
|
* // Доступ к менеджеру деревьев находится в переменной ps.pl.tm (провайдеры -> мастер платформа -> менеджер деревьев)
|
||||||
|
* // доступ к конкретному дереву осуществляется по тагу дерева например ("st", "rmt", "uat")
|
||||||
|
* // где st - дерево топологии, rmt - дерево сборщиков данных, uat - дерево в котором хранится информация о
|
||||||
|
* // данных пользователя
|
||||||
|
*
|
||||||
|
* var tree = null;
|
||||||
|
* var node = null;
|
||||||
|
*
|
||||||
|
* ps.pl.tm.get(new v2.string("st")).then(function(ref){
|
||||||
|
* // ref - это ссылка на объект
|
||||||
|
* // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
|
||||||
|
* tree = ref.value();
|
||||||
|
* return tree.get(v2.integer.from_number(0))
|
||||||
|
* }, function(err){
|
||||||
|
* // в случае неудачи придет ошибка.
|
||||||
|
* // обычно в ошибке содержится три переменные err - код ошибки, message - краткое описание, sub - если к этому
|
||||||
|
* // привела другая ошибка внутри системы.
|
||||||
|
* }).then(function(ref){
|
||||||
|
* // Вот мы и получили ноду.
|
||||||
|
* node = ref.value();
|
||||||
|
* }, function(err){
|
||||||
|
* // Отобразим ошибку
|
||||||
|
* console.warn(err);
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
*
|
||||||
* @group manager
|
* @group manager
|
||||||
* @class SchemeTree
|
* @class SchemeTree
|
||||||
* @extends Trees.GlobalTree
|
* @extends Trees.GlobalTree
|
||||||
|
@ -87,11 +87,12 @@ var replace_type_def = function(_ln){
|
|||||||
return link;
|
return link;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// старый кусок говна :D
|
||||||
var replace_enters_to_br = function(_str){
|
var replace_enters_to_br = function(_str){
|
||||||
var out = _str;
|
// var out = _str;
|
||||||
while(out.match("\n")) out = out.replace("\n", "<br>");
|
// while(out.match("\n")) out = out.replace("\n", "<br>");
|
||||||
|
|
||||||
return out;
|
return _str;
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@ -58,6 +58,19 @@
|
|||||||
.full-method > div.short > .param .type .name {}
|
.full-method > div.short > .param .type .name {}
|
||||||
.full-method > div.short > .param .type .right-quad-bracket {}
|
.full-method > div.short > .param .type .right-quad-bracket {}
|
||||||
|
|
||||||
|
.params-example {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-top: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 14px !important;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.params-example > pre {
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.params-desc {
|
.params-desc {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
@ -72,3 +85,17 @@
|
|||||||
.params-desc > .parameter {
|
.params-desc > .parameter {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.description blockquote {
|
||||||
|
-webkit-margin-before: 0;
|
||||||
|
-webkit-margin-after: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description blockquote p {
|
||||||
|
-webkit-margin-before: 0;
|
||||||
|
-webkit-margin-after: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description blockquote br {
|
||||||
|
height: 0;
|
||||||
|
}
|
@ -67,6 +67,11 @@
|
|||||||
min-width: initial;
|
min-width: initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.full-method > .description > p {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.parameter > .description > p {
|
.parameter > .description > p {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
@ -3,11 +3,12 @@
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
data.forEach(function(example) {
|
data.forEach(function(example) {
|
||||||
|
var result = self.htmlsafe(example.code);
|
||||||
if (example.caption) {
|
if (example.caption) {
|
||||||
?>
|
?>
|
||||||
<p class="code-caption"><?js= example.caption ?></p>
|
<p class="code-caption"><?js= example.caption ?></p>
|
||||||
<?js } ?>
|
<?js } ?>
|
||||||
<pre class="prettyprint"><code><?js= self.htmlsafe(example.code) ?></code></pre>
|
<pre class="prettyprint"><code><?js= result ?></code></pre>
|
||||||
<?js
|
<?js
|
||||||
});
|
});
|
||||||
?>
|
?>
|
@ -21,6 +21,13 @@ var ryba = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eius
|
|||||||
<?js= self.partial('full_method/params_compact.tmpl', method.params) ?>
|
<?js= self.partial('full_method/params_compact.tmpl', method.params) ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?js if (method.examples && method.examples.length) { ?>
|
||||||
|
<div class="params-desc params-example bdotted part">
|
||||||
|
<div class="title">Examples: </div>
|
||||||
|
<?js= self.partial('examples.tmpl', method.examples) ?>
|
||||||
|
</div>
|
||||||
|
<?js } ?>
|
||||||
|
|
||||||
<?js if(method.params) { ?>
|
<?js if(method.params) { ?>
|
||||||
<div class="params-desc bdotted part">
|
<div class="params-desc bdotted part">
|
||||||
<div class="title">Params</div>
|
<div class="title">Params</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user