Решено Select2 picker control из bootstrap4xpages plugin

victorhalf

Well-Known Member
29.05.2007
74
1
#1
День добрый
А кто нибудь пользовался сабжем?
Можете подсказать как обновить страничку при изменении селекта?

HTML:
<xp:panel style="padding-left:20.0px" id="panelOrg">
 
<bx:select2Picker id="select2Picker1"
for="inputText2" maxRowCount="5" placeHolder="Оберіть організацію"
allowClearing="true"
rendered="#{javascript:document1.isEditable()}">
<bx:this.dataProvider>
<xe:simpleValuePicker labelSeparator="|"
valueListSeparator=",">
<xe:this.valueList><![CDATA[#{javascript:var _ret="";
var dbStaff: NotesDatabase = sessionAsSigner.getDatabase(@Left(sessionScope.bdKomandirovki,"!!"),@Right(sessionScope.bdKomandirovki,"!!"))
 if(dbStaff.isOpen())
 {var nv:NotesView = dbStaff.getView("WOrganizations");
  var allEntries : NotesViewEntryCollection = nv.getAllEntries()
  var ne:NotesViewEntry = allEntries.getFirstEntry() 
   while(ne!=null)
   {if (ne.isDocument())
	{_ret=_ret+ne.getColumnValues().get(0).toString()+"|"+ne.getColumnValues().get(0).toString()+"!!"+ne.getColumnValues().get(1).toString()+"~" }
	var ne2:NotesViewEntry = allEntries.getNextEntry(ne)   
	ne.recycle();
	ne = ne2; 
	}
   }
  return  _ret.split("~")
 }]]></xe:this.valueList>
</xe:simpleValuePicker>
</bx:this.dataProvider>
</bx:select2Picker>
 
<xp:inputText id="inputText2"
style="width:300px" multipleSeparator=","
rendered="#{javascript:document1.isEditable()}"
value="#{document1.Organizations}">
</xp:inputText>
 
<xp:text escape="false" id="computedField2" style="font-weight:bold;color:rgb(0,128,0)">
 <xp:this.rendered><![CDATA[#{javascript:!document1.isEditable();
true}]]></xp:this.rendered><xp:this.value><![CDATA[#{javascript:document1.getItemValue("Organizations")}]]></xp:this.value></xp:text>
 
</xp:panel>
 

susinmn

Well-Known Member
16.10.2007
529
8
#2
День добрый
А кто нибудь пользовался сабжем?
Можете подсказать как обновить страничку при изменении селекта?
Посмотри
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
. На CSJS
Код:
.on("change", function(e) { XSP.partialRefreshPost(
"#{id:refreshThis}" );
}
 

garrick

Well-Known Member
Lotus team
26.10.2009
879
78
#3
Я чёт не понял. А что, OneUI уже можно не учить, все дружно переезжаем на Bootstrap? Или оно как-то связано?
 

victorhalf

Well-Known Member
29.05.2007
74
1
#4
Посмотри
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
. На CSJS
Спасибо, это всё я видел, но если ты заметил там используется комбобокс или листбокс, у меня же эдитбокс.
Почему то с ним не получается. Если у тебя получиться запустить это с моим примером буду признателен.

Вообще единственное почему я не хочу использовать комбобокс - это потому что варианты значений тянуться в страничку (при использовании приведенного кода размер странички 15кб, а то же самое с комбобоксом уже 250кб, и это только одно поле). Может нужно копать в этом направлении?
 
Я чёт не понял. А что, OneUI уже можно не учить, все дружно переезжаем на Bootstrap? Или оно как-то связано?
Та шо вы, шо вы, ненада никуда переезжать:):)
А чем может помочь OneUI в данном случае?
 

garrick

Well-Known Member
Lotus team
26.10.2009
879
78
#5
Та шо вы, шо вы, ненада никуда переезжать:):)
А чем может помочь OneUI в данном случае?
Да, нет, к данному случаю это отношение не имеет. Просто смотрю все вдруг заговорили про Bootstrap, а я, можно сказать, только начал XPages изучать. Думаю пора пришла и немножко свободного времени вдруг образовалось. Или может подождать ещё немножко? :)
 

susinmn

Well-Known Member
16.10.2007
529
8
#6
Спасибо, это всё я видел, но если ты заметил там используется комбобокс или листбокс, у меня же эдитбокс.
Почему то с ним не получается. Если у тебя получиться запустить это с моим примером буду признателен?
Добавь на страничку
Код:
<script>
$(function(){
// display logs
function log(text) {
$('#logs').append(text + '<br></br>');
}
$('select').select2()
.on("change", function(e) {
// mostly used event, fired to the original element when the value changes
log("change val=" + e.val);
})
.on("select2-opening", function() {
log("opening");
})
.on("select2-open", function() {
// fired to the original element when the dropdown opens
log("open");
})
.on("select2-close", function() {
// fired to the original element when the dropdown closes
log("close");
})
.on("select2-highlight", function(e) {
log("highlighted val=" + e.val + " choice=" + e.choice.text);
})
.on("select2-selecting", function(e) {
log("selecting val=" + e.val + " choice=" + e.object.text);
})
.on("select2-removed", function(e) {
log("removed val=" + e.val + " choice=" + e.choice.text);
})
.on("select2-loaded", function(e) {
log("loaded (data property omitted for brevitiy)");
})
.on("select2-focus", function(e) {
log("focus");
});
});
</script>
<br></br>
<br></br>
<div class="well" id="logs"></div>
 

susinmn

Well-Known Member
16.10.2007
529
8
#7
Я чёт не понял. А что, OneUI уже можно не учить, все дружно переезжаем на Bootstrap? Или оно как-то связано?
+сы в том, что ты делаешь 1 раз, а страничка корректно отображается на устройствах (ПК, планшет, смартфон).
 

Вложения

  • 74.9 КБ Просмотры: 24
  • 62.3 КБ Просмотры: 24