xbyytty
|
|
1 | |
Кнопка "назад" и динамический контент24.11.2015, 14:38. Показов 4950. Ответов 15
Метки нет (Все метки)
Когда виды организованы через xe:dynamicContent и в виде листаем страницы, то после того, как открыли на какой-то странице документ, по кнопке "Назад" из документа надо вернуться в тот вид из которого открыли документ и на нужную страницу (к состоянию вида перед открытием документа). Такой вот вопрос ...
|
24.11.2015, 14:38 | |
Ответы с готовыми решениями:
15
Кнопка назад Кнопка Назад Кнопка назад на JS Кнопка назад |
xbyytty
|
|
24.11.2015, 15:52 | 2 |
Дополнение: документ открывается не в отдельной странице, а так же в динамическом контенте.
|
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
|
|
24.11.2015, 17:35 | 3 |
Сообщение от xbeetle
Сообщение от xbeetle
А по кнопке "Назад" переключай снова на вид и обновляй его. Должно работать. Копай в сторону свойства first в секции data у вида
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
14.12.2015, 14:28 | 4 |
в extension library есть контрол pagerSaveState
Пример Код (XML): <xe:pagerSaveState id="pagerSaveState1" for="viewPanel1" globalRows="true"> </xe:pagerSaveState> При возврате с документа в вид перед тем как вернуться нужно вызвать viewStateBean.restoreState = true; Попробуйте его. http://xcellerant.net/2013/08/... e-control/
0
|
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 139
|
|
16.12.2015, 10:24 | 5 |
Сообщение от Hogmuzzle
Есть страница. На страницу добавил динамик контент в котором 2 custom control. Первый контрол содержит вид с документами, 2 содержит форму документа. Открытие с вида документа делаю так: Код
<xp:viewColumn columnName="Claim_Num_Disp" id="viewColumn6" displayAs="link" openDocAsReadonly="true"> <xp:viewColumnHeader value="№ заявки" id="viewColumnHeader6"> </xp:viewColumnHeader> <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> <xp:thys.action> <xp_1:changeDynamicContentAction for="dynamicContent1" facetName="document"> <xp_1:thys.parameters> <xp:parameter name="action" value="openDocument"> </xp:parameter> <xp:parameter name="documentId" value="#{javascript:rowData.getDocument().getNoteID()}"> </xp:parameter> </xp_1:thys.parameters> </xp_1:changeDynamicContentAction> </xp:thys.action></xp:eventHandler></xp:viewColumn> Код
<xp:button value="Label" id="button1"> <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> <xp:thys.action> <xp:actionGroup> <xp:executeScript script="#{javascript:viewStateBean.restoreState = true;}"> </xp:executeScript><xp_1:changeDynamicContentAction for="dynamicContent1" facetName="view"> </xp_1:changeDynamicContentAction> </xp:actionGroup> </xp:thys.action></xp:eventHandler></xp:button>
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
16.12.2015, 12:12 | 6 |
Если у вас и вид и документ на одной странице то куда вы хотите возвратиться? Если у вас цели по клику по виду показывать соответствующий документ, то pagersavestate тут не при чем и я вас не правильно понял. Еще вопрос зачем вам refreshMode="complete"? Если вам нужно менять только часть страницы. Вы мне опишите цель а я вам помогу, а так я ничего не понял извините
0
|
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 139
|
|
16.12.2015, 12:28 | 7 |
Сообщение от Hogmuzzle
Для примера Есть 2 вида клиенты по дате регистрации и по городу. Оба эти вида как и форма документа клиент находятся в dynamic content. Если пользователь открывает документ с 5 страницы view, надо что б при возврате он попал на туже страницу вида ну и что б если категории были свернуты оставались также.
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
16.12.2015, 12:42 | 8 |
Там где вид кидаете
<xe:pagerSaveState id="pagerSaveState1" for="viewPanel1" globalRows="true"> </xe:pagerSaveState> for="viewPanel1" это id вида в документе перед тем как вернуться viewStateBean.restoreState = true; Но у меня еще вопрос Если у вас вид на одной странице а форма на другой, то для чего это?? <xp_1:changeDynamicContentAction for="dynamicContent1" facetName="document"> <xp_1:thys.parameters> <xp:parameter name="action" value="openDocument"> </xp:parameter> <xp:parameter name="documentId" value="#{javascript:rowData.getDocument().getNoteID()}"> </xp:parameter> </xp_1:thys.parameters> </xp_1:changeDynamicContentAction> почему вы используете changeDynamicContentAction если вы просто открываете документ по клику по линку и почему это так реализовано? И при возврате на вид почему вы опять используете changeDynamicContentAction for="dynamicContent1" facetName="view">
0
|
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 139
|
|
16.12.2015, 12:51 | 9 |
Сообщение от Hogmuzzle
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
16.12.2015, 13:05 | 10 |
Так если вид и форма на одной странице то куда вы хотите вернуться если вы уже на странице где вид? Если вам нужно чтобы просто поменялся dynamicContent1 а не вид то просто уберите refreshMode="complete" а сделайте partial refresh dynamicContent1 и тогда вид останется такие каким был, но если вы в форме жмете кнопку с refreshMode="complete" и хотите чтобы вид остался прежним извините в такой конструкции pagersavestate не работает и вашей проблемы не решит конечно.
0
|
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 139
|
|
16.12.2015, 13:21 | 11 |
Что вид при переходе с формы на вид (замена контента) скидывает пейджер на 1 страницу. Возврат сделал так
Код
<xp:button value="Label" id="button1"> <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="dynamicContent1"> <xp:thys.action> <xp_1:changeDynamicContentAction for="dynamicContent1" facetName="view"> </xp_1:changeDynamicContentAction> </xp:thys.action></xp:eventHandler></xp:button> Код
<xp:viewColumn columnName="Claim_Num_Disp" id="viewColumn6" displayAs="link" openDocAsReadonly="true"> <xp:viewColumnHeader value="№ заявки" id="viewColumnHeader6"> </xp:viewColumnHeader> <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="dynamicContent1"> <xp:thys.action> <xp_1:changeDynamicContentAction facetName="document" for="dynamicContent1"> </xp_1:changeDynamicContentAction> </xp:thys.action></xp:eventHandler></xp:viewColumn> Код
<xe:dynamicContent id="dynamicContent1" defaultFacet="view" useHash="true"><xp:thys.facets> <xc:testDocumentDC xp:key="document"></xc:testDocumentDC> <xc:testViewDC xp:key="view"></xc:testViewDC> </xp:thys.facets></xe:dynamicContent>
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
16.12.2015, 13:44 | 12 |
а вот теперь мне все ясно Мое мнение подход этот накладывает некоторые ограничения. А чего вам мешает уйти от него и сделать 2 разных страницы одна с видом а одна с формой и тогда у вас все будет ок. Зачем так усложнять? Какие преимущества дает этот подход кроме явных недостатков. Ладно если по существу
то как открыть ту страницу что была можно тут http://www.mydominolab.com/201... ation.html открыть категорию что была можно увидеть как это делается тут http://planetlotus.org/profile... uki_131142
0
|
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 139
|
|
16.12.2015, 14:07 | 13 |
А разные страницы если сделать то возникает другая проблема. С навигатор контрол в левой колонке в applicationLayout. У меня в нем содержаться пункты с подпунктами. Первоначально все пункты свернуты и при открытии формы на новой странице они также будут все свернуты. Может есть возможность передавать состояние navigator при переходе на новую страницую
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
16.12.2015, 14:24 | 14 |
у навигатора есть свойство keepState
0
|
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 139
|
|
16.12.2015, 14:55 | 15 |
Сообщение от Hogmuzzle
0
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 21
|
|
16.12.2015, 15:32 | 16 |
Извини не работает оказывается только если history.back то срабатывает а так нет.
Тогда добавь скринт на форму Код (Javascript): XSP.addOnLoad(function(){ var li = $(header.lotusMenuHeader).find(li.lotusSelected); //ищем выбранный li в навигаторе var p = $(li).parents(li); //берем его родителя $(p).css({display:}); // показываем submenu })
0
|
16.12.2015, 15:32 | |
16.12.2015, 15:32 | |
Помогаю со студенческими работами здесь
16
Кнопка назад кнопка назад!! Кнопка назад Кнопка назад в браузере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |