убрал датасорсы и переработаны паблишеры

This commit is contained in:
Aleksey Chichenkov 2019-06-19 15:21:58 +03:00
parent 5335ac8c96
commit 34fc85333c
19 changed files with 319 additions and 127 deletions

View File

@ -43,8 +43,8 @@
* - - #### {@link CoreConfig}
* - - #### {@link CoreErrors}
* - - #### {@link CoreTranslations}
* - - #### {@link Datasource}
* - - #### {@link UserManager} - Менеджер для доступа к настройкам доступа пользователей
* - - #### {@link Publishers} - Менеджер для доступа к настройкам доступа пользователей
* - #### Библиотеки:
* - - #### {@link std} - реализация сишной библиотеки на js.
* - - #### {@link v2} - сериализуемые типы, которыми можно обмениваться с ядром.
@ -133,16 +133,17 @@
*
* <br>
* Доступные менеджеры у платформы:
* - {@link GroupTypes} - Менеджер, который позволяет получить данные по типу компонента, определен как **ps.pl.gtm**
* - {@link EventTypes} - Менеджер, который позволяет получить данные по типу события, определен как **ps.pl.etm**
* - {@link ModelTypes} - Менеджер, который позволяет узнать о содержимом модели **ps.pl.mtm**
* - {@link Models} - Менеджер, для доступа к устройствам, определен как **ps.pl.mm**
* - {@link Trees} - Менеджер, для доступа к деревьям, определен как **ps.pl.tm**
* - {@link CoreConfig} - Менеджер, для доступа к конфигу платформы, определен как **ps.pl.core_config**
* - {@link CoreErrors} - Менеджер, для доступа к конфигу платформы, определен как **ps.pl.core_errors**
* - {@link CoreTranslations} - Менеджер, для доступа к переводам, определен как **ps.pl.translations**
* - {@link Datasource} - Менеджер, для к каталогу датасорсов, определен как **ps.pl.datasources**
* - {@link UserManager} - Менеджер, для доступа к данным пользоваталей, определен как **ps.pl.users**
*
* - {@link GroupTypes} - Менеджер, который позволяет получить данные по типу компонента, определен как **ps.pl.gtm**
* - {@link EventTypes} - Менеджер, который позволяет получить данные по типу события, определен как **ps.pl.etm**
* - {@link ModelTypes} - Менеджер, который позволяет узнать о содержимом модели **ps.pl.mtm**
* - {@link Models} - Менеджер, для доступа к устройствам, определен как **ps.pl.mm**
* - {@link Trees} - Менеджер, для доступа к деревьям, определен как **ps.pl.tm**
* - {@link CoreConfig} - Менеджер, для доступа к конфигу платформы, определен как **ps.pl.core_config**
* - {@link CoreErrors} - Менеджер, для доступа к конфигу платформы, определен как **ps.pl.core_errors**
* - {@link CoreTranslations} - Менеджер, для доступа к переводам, определен как **ps.pl.translations**
* - {@link UserManager} - Менеджер, для доступа к данным пользоваталей, определен как **ps.pl.users**
* - {@link UserManager} - Менеджер, для доступа к публишерам, определен как **ps.pl.pm**
*
*
*

View File

