initi.doc/docfiles/providers/managers/publishers/base/manager.js

66 lines
2.5 KiB
JavaScript
Raw Normal View History

/**
* ### Менеджер паблишеров.
* <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) {
};
}