Control Link - Window Behavior

Тема в разделе "Lotus - Xpages", создана пользователем Dragon108, 8 май 2013.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Доброе всем утро. :huh:
    Возник такой вопрос: У контрола Link есть такой параметр - Window behavior, который по дефолту может принимать 3 значения (Use page default, Open in same window and tab и Open new window or tab (per client preference)).
    У него можно вроде как использовать Compute value. Так вот, как в этом Compute value прописать что бы в одном случае, использовалось
    Use page default, а в другом Open new window or tab (per client preference)?

    Такая необходимость возникла вот из-за чего: Есть кнопка (тот самый link) - "Создать документ". Хотелось бы сделать рядом чек бокс - "Открывать в новом окне" - что бы при создании нового документа была возможность открыть новый документ либо в текущем окне, либо в новом.
    Заранее спасибо.
     
  2. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Код (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:link escape="true" text="www.google.com" id="link1" value="http://www.google.com" target="#{viewScope.turget}"></xp:link>
    <xp:checkBox text="New window" id="checkBox1" checkedValue="_blank" uncheckedValue="_self" value="#{viewScope.turget}">
    <xp:eventHandler event="onchange" submit="true" refreshMode="complete"></xp:eventHandler>
    </xp:checkBox>
    </xp:view>
     
  3. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    submit="true" - думаю лучше убрать, дабы не перегружать страницу
     
  4. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Не получится, тогда не пропишется viewScope переменная
     
  5. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Должно прописаться. В общем конечно зависит от реализации.

    В этом случае submit лучше заменить на Partial Update компонента Link.
    Тем самым ты не будешь перегружать страницу.
     
  6. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Если уж оптимизировать, то лучше тогда вообще не обращаться к серверу - сделать всё на чистом javascript.
    Нет лотуса под рукой - суть набросал в NotePad'е:
    Код (Text):
    <html><body>
    <input type="checkbox" id="cBox">New tab</input>
    <a href="" onclick="if(document.getElementById('cBox').checked){
    window.open('http://www.google.com', '_blank')
    }else{window.open('http://www.google.com', '_self')}
    return false">Google</a>
    </body>
    </html>
     
  7. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Что-то типа такого:
    Код (Text):
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:checkBox text="New tab" id="checkBox1"></xp:checkBox>
    <xp:link escape="true" text="Link" id="link1">
    <xp:eventHandler event="onclick" submit="false">
    <xp:this.script><![CDATA[if(dojo.byId("#{id:checkBox1}").checked){
    window.open('http://www.google.com', '_blank')
    }else{
    window.open('http://www.google.com', '_self')
    }
    return false]]></xp:this.script>
    </xp:eventHandler>
    </xp:link>
    </xp:view>
     
Загрузка...
Похожие Темы - Control Link Window
  1. proteam
    Ответов:
    7
    Просмотров:
    104
  2. NickProstoNick
    Ответов:
    15
    Просмотров:
    472
  3. ty3uk
    Ответов:
    0
    Просмотров:
    292
  4. RenatAhmetshin
    Ответов:
    14
    Просмотров:
    673
  5. victorhalf
    Ответов:
    8
    Просмотров:
    901

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