mirror of
https://github.com/lubosz/overte.git
synced 2025-04-24 03:53:52 +02:00
parent
5173774db0
commit
b1378816d5
2 changed files with 23 additions and 12 deletions
|
@ -53,6 +53,7 @@ Rectangle {
|
|||
console.log("Failed to get inventory", result.message);
|
||||
} else {
|
||||
inventoryModel.append(result.data.assets);
|
||||
filteredInventoryModel.append(result.data.assets);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -148,6 +149,24 @@ Rectangle {
|
|||
property int previousLength: 0;
|
||||
anchors.fill: parent;
|
||||
placeholderText: "Filter";
|
||||
|
||||
onTextChanged: {
|
||||
if (filterBar.text.length < previousLength) {
|
||||
filteredInventoryModel.clear();
|
||||
|
||||
for (var i = 0; i < inventoryModel.count; i++) {
|
||||
filteredInventoryModel.append(inventoryModel.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < filteredInventoryModel.count; i++) {
|
||||
if (filteredInventoryModel.get(i).title.toLowerCase().indexOf(filterBar.text.toLowerCase()) === -1) {
|
||||
filteredInventoryModel.remove(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
previousLength = filterBar.text.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
|
@ -157,11 +176,14 @@ Rectangle {
|
|||
ListModel {
|
||||
id: inventoryModel;
|
||||
}
|
||||
ListModel {
|
||||
id: filteredInventoryModel;
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: inventoryContentsList;
|
||||
clip: true;
|
||||
model: inventoryModel;
|
||||
model: filteredInventoryModel;
|
||||
// Anchors
|
||||
anchors.top: filterBarContainer.bottom;
|
||||
anchors.topMargin: 12;
|
||||
|
@ -172,7 +194,6 @@ Rectangle {
|
|||
itemName: title;
|
||||
itemId: id;
|
||||
itemPreviewImageUrl: preview;
|
||||
filterText: filterBar.text;
|
||||
anchors.topMargin: 12;
|
||||
anchors.bottomMargin: 12;
|
||||
|
||||
|
|
|
@ -29,18 +29,12 @@ Rectangle {
|
|||
property string itemId: "";
|
||||
property string itemPreviewImageUrl: "";
|
||||
property string itemHref: "";
|
||||
property string filterText: "";
|
||||
// Style
|
||||
color: hifi.colors.white;
|
||||
// Size
|
||||
width: parent.width;
|
||||
height: 120;
|
||||
|
||||
visible: passesFilter();
|
||||
onFilterTextChanged: {
|
||||
root.visible = passesFilter();
|
||||
}
|
||||
|
||||
Image {
|
||||
id: itemPreviewImage;
|
||||
source: root.itemPreviewImageUrl;
|
||||
|
@ -143,10 +137,6 @@ Rectangle {
|
|||
// FUNCTION DEFINITIONS START
|
||||
//
|
||||
signal sendToInventory(var message);
|
||||
|
||||
function passesFilter() {
|
||||
return root.itemName.toLowerCase().indexOf(root.filterText.toLowerCase()) !== -1;
|
||||
}
|
||||
//
|
||||
// FUNCTION DEFINITIONS END
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue