В приложении Angularjs я использую ng-options
для отображения пользователя и valid from
дату.
Здесь у меня есть флажок, который будет отмечен по умолчанию, означает, что должны отображаться только действительные тарифы.
Здесь действительные тарифы означают тарифы, которые имеют недавнюю дату для каждого пользователя.
Если showvalidrates
= false ожидаемый результат следующим образом,
ASSIST.. / Assistance [valid from 2017-05-01]
ASSIST.. / Assistance [valid from 2018-01-01]
ASSIST.. / Assistance [valid from 2019-01-01]
PROF.. / Professional [valid from 2017-05-01]
PROF.. / Professional [valid from 2018-01-01]
PROF.. / Professional [valid from 2019-01-01]
SEN.. / Senior [valid from 2018-01-01]
SEN.. / Senior [valid from 2019-01-01]
SEN.. / Senior [valid from 2017-05-01]
Если showvalidrates
= true ожидаемый результат следующим образом,
ASSIST.. / Assistance [valid from 2019-01-01]
PROF.. / Professional [valid from 2019-01-01]
SEN.. / Senior [valid from 2019-01-01]
Для этого фильтра последних данных я уже реализовал код, поэтому проблем с ним нет,
Вы можете посмотреть демонстрацию ниже, в которой есть весь код, используемый в app.js
.
Рабочая демоверсия: http://plnkr.co/edit/gFCfMhaFzTq1xHv1P3T1?p=preview
Мне нужна помощь в части, как отправить этот отфильтрованный список в ng-options
, если showvalidrates = true
.. В противном случае, если оно ложно, тогда будут отображаться все записи из item.jobcategories
..
Ссылка: https://codepen.io/anon/pen/GbWKLp
Это просто ссылочная ссылка, и мне нужно решение в плунжере.
В codepen оно имеет действительное свойство и на основе этого фильтра происходит, так же мне нужно отправить отфильтрованные значения из результата, полученного из
const getDate = date => +date.match(/[0-9]{4}-[0-9]{2}-[0-9]{2}/g)[0].split('-').join('')
data = $scope.rateschedule[0].jobcategories.sort(({jobCategoryWithFromDate:date1}, {jobCategoryWithFromDate:date2}) => getDate(date2) - getDate(date1))
const getRecent = (data, i=0) => getDate(data[i].jobCategoryWithFromDate) === getDate(data[i + 1].jobCategoryWithFromDate) ? [data[i], ...getRecent(data, i+1)] : [data[i]]
getRecent(data).forEach(obj => console.log(JSON.stringify(obj)))
(Здесь, в codepen, фильтр происходит на основе свойства valid
, аналогично в plunker я должен отправить отфильтрованное значение в ng-options)
Поскольку у меня уже есть код фильтрации для получения последних данных, помогите мне отправить его на ng-options
..
Любое альтернативное решение, позволяющее справиться с этим в поле выбора, также будет более заметным.
Долго боролись, пожалуйста, помогите мне с хорошим решением ..