ns2-front-module-common
Version:
NS2 common module
137 lines • 6.54 kB
JavaScript
import { Injectable } from "@angular/core";
import { RealtyFilterOperation } from "../models/realty-filter-operation.model";
import { RealtyFilterLogicalOperation } from "../models/realty-filter-logical-operation.model";
/**
* Класс для построения объектов фильтрации объявлений
*/
var RealtyFiltersBuilder = (function () {
function RealtyFiltersBuilder() {
}
/**
* Формирование части запроса ИЛИ.
* Параметры метода будут использованы в запросе через оператор ИЛИ.
* @param filter Компоненты фильтра
* @returns {RealtyFilterLogicalOperation}
*/
RealtyFiltersBuilder.prototype.or = function (filter) {
return new RealtyFilterLogicalOperation('or', filter);
};
/**
* Формирование части запроса И.
* Параметры метода будут использованы в запросе через оператор И.
* @param filter Компоненты фильтра
* @returns {RealtyFilterLogicalOperation}
*/
RealtyFiltersBuilder.prototype.and = function (filter) {
return new RealtyFilterLogicalOperation('and', filter);
};
/**
* Проверка на равенство указанного поля с переданным значением
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.eq = function (field, value) {
return new RealtyFilterOperation('eq', field, value);
};
/**
* Проверка на неравенство указанного поля с переданным значением
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.ne = function (field, value) {
return new RealtyFilterOperation('ne', field, value);
};
/**
* Проверка что значение указанного поля больше переданного значения
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.gt = function (field, value) {
return new RealtyFilterOperation('gt', field, value);
};
/**
* Проверка что значение указанного поля больше или равно переданному значению
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.gte = function (field, value) {
return new RealtyFilterOperation('gte', field, value);
};
/**
* Проверка что значение указанного поля меньше переданного значения
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.lt = function (field, value) {
return new RealtyFilterOperation('lt', field, value);
};
/**
* Проверка что значение указанного поля меньше или равно переданному значению
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.lte = function (field, value) {
return new RealtyFilterOperation('lte', field, value);
};
/**
* Проверка что значение указанного поля входит в массив переданных значений
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.in = function (field, value) {
return new RealtyFilterOperation('in', field, value);
};
/**
* Проверка что значение указанного поля не входит в массив переданных значений
* @param field Имя поля
* @param value Значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.nin = function (field, value) {
return new RealtyFilterOperation('nin', field, value);
};
/**
* Проверка что значение указанного поля(точки на карте) входит в прямоугольную область описываемую параметрами leftBottomPoint и rightTopPoint
* @param field Имя поля
* @param leftBottomPoint Координаты левой-нижней точки прямоугольника
* @param rightTopPoint Координаты правой-верхней точки прямоугольника
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.geoIn = function (field, leftBottomPoint, rightTopPoint) {
return new RealtyFilterOperation('geoin', field, [[leftBottomPoint[0], leftBottomPoint[1]], [rightTopPoint[0], rightTopPoint[1]]]);
};
/**
* Проверка что значение поля входит в диапазон между minValue и maxValue (включая крайние точки)
* @param field Имя поля
* @param minValue Минимальное значение
* @param maxValue Максимальное значение
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.between = function (field, minValue, maxValue) {
return new RealtyFilterOperation('between', field, [minValue, maxValue]);
};
/**
* Проверка существования поля
* @param field Имя поля
* @param value Должно поле существовать или нет
* @returns {RealtyFilterOperation}
*/
RealtyFiltersBuilder.prototype.exists = function (field, value) {
return new RealtyFilterOperation('exists', field, value);
};
return RealtyFiltersBuilder;
}());
export { RealtyFiltersBuilder };
RealtyFiltersBuilder.decorators = [
{ type: Injectable },
];
/** @nocollapse */
RealtyFiltersBuilder.ctorParameters = function () { return []; };
//# sourceMappingURL=realty-filters-builder.service.js.map