Advance Filter pada Visual Programming
Hi all! kalian pernah gak sih mau nyari dari data manager tapi kondisi yang mau kalian cari itu gak sekedar misal field kelas = "IPA"? mungkin kalian pengen nyari yang field kelas nya kalo gak "IPA" ya "IPS"? atau mau pakai kondisi greater than dan lower than pada field bertipe angka?
Nah sebenernya ada fitur OOS bernama advance filter yang memungkinkan kita buat hadepin kasus semacem ini, tapi minusnya fitur ini harus kita setup dalam block javascript. Templatenya bisa di cek kaya blok di bawah ini
// KONFIGURASI PARAMETER
var filter = {
_filter_version: 2,
where_is_and: {
nama_field: "value",
},
};
var sort = {
created_at: -1
};
var idDataManager = "id_data_manager_yang_mau_dipakai";
// karena limit dan page ini di set wajib jadinya ku gedein aja
var page = 1;
var limit = 999999;
var filter0perator = 'and';
// PANGGIL FUNGSI ADVANCE FILTER
var records = _findRecords(
idDataManager,
page,
limit,
sort,
filter,
filter0perator
) || []; // kita kasih operator || [] supaya jika hasil querynya null yang direturn array kosong
_log(records)
nah kunci nya ini ada di filternya sih yang kutau,
jadi bisa kita ambil operasi2 kaya di bawah ini
{
"_filter_version": 2,
"where_in_and": {
"nama": ["buku A", "buku B", "buku C"],
"type": ["horror", "comedy"]
},
"where_in_or": {
"nama": ["buku A", "buku B", "buku C"],
"type": ["horror", "comedy"]
},
"where_like_and": {
"nama": "buku A",
"type": "horror"
},
"where_like_or": {
"nama": "buku A",
"type": "horror"
},
"where_is_and": {
"nama": "buku A",
"type": "horror"
},
"where_is_or": {
"nama": "buku A",
"type": "horror"
},
"where_between_or": {
"tanggal_pinjam": [1640970000000, 1651338000000],
"harga": [20000, 50000]
},
"where_between_and": {
"tanggal_pinjam": [1640970000000, 1651338000000],
"harga": [20000, 50000]
},
"where_gt_or": {
"tanggal_pinjam": 1640970000000,
"harga": 20000
},
"where_gt_and": {
"tanggal_pinjam": 1640970000000,
"harga": 20000
},
"where_lt_or": {
"tanggal_pinjam": 1651338000000,
"harga": 50000
},
"where_lt_and": {
"tanggal_pinjam": 1651338000000,
"harga": 50000
}
}
Nah jadi gitu tmn2, buat advance filternya. Yang udah kutest dan work baru operator is, in, gt, dan lt dan sudah ku setup jg di beberapa visprogku. Temen2 yang penasaran juga bisa di coba yaaa...