@ -16,8 +16,8 @@
* - {@link CoreConfig} - Менеджер, для доступа к конфигу платформы, определен как **core_config**
* - {@link CoreErrors} - Менеджер, для доступа к списку ошибок, определен как **core_errors**
* - {@link CoreTranslations} - Менеджер, для доступа к переводам, определен как **translations**
* - {@link Datasource} - Менеджер, для к каталогу датасорсов, определен как **datasources**
* - {@link UserManager} - Менеджер, для доступа к данным пользоваталей, определен как **users**
* - {@link Publishers} - Менеджер, для доступа к данным паблишерам, определен как **pm**
*
* @group providers_interface
* @namespace Platform
@ -94,15 +94,6 @@ function Platform() {
*/
this.core_errors = new CoreErrors();
/**
*
* @public
* @name datasources
* @type {Datasource}
* @memberof Platform
*/
this.datasources = new Datasource();
/**
*
* @public
@ -112,6 +103,15 @@ function Platform() {
*/
this.users = new UserManager();
/**
*
* @public
* @name pm
* @type {Publishers}
* @memberof Platform
*/
this.pm = new Publishers();
/**
*
* @public

View File

@ -38,18 +38,6 @@ function CoreConfig() {
};
/**
* Возвращает таг датасорс менеджера
*
* @public
* @function datasource_manager_tag
* @memberof CoreConfig
* @returns {v2.string}
*/
this.datasource_manager_tag = function () {
};
/**
* Возвращает таг менеджера пользователей
*

View File

@ -1,39 +0,0 @@
/**
* ### Каталог источников данных
*
* Менеджер предназначеный для работы с датасорсами.
*
* ```bash
* // доступ
* ps.pl.datasources
* ```
*
* @group manager
* @namespace Datasource
* @extends manager
*/
function Datasource() {
/**
*
* @public
* @function datasource_request
* @param {v2.vc} _data данные, которые нужно передать при запросе.
* @memberof Datasource
* @returns {Promise}
*/
this.datasource_request = function (_data) {
};
/**
*
* @public
* @function catalog
* @memberof Datasource
* @returns {v2.vc}
*/
this.catalog = function () {
}
}

View File

@ -1,17 +1,17 @@
/** @typedef {Publishers.Publisher.Items.Item.Attributes.Attribute} PublisherItemAttribute */
/** @typedef {Publishers.PublisherManager.Publisher.Items.Item.Attributes.Attribute} PublisherItemAttribute */
/**
*
* @group manager
* @class Attribute
* @memberof Publishers.Publisher.Items.Item.Attributes
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes
*/
var Attribute = function () {
/**
*
* @name s_size_change
* @public
* @memberof Publishers.Publisher.Items.Item.Attributes.Attribute
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes.Attribute
* @type {number}
*/
this.s_size_change = -1;
@ -20,7 +20,7 @@ var Attribute = function () {
*
* @public
* @function name
* @memberof Publishers.Publisher.Items.Item.Attributes.Attribute
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes.Attribute
* @returns {v2.string}
*/
this.name = function () {
@ -31,7 +31,7 @@ var Attribute = function () {
*
* @public
* @function value
* @memberof Publishers.Publisher.Items.Item.Attributes.Attribute
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes.Attribute
* @returns {v2}
*/
this.value = function () {
@ -42,7 +42,7 @@ var Attribute = function () {
*
* @public
* @function type
* @memberof Publishers.Publisher.Items.Item.Attributes.Attribute
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes.Attribute
* @returns {v2.type}
*/
this.type = function () {

View File

@ -2,7 +2,7 @@
*
* @group manager
* @class Attributes
* @memberof Publishers.Publisher.Items.Item
* @memberof Publishers.PublisherManager.Publisher.Items.Item
*/
var Attributes = function () {
@ -10,7 +10,7 @@ var Attributes = function () {
*
* @public
* @function get
* @memberof Publishers.Publisher.Items.Item.Attributes
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes
* @param _id {v2.integer}
* @returns {tools.promise(PublisherItemAttribute)}
*/
@ -22,7 +22,7 @@ var Attributes = function () {
*
* @public
* @function attributes
* @memberof Publishers.Publisher.Items.Item.Attributes
* @memberof Publishers.PublisherManager.Publisher.Items.Item.Attributes
* @returns {v2.list(v2.string)}
*/
this.attributes = function () {}

View File

@ -1,17 +1,17 @@
/** @typedef {Publishers.Publisher.Items.Item} PublisherItem */
/** @typedef {Publishers.PublisherManager.Publisher.Items.Item} PublisherItem */
/**
*
* @group manager
* @class Item
* @memberof Publishers.Publisher.Items
* @memberof Publishers.PublisherManager.Publisher.Items
*/
var Item = function () {
/**
*
* @function id
* @public
* @memberof Publishers.Publisher.Items.Item
* @memberof Publishers.PublisherManager.Publisher.Items.Item
* @type {v2.integer}
*/
this.id = function () {
@ -22,7 +22,7 @@ var Item = function () {
*
* @public
* @function get
* @memberof Publishers.Publisher.Items.Item
* @memberof Publishers.PublisherManager.Publisher.Items.Item
* @param _index {v2.integer}
* @returns {tools.promise(PublisherItemAttribute)}
*/

View File

@ -2,7 +2,7 @@
*
* @group manager
* @class Items
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
*/
var Items = function () {
@ -10,7 +10,7 @@ var Items = function () {
*
* @public
* @function get
* @memberof Publishers.Publisher.Items
* @memberof Publishers.PublisherManager.Publisher.Items
* @param _id {v2.integer}
* @returns {tools.promise(PublisherItem)}
*/
@ -22,7 +22,7 @@ var Items = function () {
*
* @public
* @function is_exist
* @memberof Publishers.Publisher.Items
* @memberof Publishers.PublisherManager.Publisher.Items
* @param _id {v2.integer}
* @returns {boolean}
*/

View File

@ -0,0 +1,66 @@
/**
* ### Менеджер паблишеров.
* <br>
* <br>
* **Доступ:**
*
* Централизированного доступа к паблишерам нет.
*
* Он осуществляется для каждого менеджера паблишеров в индивидальном порядке, под провайдером,
*
* который его содержит.
* @group manager
* @class PublisherManager
* @extends manager
* @memberof Publishers
*/
function PublisherManager() {
/**
* Вернет ссылку на провайдер паблишера.
* <br/>
* <br/>
* ```
* // Пример работы с менеджером паблишеров
*
*
* // некий тип, например lpGeneric
* var type = new v2.model_type("lpGeneric");
*
* // некий адрес (адрес может быть выдан сервером по запросу или известен заранее)
* var addr = new v2.address()
*
* ps.pl.pm.get(type).then(function(_ref){
* var pm = _ref.value();
* var ref = _ref;
* return pm.get(addr)
* }, function(_err){
* // случилась какая-то ошибка
* console.log(_err)
* }).then(function (_ref){
* var publisher_provider = _ref.value();
* var publisher_ref = _ref;
*
* // вот и вся цепочка получения паблишера
* }, function (_err){
* // случилась какая-то ошибка
* console.log(_err);
* })
*
* ```
*
* Изначально описано несколько типов паблишеров:
* - __lpGeneric__ - произвольный паблишер, от него отнаследованы все остальные
* - __lpComponents__ - паблишер для поиска по компонентам
* - __lpDiscovery__ - паблишер для отображения результатов поиска дискавери
* - __lpMassAction__ - паблишер для массовых действий
*
* @public
* @function get
* @param {v2.address} type Тип паблишера, для которого будет возвращен менеджер паблишеров
* @returns {tools.promise<Publishers.PublisherManager.Publisher>}
* @memberof Publishers.PublisherManager
*/
this.get = function (type) {
};
}

View File

@ -2,7 +2,7 @@
*
* @group manager
* @class Publisher
* @memberof Publishers
* @memberof Publishers.PublisherManager
*/
function Publisher() {
@ -11,7 +11,7 @@ function Publisher() {
*
* @public
* @function address
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
* @returns {v2.address}
*/
this.address = function () {
@ -22,7 +22,7 @@ function Publisher() {
*
* @public
* @function id
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
* @returns {v2.address}
*/
this.id = function () {
@ -33,7 +33,7 @@ function Publisher() {
*
* @public
* @function headers
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
* @returns {v2.list(v2.vc)}
*/
this.headers = function () {
@ -44,7 +44,7 @@ function Publisher() {
*
* @public
* @function get_reader
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
* @param _column_name {v2.string}
* @param _sort {v2.integer}
* @returns {tools.promise(PublisherReader)}
@ -57,7 +57,7 @@ function Publisher() {
*
* @public
* @function get_item
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
* @param _id {v2.integer}
* @returns {tools.promise(PublisherItem)}
*/
@ -70,7 +70,7 @@ function Publisher() {
* @public
* @function default_sort_column
* @returns {v2.string}
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
*/
this.default_sort_column = function () {
@ -80,7 +80,7 @@ function Publisher() {
*
* @public
* @function default_sort
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
* @returns {v2.integer}
*/
this.default_sort = function () {

View File

@ -3,14 +3,14 @@
*
* @group manager
* @class Readers
* @memberof Publishers.Publisher
* @memberof Publishers.PublisherManager.Publisher
*/
var Readers = function () {
/**
*
* @public
* @function get
* @memberof Publishers.Publisher.Readers
* @memberof Publishers.PublisherManager.Publisher.Readers
* @param _column_name {v2.string}
* @param _sort {v2.integer}
* @returns {tools.promise(PublisherReader)}

View File

@ -1,17 +1,17 @@
/** @typedef {Publishers.Publisher.Readers.Reader.Index} PublisherReaderIndex */
/** @typedef {Publishers.PublisherManager.Publisher.Readers.Reader.Index} PublisherReaderIndex */
/**
*
* @group manager
* @class Index
* @memberof Publishers.Publisher.Readers.Reader
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader
*/
var Index = function () {
/**
*
* @name s_change
* @public
* @memberof Publishers.Publisher.Readers.Reader.Index
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader.Index
* @type {number}
*/
this.s_change = -1;
@ -20,7 +20,7 @@ var Index = function () {
*
* @public
* @function index
* @memberof Publishers.Publisher.Readers.Reader.Index
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader.Index
* @returns {v2.integer}
*/
this.index = function () {};
@ -29,7 +29,7 @@ var Index = function () {
*
* @public
* @function inst_id
* @memberof Publishers.Publisher.Readers.Reader.Index
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader.Index
* @returns {v2.integer}
*/
this.inst_id = function () {};

View File

@ -1,17 +1,17 @@
/** @typedef {Publishers.Publisher.Readers.Reader} PublisherReader */
/** @typedef {Publishers.PublisherManager.Publisher.Readers.Reader} PublisherReader */
/**
*
* @group manager
* @class Reader
* @memberof Publishers.Publisher.Readers
* @memberof Publishers.PublisherManager.Publisher.Readers
*/
var Reader = function () {
/**
*
* @name s_size_change
* @public
* @memberof Publishers.Publisher.Readers.Reader
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader
* @type {number}
*/
this.s_size_change = -1;
@ -20,7 +20,7 @@ var Reader = function () {
*
* @public
* @function get
* @memberof Publishers.Publisher.Readers.Reader
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader
* @param _index {v2.integer}
* @returns {tools.promise(PublisherReaderIndex)}
*/
@ -32,7 +32,7 @@ var Reader = function () {
*
* @public
* @function size
* @memberof Publishers.Publisher.Readers.Reader
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader
* @returns {v2.integer}
*/
this.size = function () {
@ -43,7 +43,7 @@ var Reader = function () {
*
* @public
* @function check_index
* @memberof Publishers.Publisher.Readers.Reader
* @memberof Publishers.PublisherManager.Publisher.Readers.Reader
* @param _index {v2.integer}
* @returns {boolean}
*/

View File

@ -0,0 +1,22 @@
/**
* ### Паблишеры компонентов
*
* Отнаследовано от базового паблишера.
*
*
* <br>
* Связанные объекты:
*
* - {@link Publishers} - Здесь можно найти примеры, как работать с менеджером паблишеров
* - {@link Publishers.PublisherManager} - Здесь можно найти примеры, как работать с содержимым базового менеджера паблишеров
* - {@link Publishers.PublisherManager.Publisher} - Здесь можно найти примеры как работать с паблишером
* - {@link Publishers.ComponentsPublisherManager.ComponentsPublisher} - Здесь можно найти примеры как работать с паблишером для компонентов
*
* @group manager
* @class ComponentsPublisherManager
* @extends Publishers.PublisherManager
* @memberof Publishers
*/
function ComponentsPublisherManager() {
}

View File

@ -0,0 +1,71 @@
/**
* ### Паблишеры массовых действий
*
* Отнаследовано от базового паблишера.
*
*
* <br>
* Связанные объекты:
*
* - {@link Publishers} - Здесь можно найти примеры, как работать с менеджером паблишеров
* - {@link Publishers.ComponentsPublisherManager} - Здесь можно найти примеры, как работать с содержимым менеджера паблишеров массовых действий
*
* @group manager
* @class ComponentsPublisher
* @extends Publishers.PublisherManager.Publisher
* @memberof Publishers.ComponentsPublisherManager
*/
function ComponentsPublisher() {
/**
*
* @public
* @function dnd_update
* @param {v2.variable_container} data
* @returns {boolean}
* @memberof Publishers.ComponentsPublisherManager.ComponentsPublisher
*/
this.dnd_update = function (data) {
};
/**
*
* @public
* @function search_by_filter_data
* @param {v2.vc} _filter_data
* @param {v2.vc} _params
* @param {v2.model_type} _component_type
* @param {v2.integer} _max_results
* @returns {*}
* @memberof Publishers.ComponentsPublisherManager.ComponentsPublisher
*/
this.search_by_filter_data = function (_component_type, _filter_data, _params, _max_results) {
};
/**
*
* @public
* @function apply_by_node_id
* @param {v2.integer} _node_id
* @returns {*}
* @memberof Publishers.ComponentsPublisherManager.ComponentsPublisher
*/
this.apply_by_node_id = function (_node_id) {
};
/**
*
* @public
* @function fast_search_cancel
* @returns {*}
* @memberof Publishers.ComponentsPublisherManager.ComponentsPublisher
*/
this.fast_search_cancel = function () {
}
}

View File

@ -1,39 +1,71 @@
/**
* ### Менеджер паблишеров.
* ### Фабрика типов паблишеров.
* <br>
* <br>
* **Доступ:**
* Через этот объект осуществляется доступ к менеджерам паблишеров, через которые можно получить доступ к самим паблишерам
*
* Централизированного доступа к паблишерам нет.
*
* Он осуществляется для каждого менеджера паблишеров в индивидальном порядке, под провайдером,
*
* который его содержит.
* @group manager
* @namespace Publishers
*/
function Publishers() {
/**
* Вернет ссылку на провайдер паблишера.
* Вернет ссылку на провайдер менеджера паблишеров (Publishers.PublisherManager).
* <br/>
* <br/>
* Пример
* ```
* var some_provider = null;
* some_provider.publisher_manager.get(new v2.address("some_publisher")).then(function(_ref){
* var model = _ref.value();
* // теперь можно работать с провайдером паблишера
* // Пример работы с фабрикой менеджеров для паблишеров
*
* // некий тип, например lpGeneric
* var type = new v2.model_type("lpGeneric");
*
* ps.pl.pm.get(type).then(function(_ref){
* var publisher_manager_provider = _ref.value();
* // теперь можно работать с провайдером менеджера паблишера
* }, function(_err){
* console.log("произошла ошибка")
* });
* ```
*
*
* Изначально описано несколько типов паблишеров:
* - __lpGeneric__ - произвольный паблишер, от него отнаследованы все остальные
* - __lpComponents__ - паблишер для поиска по компонентам
* - __lpDiscovery__ - паблишер для отображения результатов поиска дискавери
* - __lpMassAction__ - паблишер для массовых действий
*
* @public
* @function get
* @param {v2.address} address Адрес паблишера
* @returns {tools.promise(Publishers.Publisher)}
* @param {v2.model_type} type Адрес паблишера
* @returns {tools.promise<Publishers.PublisherManager>}
* @memberof Publishers
*/
this.get = function (address) {
this.get = function (type) {
};
/**
*
* @public
* @function kill
* @param {v2.model_type} type
* @param {v2.address} address
* @returns {boolean}
* @memberof Publishers
*/
this.kill = function (type, address) {
};
/**
*
* @public
* @function delete
* @param {v2.address} address
* @returns {boolean}
* @memberof Publishers
*/
this.delete = function (address) {
};
}

View File

@ -0,0 +1,22 @@
/**
* ### Паблишеры массовых действий
*
* Отнаследовано от базового паблишера.
*
*
* <br>
* Связанные объекты:
*
* - {@link Publishers} - Здесь можно найти примеры, как работать с менеджером паблишеров
* - {@link Publishers.PublisherManager} - Здесь можно найти примеры, как работать с содержимым базового менеджера паблишеров
* - {@link Publishers.PublisherManager.Publisher} - Здесь можно найти примеры как работать с паблишером
* - {@link Publishers.MassActionPublisherManager.Publisher} - Здесь можно найти примеры как работать с паблишером массовых действий
*
* @group manager
* @class MassActionPublisherManager
* @extends Publishers.PublisherManager
* @memberof Publishers
*/
function MassActionPublisherManager() {
}

View File

@ -0,0 +1,32 @@
/**
* ### Паблишеры массовых действий
*
* Отнаследовано от базового паблишера.
*
*
* <br>
* Связанные объекты:
*
* - {@link Publishers} - Здесь можно найти примеры, как работать с менеджером паблишеров
* - {@link Publishers.MassActionPublisherManager} - Здесь можно найти примеры, как работать с содержимым менеджера паблишеров массовых действий
*
* @group manager
* @class MassActionPublisher
* @extends Publishers.PublisherManager.Publisher
* @memberof Publishers.MassActionPublisherManager
*/
function MassActionPublisher() {
/**
*
* @public
* @function dnd_update
* @param {v2.variable_container} data
* @returns {boolean}
* @memberof Publishers.MassActionPublisherManager.MassActionPublisher
*/
this.dnd_update = function (data) {
}
}

View File

@ -64,9 +64,6 @@
{
name: "CoreConfig",
},
{
name: "DatasourceManager",
},
{
name: "CoreTranslations",
},