Search code examples
javascriptxpageslotus-notesxpages-extlib

How to make xPages name picker to show Corporate Directory or Extended Directory Catalog Names?


I have a simple name picker:

<xe:namePicker id="namePicker1" for="myNameEditBox">
    <xe:this.dataProvider>
        <xe:dominoNABNamePicker
            valueNameFormat="common" 
            people="true" 
            nameList="people" 
            groups="false" 
            addressBookSel="all">
        </xe:dominoNABNamePicker>
    </xe:this.dataProvider>
</xe:namePicker>

but it brings only names from servers names.nsf that may not have persons in (the server where the app runs). So I need to make it work like in Notes Client

enter image description here


Solution

  • You can use xe:namePickAggregator to lookup over multiples address books

    <xe:namePicker
        id="namePicker1"
        for="inputText1">
        <xe:this.dojoAttributes>
            <xp:dojoAttribute
                name="maxRowCount"
                value="10000">
            </xp:dojoAttribute>
        </xe:this.dojoAttributes>
        <xe:this.dataProvider>
            <xe:namePickerAggregator>
                <xe:this.dataProviders>
                    <xe:dominoNABNamePicker
                        addressBookDb="server!!nab1.nsf"
                        addressBookSel="db-name"
                        groups="false"
                        people="true"
                        valueNameFormat="common">
                    </xe:dominoNABNamePicker>
                    <xe:dominoNABNamePicker
                        addressBookDb="names.nsf"
                        addressBookSel="db-name"
                        groups="false"
                        people="true"
                        valueNameFormat="common">
                    </xe:dominoNABNamePicker>
                </xe:this.dataProviders>
            </xe:namePickerAggregator>
        </xe:this.dataProvider>
    </xe:namePicker>