ns2-front-module-common
Version: 
NS2 common module
169 lines • 6.59 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
import { AbstractRefsService } from './abstract-refs.service';
import { Injectable } from '@angular/core';
/**
 * Сервис для работы с географическими данными
 */
var GeoService = (function (_super) {
    __extends(GeoService, _super);
    function GeoService() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.refName = 'geo';
        return _this;
    }
    /**
     * Возвращает все страны
     * @returns {Promise<GeoModel[]>}
     */
    GeoService.prototype.getAllCountries = function () {
        return this.getListAll({ level: 1 }, 'sorder,title');
    };
    /**
     * Возвращает все города в указанной стране
     * @param countryGuid Идентификатор страны
     * @returns {Promise<GeoModel[]>}
     */
    GeoService.prototype.getAllCities = function (countryGuid) {
        return this.getListAll({ level: 2, pid: countryGuid }, 'sorder,title');
    };
    /**
     * Возвращает все районы в указанном городе
     * @param cityGuid Идентификатор города
     * @returns {Promise<GeoModel[]>}
     */
    GeoService.prototype.getAllDistricts = function (cityGuid) {
        return this.getListAll({ level: 3, pid: cityGuid }, 'sorder,title');
    };
    /**
     * Возвращает страны по указанным параметрам
     * @param params Параметры для загрузки
     * @returns {Promise<ResponseListModel<GeoModel>>}
     */
    GeoService.prototype.getCountries = function (params) {
        params = params || {};
        params.level = 1;
        params[GeoService.SORT_FIELD] = 'sorder,title';
        return this.getList(params);
    };
    /**
     * Возвращает города страны по указанным параметрам
     * @param countryGuid Идентификатор страны
     * @param params Параметры для загрузки
     * @returns {Promise<ResponseListModel<GeoModel>>}
     */
    GeoService.prototype.getCities = function (countryGuid, params) {
        params = params || {};
        params.level = 2;
        params.pid = countryGuid;
        params[GeoService.SORT_FIELD] = 'sorder,title';
        return this.getList(params);
    };
    /**
     * Возвращает районы города по указанным параметрам
     * @param cityGuid Идентификатор города
     * @param params Параметры для загрузки
     * @returns {Promise<ResponseListModel<any>>}
     */
    GeoService.prototype.getDistricts = function (cityGuid, params) {
        params = params || {};
        params.level = 3;
        params.pid = cityGuid;
        params[GeoService.SORT_FIELD] = 'sorder,title';
        return this.getList(params);
    };
    /**
     * Возвращает информацию о городе по его идентификатору
     * @param guid Идентификатор города
     * @returns {Promise<GeoModel>}
     */
    GeoService.prototype.getCity = function (guid) {
        return this.getOne(guid);
    };
    /**
     * Возвращает все записи из дерева на шаг выше
     * @param guid
     * @param params
     * @returns {Promise<any>}
     */
    GeoService.prototype.getTreeUp = function (guid, params) {
        return this.treeUp(guid, params);
    };
    /**
     * Возвращает все записи из дерева на шаг ниже
     * @param guid
     * @param params
     * @returns {Promise<any>}
     */
    GeoService.prototype.getTreeDown = function (guid, params) {
        return this.treeDown(guid, params);
    };
    /**
     * Возвращает информацию о стране по ее идентификатору
     * @param {string} guid Идентификатор страны
     * @returns {Promise<GeoModel>}
     */
    GeoService.prototype.getCountry = function (guid) {
        return this.getOne(guid);
    };
    /**
     * Загружает весь справочник
     * @param params
     * @param sort
     * @returns {Promise<T>}
     */
    GeoService.prototype.getListAll = function (params, sort) {
        if (sort === void 0) { sort = ''; }
        params = params || {};
        params.visible = true;
        return _super.prototype.getListAll.call(this, params, sort);
    };
    /**
     * Возвращает список только отображаемых объектов
     * @param {any} params Параметры запроса
     * @returns {Promise<ResponseListModel<any>>}
     */
    GeoService.prototype.getList = function (params) {
        params = params || {};
        params.visible = true;
        return _super.prototype.getList.call(this, params);
    };
    /**
     * Возвращает часть дерева от заданного узла до корня
     * @param {string} guid Идентификатор узла
     * @param {any} params Параметры запроса
     * @returns {Promise<any>}
     */
    GeoService.prototype.treeUp = function (guid, params) {
        params = params || {};
        params.visible = true;
        return _super.prototype.treeUp.call(this, guid, params);
    };
    /**
     * Возвращает поддерево, начиная от заданного узла
     * @param {string} guid Идентификатор узла
     * @param {any} params Параметры запроса
     * @returns {Promise<any>}
     */
    GeoService.prototype.treeDown = function (guid, params) {
        params = params || {};
        params.visible = true;
        return _super.prototype.treeDown.call(this, guid, params);
    };
    return GeoService;
}(AbstractRefsService));
export { GeoService };
GeoService.decorators = [
    { type: Injectable },
];
/** @nocollapse */
GeoService.ctorParameters = function () { return []; };
//# sourceMappingURL=geo.service.js.map