Фильтрация календаря iNotes в extlib - PullRequest
4 голосов
/ 11 марта 2012

Мне тоже нужно отфильтровать элемент управления календаря iNotes в extlib.Когда я смотрю на примеры в приложении extlib, я вижу, что предполагается, что он подключен к xecalendarJsonLegacyService.

Проблема, с которой я сталкиваюсь в этом сервисе, заключается в том, что я не могу фильтровать контент по категории илипоиск как с другими сервисами представления.

Мне нужно создавать различные данные календарей / json на основе поиска или категории в представлении.Я посмотрел некоторые другие сервисы, но не уверен, что их можно использовать вместо этого.

Если у вас есть идеи, как мне создать свой фильтр, ответьте.

IПрикрепленные ниже изображения показывают jsonservice и calendarcontrol.

enter image description here enter image description here

Так выглядят данные json в xsCalendarJsonLegacyService

{
    "@timestamp":"20120311T171603",
    "@toplevelentries":"3",
    "viewentry":
    [
  {
      "@unid":"37F0330979C04AF2C12579BE004F5629",
      "@noteid":"32E1A",
      "@position":"1",
      "@read":"true",
      "@siblings":"3",
      "entrydata":
      [
        {
            "@columnnumber":"0",
            "@name":"$134",
            "datetime":
            {
                "0":"20120314T100000"
            }
        },
        {
            "@columnnumber":"1",
            "@name":"$149",
            "number":
            {
                "0":119
            }
        }, etc...

Ответы [ 4 ]

1 голос
/ 03 апреля 2012

Я нашел код, который вы можете использовать, но вам придется расширить пользовательский элемент управления.Я думаю, что это новый компонент, который еще не включен в качестве компонента xe: внутри библиотеки расширений.

Вот как вы используете элемент управления:

<xc:CalendarStoreCustomRestService id="cc4ccCalendarStoreCustomRestService"
    storeComponentId="notesCalendarStore1"  databaseName="#{sessionScope.databaseName}"
    viewName="($Calendar)">

</xc:CalendarStoreCustomRestService>

Это ваш компонент календаря, он использует вышеуказанный storeComponentId.

        <xe:calendarView id="calendarView1" jsId="cview1"
            summarize="false"
            type="#{javascript: null == viewScope.calendarType? 'M' : viewScope.calendarType }"
            storeComponentId="notesCalendarStore1">
            <xe:this.loaded><![CDATA[${javascript:if (sessionScope.databaseName == null) {
                    return false;
                } else {
                    return true;
                }}]]></xe:this.loaded>
        </xe:calendarView>

Если вам нужна дополнительная информация, этот пример включен в DWA_iNotesRest.xsp.

1 голос
/ 28 марта 2012

Вы можете реализовать свой собственный REST-сервис (или расширение существующего) в библиотеке расширений, но я думаю, вы ищете что-то более простое.

1 голос
/ 30 марта 2012

Извините, нет кода, но, возможно, (и надеюсь) ответ.Вы смотрели на пользовательский элемент управления xc: CalendarStoreCustomRestService в демонстрационной библиотеке расширений Xpages?Похоже, они соединили элемент управления календаря с обычным хранилищем представлений JSON и поддерживают поиск по ключам.

0 голосов
/ 15 марта 2012

Я долго гуглял, и единственное решение, которое я нашел, - это создать собственную службу отдыха

Вам удалось отфильтровать календарь без этого?

...