From 27e785d1da9d508791966bad2f646bca2bb257ba Mon Sep 17 00:00:00 2001 From: Aleksey Chichenkov Date: Mon, 1 Oct 2018 10:40:56 +0300 Subject: [PATCH] main page content --- docfiles/libraries/v2/v2.js | 2 +- docfiles/mainpage/main.js | 125 ++++++++++++++++-- docfiles/providers/managers/trees/manager.js | 20 +-- templates/initi/publish.js | 21 +-- templates/initi/static/styles/mainpage.css | 49 +++++++ .../initi/static/styles/prettify-jsdoc.css | 2 + .../initi/static/styles/prettify-tomorrow.css | 5 + templates/initi/tmpl/container.tmpl | 4 +- templates/initi/tmpl/layout.tmpl | 1 + templates/initi/tmpl/mainpage.tmpl | 13 +- templates/initi/tmpl/mainpage/part.tmpl | 25 ++-- 11 files changed, 213 insertions(+), 54 deletions(-) create mode 100644 templates/initi/static/styles/mainpage.css diff --git a/docfiles/libraries/v2/v2.js b/docfiles/libraries/v2/v2.js index 42c2c68..565e389 100644 --- a/docfiles/libraries/v2/v2.js +++ b/docfiles/libraries/v2/v2.js @@ -3,4 +3,4 @@ * @group library * @namespace v2 */ -var v2 = function () {}; \ No newline at end of file +var v2 = function v2() {}; \ No newline at end of file diff --git a/docfiles/mainpage/main.js b/docfiles/mainpage/main.js index 7d8ea5e..1edba5a 100644 --- a/docfiles/mainpage/main.js +++ b/docfiles/mainpage/main.js @@ -1,13 +1,122 @@ /** - * AAAAA + * Генератор для главной страницы документации. + * Что тут да как? * - * AAAAA + * Новый блок должен состоять из тагов: + * name - где значением будет число. Все блоки сортируются по имени. + * поэтому что бы вставить блок между 01 и 02, нужно написать 01.0 * - * AAAAA - * - * @name sdfasdf + * mainpage - таг который указывает, что этот блок будет использован для документации + * memberof - указывает предка для блока. Но в случае документации это используется, + * что бы эти блоки не попали в глобальное пространство. + */ + + +/** + * ### Документация по работе с GUI версии 2.9.1 + * @name 01 * @mainpage * @memberof mainpage - * @example - * dsfadfasdf - */ \ No newline at end of file + * + */ + +/** + * ### Содержание: + * - #### Виджеты + * - #### Датасорсы + * - #### Сигнал-Слоты + * - #### Грид + * - #### Графики + * - #### {@link ProvidersSystem Система провайдеров}: + * - - #### {@link Trees} + * - - #### {@link Models} + * - - #### {@link Publishers} + * - - #### {@link ModelTypes} + * - - #### {@link GroupTypes} + * - #### Библиотеки: + * - - #### {@link std} - реализация сишной библиотеки на js. + * - - #### {@link v2} - сериализуемые типы, которыми можно обмениваться с ядром. + * - - #### {@link tools} - разного рода хелперы и инструменты. + * + * @name 02 + * @mainpage + * @memberof mainpage + * + */ + +/** + * ### Система провайдеров. + * + *
+ * + * Провайдеры это механизм, который осуществляет общий доступ к любой доступной информации, которую можно получить от ядра + * + * Проще говоря, они моделируют объекты, которые существют в ядре и поддерживаются в акутальном состоянии, + * + * до тех пор, пока кто-либо ими пользуются. Как только истекает таймер жизни объекта, он вычищается. + * + *
+ * Провайдеры запускаются перед стартом системы _**js/main.js**_ и определены в глобальной области видимости: **window.ps**. + * + * Как только происходит хендшейк и логин пользователя, начинает загружаться GUI. + * + *
+ * #### Как пользоваться провайдерами? + * + * Внутри провайдеров проинициализирован объект {@link Platform} в переменной **ps.pl**. + * + * По-сути он моделирует платформу со стороны сервера и содержит в себе менеджеры, через которые можно связываться с ядром. + * + *
+ * Доступные менеджеры у платформы: + * - {@link GroupTypes} - Менеджер, который позволяет получить данные по типу компонента, определен как **ps.pl.gtm** + * - {@link ModelTypes} - Менеджер, который позволяет узнать о содержимом модели **ps.pl.mtm** + * - {@link Models} - Менеджер, для доступа к устройствам, определен как **ps.pl.mm** + * - {@link Trees} - Менеджер, для доступа к деревьям, определен как **ps.pl.tm** + * + * + * + *

+ * ### {@link Trees} Деревья: + * + * Для чего нужны деревья? + * + * Например для отображения рабочего стола, каталога моделей, схемы топологии и т.д. + * + * + * + *

+ * ### {@link Publishers}. Паблишеры. + * + * Для чего нужны паблишеры? + * + * В общем случае они предназначены для отображение очень больших списков, которые могут подвесить GUI. + * + * Пример использования паблишера есть в форме результатов обнануржения. + * + * + * + *

+ * ### {@link Models}. Менеджер моделей. + * + * Менеджер моделей предоставляет доступ к устройствами находящимся в системе, которые были отдискаверины или добавлены иным способом. + * + * Пример использования можно найти в Схеме моделей. + * + * + * + *

+ * ### {@link GroupTypes}. Менеджер типов групп. + * + * Позволяет зная cTag, или иными словами тип группы, получить данные связанные с группой. + * + * Этот механизм используется в виджете для отображения атрибутов модели. + * + * А так же для отображения атрибутов компонент. + * + * @name 04 + * @mainpage + * @memberof mainpage + * + */ + diff --git a/docfiles/providers/managers/trees/manager.js b/docfiles/providers/managers/trees/manager.js index 2b268ab..90e68e4 100644 --- a/docfiles/providers/managers/trees/manager.js +++ b/docfiles/providers/managers/trees/manager.js @@ -9,15 +9,15 @@ * *
* - * {@link Trees.GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию) - * > {@link Trees.SchemeTree} - дерево топологии "st" + * {@link Trees.GlobalTree GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию) + * > {@link Trees.SchemeTree SchemeTree} - дерево топологии "st" * - * > {@link Trees.GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное) - * > > {@link Trees.DesktopTree} - дерево рабочего стола "dsk" + * > {@link Trees.GlobalAttributeTree GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное) + * > > {@link Trees.DesktopTree DesktopTree} - дерево рабочего стола "dsk" * - * > > {@link Trees.UserAttributeTree} - дерево пользовательских параметров "uat" + * > > {@link Trees.UserAttributeTree UserAttributeTree} - дерево пользовательских параметров "uat" * - * > > {@link Trees.RemoteModulesTree} - дерево сборщиков данных "rmt" + * > > {@link Trees.RemoteModulesTree RemoteModulesTree} - дерево сборщиков данных "rmt" * * *
@@ -37,9 +37,9 @@ *
* Связанные объекты: * - * - {@link Trees.GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева - * - {@link Trees.GlobalTree.Node} - Здесь можно найти примеры, как работать с содержимым глобальной ноды - * - {@link Trees.GlobalAttributeTree.Node} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды + * - {@link Trees.GlobalTree GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева + * - {@link Trees.GlobalTree.Node GlobalTreeNode} - Здесь можно найти примеры, как работать с содержимым глобальной ноды + * - {@link Trees.GlobalAttributeTree.Node GlobalAttributesNode} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды * * @example * // Работа с деревом @@ -49,7 +49,7 @@ * // данных пользователя * ps.pl.tm.get(new v2.string("rmt")).then(function(ref){ * // ref - это ссылка на объект - * // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree} + * // метод value возвращает целевой объект. В данном случае дерево {@link Trees.RemoteModulesTree RemoteModulesTree} * var tree = ref.value(); * }, function(err){ * // в случае неудачи придет ошибка. diff --git a/templates/initi/publish.js b/templates/initi/publish.js index d2903aa..39d9009 100644 --- a/templates/initi/publish.js +++ b/templates/initi/publish.js @@ -550,10 +550,6 @@ function buildMemberNavNamespace(items, itemHeading, itemsSeen, linktoFn) { function buildNav(members) { var nav = '

GUI 2.9.1-develop

'; - // var seen = {}; - // nav += buildMemberNavNamespace(members.namespaces, 'Managers', seen, linkto); - // nav += buildMemberNavNamespace(members.classes, 'Classes', seen, linkto); - nav += render_explorer(members.namespaces, members.classes); return nav; @@ -561,6 +557,10 @@ function buildNav(members) { var render_explorer = function (_nss, _clss) { var nav = ""; + // nav += render_menu_item("Widgets", "widgets", _nss, _clss, true); + // nav += render_menu_item("Datasources", "datasources", _nss, _clss, true); + // nav += render_menu_item("SignalSlot", "sigslot", _nss, _clss, true); + // nav += render_menu_item("Grid", "grid", _nss, _clss, true); nav += render_menu_item("Providers Interface", "providers_interface", _nss, _clss, true); nav += render_menu_item("Providers Managers", "manager", _nss, _clss, true); nav += render_menu_item("Libraries", "library", _nss, _clss, true); @@ -583,8 +583,6 @@ var render_menu_item = function (_title, _type, _nss, _clss, _check_tags) { var members = find_first_members(ns.name, _clss); - // console.log(JSON.stringify(ns, true, 3)) - nav += "