Редактирование Текущего Документа При Помощи Tooltipdialog

Тема в разделе "Lotus - Xpages", создана пользователем vvlad, 7 фев 2013.

  1. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    Здравствуйте,

    Есть документ, открытый в xpage по ссылке "...xxx.xsp?action=openDocument&documentId=...."
    На станице есть линк с действием:
    Код (LotusScript):
    XSP.openTooltipDialog("#{id:tooltipDialog1}",'#{id:link3}')
    Поля в диалоге недоступны для редактирования. Работает только если основной документ открывать для редактирования "...xxx.xsp?action=editDocument&documentId=...."
    Создавал отдельный источник данных для полей в диалоге:
    Код (LotusScript):
            <xp:dominoDocument var="document1" formName="Zayavka"
    action="editDocument">
    </xp:dominoDocument>
    Не помагает.
    Можно это как-то победить?
    Подскажите плиз куда копать.
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Ну даже не знаю что тебе сказать....
    Вот на скорую руку... ссылка http://xxxxxxx/tmp/testDB.nsf/test.xsp
    Код (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xp:this.data>
    <xp:dominoView var="view1" viewName="test"></xp:dominoView>
    </xp:this.data>

    <xp:repeat id="repeat1" rows="30" value="#{view1}" var="row">
    <xp:br></xp:br>


    <xp:text escape="true" id="computedField1" value="#{row.txt}"></xp:text>  

    <xp:link escape="true" id="link2" text="открыть">

    <xp:eventHandler event="onclick" submit="false">
    <xp:this.script><![CDATA[XSP.openTooltipDialog('#{id:tooltipDialog1}','#{id:computedField1}')]]></xp:this.script>
    </xp:eventHandler></xp:link>
    <xp:br></xp:br>
    <xe:tooltipDialog id="tooltipDialog1">
    <xp:panel>
    <xp:this.data>
    <xp:dominoDocument var="document1" action="editDocument"
    documentId="#{java script:row.getNoteID()}" formName="tmp">
    </xp:dominoDocument>
    </xp:this.data>
    <xp:table>
    <xp:tr>
    <xp:td>
    <xp:label value="Body:" id="body_Label1"
    for="body1">
    </xp:label>
    </xp:td>
    <xp:td>
    <xp:inputText id="inputText1"
    value="#{document1.txt}"
    defaultValue="#{java script:viewScope.unid}">
    </xp:inputText>
    </xp:td>
    </xp:tr>
    </xp:table>
    <xp:button value="Ok" id="button3">
    <xp:eventHandler event="onclick" submit="true"
    refreshMode="complete">
    <xp:this.action>
    <xp:actionGroup>
    <xp:saveDocument></xp:saveDocument>

    <xp:executeScript>
    <xp:this.script><![CDATA[#{java script:var c = getComponent("tooltipDialog1")
    c.hide("repeat1")}]]></xp:this.script>
    </xp:executeScript>
    </xp:actionGroup>
    </xp:this.action>
    </xp:eventHandler>
    </xp:button>
    </xp:panel>


    </xe:tooltipDialog>    
    </xp:repeat>

    <xp:br></xp:br>

    </xp:view>
    121.jpg
     
  3. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    NickProstoNick, спасибо за ответ, но ты меня не понял.
    Твой пример - это классический вариант, в котором есть view (repeat control) и tooltipdialog в котором можно редактировать документы из view.
    Так и у меня работает ;)

    У меня же на странице открыт документ в режиме чтения и я хочу изменять некоторые его поля при помощи tooltipdialog

    На скриншоте 1 вариант - документ открыт методом openDocument и 2й вариант - editDocument

    Могули я иметь дилог вида 2 при открытии документа на чтение?
     

    Вложения:

  4. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Такое отображение возможно если компонент Disabled
    При переводе в режим чтения - вряд ли получится сделать такое.
     
  5. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Помоему можно. Попробуй добавить во второй "источник данных" ignoreRequestParams="true".
     
  6. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    ignoreRequestParams="true" - то, что нужно.

    Спасибо!
     
Загрузка...

Поделиться этой страницей