Tablolar
Web uygulamalarında tabloları kullanma ve bunun için veri alma
Veritabanında ilk kayıt çıktı! Ama görmüyoruz ve düzeltilmesi gerekiyor. Bunu yapmak için Table bileşenine (gerekli verileri gösterecek bir tablo) ihtiyacınız vardır. Ekledikten hemen sonra, içinde hangi verilerin olacağına karar vermenizi ve bir model ve uç nokta seçmenizi isteyecektir.
Tablo ayarları
Oluşturulan tablo, gereksinimlerinize uygun olarak derhal düzenlenmelidir. Örneğin, bir sayfadaki kayıt sayısını sınırlayın (tablo çok uzun ve çok sayfalı olabilir) ve ayrıca ilgilenilmeyen alanları kaldırın veya ilgili tablolardan çıktı için istenen alanı ayarlayın.
Aynı zamanda, herhangi bir bileşenin yalnızca eklenmesinin, henüz çalışmaya tam olarak hazır olduğu anlamına gelmediğini hatırlıyoruz. Uygun iş süreçleri oluşturmanız gerekir. Tablolar için otomatik olarak çok şey oluşturulur, ancak eğitimin bir parçası olarak, malzemeyi daha iyi özümsemek için her şeyi sıfırdan oluşturacağız.
Tablo tetikleyicileri
Tablolarda en çok ilgi çeken üç tetikleyici vardır - onDataUpdate , onShow ve onFilter . onShow ile başlayalım ve tablo ekranda gösterildiğinde ne olması gerektiğini tanımlayalım. Bu üç blok gerektirecektir:
1) Table Update Properties . Tablonun istenen özelliklerini ayarlayın. Örneğin, burada bir sayfadaki kayıt sayısını sınırlayabilir ( Records per page = 10 parametresini ayarlayın) ve ayrıca sayfanın veri yükleme modunda olduğunu gösterebilirsiniz ( Loading = true )
2) Server request GET /country/ . Verilerin görünmesi için bir yere götürülmeleri gerekir. Ve bunu yapmak için, ilgili uç nokta için veritabanına bir istekte bulunun. Aynı zamanda, bu uç noktanın giriş parametrelerinin sayısına da dikkat edin. Sorguda daha fazla esneklik sağlarlar ve yalnızca gerçekten ihtiyaç duyulan verileri alırlar.
Bizim durumumuzda, sayfa başına giriş sayısı 10 olduğundan ve daha fazla yüklemenin bir anlamı olmadığı için _limit = 10 ayarlayacağız. Ek olarak, doğru çıktı sırasını yapacağız, her şeyi ada göre sıralayacağız ( _sort_by = name ) ve ayrıca sıralama düzenini ayarlayacağız. _sort_order parametresi ASC (doğrudan sıralama için Ascending kelimesinden en küçük değerden en büyüğe doğru) veya DESC ( Descending , ters sıra) değerini alabilir. Doğrudan alfabetik sıralama bizim için uygundur, bu nedenle _sort_order = ASC .
_with parametresi özel ilgiyi hak ediyor. Sorguyu onsuz yürüterek, yalnızca ülkeler hakkında veri alabildik. Ama ülke modeli şehirlerle alakalı ve bu veriler istenilen tabloya ait olmasa da yine de görmek istiyoruz. Bunu yapmak için, _with = citys şehirleri ayarlayın ve bu ülkede hangi şehirlerin olduğu hakkında hemen veri alın.
3) Table Update Data . Veri alındı, ancak ekranda görüntülenmesi için bir tabloya aktarılması gerekiyor. Bunu yapmak için, tabloda kaç sayfa olması gerektiğini anlamak için önceki blokta alınan tüm bilgileri ( data ) ve toplam kayıt sayısını ( count - Total Records ) geçiyoruz.
Bir sonraki tetikleyici onDataUpdate . Tablodaki veriler çeşitli iş süreçleri sonucunda güncellenebilir. Ve bu olduğunda, ne olması gerektiğini bir kez belirtmek ve her iş sürecine aynı blokları koymamak en iyisidir. Bizim durumumuzda, Table Update Properties bloğunu tekrar kullanmak doğru olacaktır, ancak bu sefer daha önce ayarlanmış olan yükleme modunu ( Loading = false ) kaldırmak ve tablonun çalışmaya hazır olduğunu göstermek için.
İhtiyacımız olan son tetikleyici onFilter . Tablonun diğer sayfalarına geçiş anında ne olması gerektiğini tanımlar. Bunu yapmak için, sayfa numarasına göre veri yüklerken hangi ofsetin gerekli olduğunu gösteren _offset parametresine sahiptir.
Örneğin, bizim durumumuzda her sayfada 10 giriş varsa, üçüncü sayfa 21'den 30'a kadar girişlere ihtiyaç duyacaktır. Bu veriler _offset ve Server request GET /country/ bloğuna iletilebilir. Aksi takdirde, iş süreci TableOnShow tetikleyicisindeki süreçle tamamen örtüşecektir. Bu gibi durumlarda, iki farklı tetikleyicinin aynı iş sürecini başlatması mantıklı olacaktır.
Ancak bizim durumumuzda önemli fark _offset parametresinde yatmaktadır. Her şeyi aşağıdaki ekran görüntüsündeki gibi bırakırsanız, onShow tetikleyicisine göre işlem başlayacak, ancak _offset değerini alamadığı için (başka bir tetikleyiciden geçirildiği için) Server request GET /country/ bloğunda duracaktır.
Bu durum en iyi değişkenler kullanılarak çözülür. Belirli bir örneğe bakalım. _offset değerini kaydetmek için Integer türünde bir değişkene ihtiyacımız var. Bu nedenle, bu değişkeni bildirmek için bir Integer bloğu, ancak değerini yazmak için her biri farklı bir tetikleyiciyle ilişkili iki farklı Set Variable bloğu kullanırız.
Table onShow tetikleyicisine göre herhangi bir offsete ihtiyacımız yok, tablodaki veriler en baştan gösteriliyor ve _offset = 0 , bu yüzden Set Variable bloğunda Value = 0 ayarladık.
Table onFilter tetikleyicisi başlatıldığında, zaten _offset değerini alıyoruz ve kullanmak istiyoruz, böylece tetikleyicinin _offset değerini Value olarak Set Variable bloğuna geçireceğiz.
Sonraki adımlarda, tetikleyicilerin iş süreçleri birbirinden farklı değildir, bu nedenle, her biri _offset parametresi için kendi tamsayı değişkeni değerine sahip iki iş süreci tek bir işlemde birleştirilir.