2bicz

feed

Apr 12th, 2022 (edited)
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QML 4.07 KB | None | 0 0
  1. import QtQuick 2.12
  2. import QtQuick.Window 2.12
  3. import QtQuick.Controls 6.2
  4.  
  5. Item {
  6.     id: busStopSearchItem
  7.     property var chosenBusStop: null
  8. //    -------------------------------------------------------------------------------------------------
  9.  
  10.     function getStopPoints(name){
  11.         var url = "https://www.peka.poznan.pl/vm/method.vm?ts=1649587369255";
  12.  
  13.         var xhr = new XMLHttpRequest();
  14.         xhr.open("POST", url);
  15.  
  16.         xhr.setRequestHeader("Pragma", "no-cache");
  17.         xhr.setRequestHeader("Origin", "https://www.peka.poznan.pl");
  18.         xhr.setRequestHeader("Accept-Encoding", "gzip, deflate, br");
  19.         xhr.setRequestHeader("Accept-Language", "en-GB,en-US;q=0.9,en;q=0.8");
  20.         xhr.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36");
  21.         xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
  22.         xhr.setRequestHeader("Accept", "text/javascript, text/html, application/xml, text/xml, */*");
  23.         xhr.setRequestHeader("X-Prototype-Version", "1.7");
  24.         xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  25.         xhr.setRequestHeader("Cookie", "JSESSIONID=GkLiAkWImpuzrUNdT5y7vuZb.undefined");
  26.         xhr.setRequestHeader("Connection", "keep-alive");
  27.         xhr.setRequestHeader("Referer", "https://www.peka.poznan.pl/vm/");
  28.         xhr.setRequestHeader("Cache-Control", "no-cache");
  29.  
  30.         xhr.onreadystatechange = function () {
  31.             if (xhr.readyState === 4) {
  32.                 console.log(xhr.status);
  33.                 console.log(xhr.responseText);
  34.                 var jsonResponse = JSON.parse(xhr.responseText);
  35.                 var keyCount = Object.keys(jsonResponse.success).length;
  36.                 console.log(keyCount);
  37.                 for(var i = 0; i < keyCount; i++){
  38.                     modelBusStops.append(jsonResponse.success[i]);
  39.                 }
  40.             }};
  41.  
  42.         var data = "method=getStopPoints&p0=%7B%22pattern%22%3A%22" + name + "%22%7D";
  43.  
  44.         xhr.send(data);
  45.     }
  46.  
  47.     //    -------------------------------------------------------------------------------------------------
  48.     TextField {
  49.         id: textField
  50.         y: 116
  51.         width: 417
  52.         height: 27
  53.         color: "#000000"
  54.         horizontalAlignment: Text.AlignHCenter
  55.         anchors.horizontalCenterOffset: 1
  56.         scale: 1
  57.         anchors.horizontalCenter: parent.horizontalCenter
  58.         font.pointSize: 13
  59.         placeholderText: qsTr("Nazwa przystanku")
  60.         onTextEdited: {
  61.             for(var i = 0; i < modelBusStops.count; ++i){
  62.                 modelBusStops.remove(i);
  63.             }
  64.             getStopPoints(textField.text);
  65.             for(var i = 0; i < modelBusStops.count; ++i){
  66.                 modelBusStops.remove(i);
  67.             }
  68.         }
  69.     }
  70.  
  71.     ListView {
  72.         id: busStopList
  73.         width: 417
  74.         height: 413
  75.         anchors.verticalCenter: parent.verticalCenter
  76.         anchors.verticalCenterOffset: 58
  77.         anchors.horizontalCenterOffset: 1
  78.         anchors.horizontalCenter: parent.horizontalCenter
  79.         delegate: Item {
  80.             x: 5
  81.             width: 80
  82.             height: 40
  83.             Row {
  84.                 id: row
  85.                 Text {
  86.                     id: txt
  87.                     text: name
  88.                     font.pointSize: 14
  89.                     color: "#ffffff"
  90.                     anchors.verticalCenter: parent.verticalCenter
  91.                     font.bold: true
  92.                     MouseArea{
  93.                         anchors.fill: parent
  94.                         onClicked: {
  95.                             chosenBusStop = txt.text;
  96.                             mainStack.push("BusStopView.qml");
  97.                         }
  98.                     }
  99.                 }
  100.                 spacing: 10
  101.             }
  102.         }
  103.         model: ListModel {
  104.             id: modelBusStops
  105.         }
  106.  
  107.     }
  108. }
  109.  
  110. /*##^##
  111. Designer {
  112.     D{i:0;autoSize:true;height:700;width:480}D{i:1}D{i:2}
  113. }
  114. ##^##*/
  115.  
Add Comment
Please, Sign In to add comment