template.filtersStorage

Статический объект.

Экземпляр класса util.Storage

Хранилище фильтров для шаблонов. Фильтры из хранилища можно использовать во всех макетах, созданных с помощью templateLayoutFactory . По умолчанию в хранилище объявлены следующие ключи для фильтров:
  • default — позволяет устанавливать значения по умолчанию. Например, так: {{ properties.header|default:"Заголовок" }}

Методы

Примеры:

1.

 // Напишем простой фильтр, который будет преобразовывать
// дату в формате «dd.mm.yyyy» в формат «dd month yyyy».
// Для этого нужно создать функцию-фильтр, которая возвратит новое значение.

 // При вызове фильтра в функцию будут переданы следующие аргументы:
 // менеджер данных шаблона 
          data.Manager
        , значение и значение, заданное фильтру.
 var dateFilter = function (data, dateString, filterValue) {
     var months = [
             'january', 'february', 'march', 'april',
             'may', 'june', 'july', 'august',
             'september', 'october', 'november', 'december'
         ],
        date = dateString.split('.');

     date[1] = months[parseInt(date[1], 10)];
     return date.join(' ');
};

ymaps.template.filtersStorage.add('date', dateFilter);

// После можно использовать в шаблонах конструкции вида
// {{ "21.10.2014"|date }} значение будет "21 october 2014".

2.

 // Напишем фильтр, который будет находить и заменять подстроки в тексте.
// Формат значений для замены в фильтре «subString_newSubString».

// При вызове фильтра в функцию будут переданы следующие аргументы:
// менеджер данных шаблона 
          data.Manager
        , текст и значение, заданное фильтру.
 var replaceFilter = function (data, text, replace) {
     replace = replace.trim();
     // Removing quotation marks.
    replace = replace.slice(1, replace.length - 1);

     // Будем находить в тексте часть, указанную до «_» и заменять её на то, что указано после.
     var values = replace.split('_'),
         from = new RegExp(values[0], 'g'),
        to = values[1];

     return text.replace(from, to);
};

// Теперь можно использовать в шаблонах конструкции вида
// {{"text test replace"|replace: "test_replaced test" }} значение будет "text replaced test replace".

3.

// В данном примере в макет добавляются значение опции "colorClass" и значение свойства "header".
// Если значения свойства "header" нет, то вставляется строка "Заголовок".
var LayoutClass = ymaps.templateLayoutFactory.createClass(
     '<h1 class="{{ options.colorClass }}">' +
         '{{ properties.header|default:"Заголовок" }}' +
     '</h1>'
);

Методы

Имя Возвращает Описание
add (key, object)

util.Storage

Добавляет объект в хранилище.

get (key)

Object

Возвращает объект, хранящийся под указанным ключом, или исходный key, в случае, если это не строка.

remove (key)

util.Storage

Удаляет пару "ключ: значение" из хранилища.