Deskripsi
FiturSetting adalah class JavaScript untuk mengelola fitur interaktif berbasis checkbox,
yang dapat diaktifkan/dinonaktifkan secara dinamis oleh user. Setiap fitur dapat memiliki kode yang dijalankan saat aktif,
dan kode pembersih saat nonaktif. Status fitur disimpan di localStorage .
Cara pakai
pasang CDN libary di bawah <head>
<script src ="https://cdn.jsdelivr.net/gh/MagicReincarnation/webapp-zeistmaid@main/Setting%20Manager%20Fitur%20-%20libary/libFiturSet.js" type ="text/javascript" > </script >
Inisialisasi class:
const fiturSet = new FiturSetting();
Menambahkan fitur menggunakan method function run_setting() dengan konfigurasi seperti dibawah ini:
fiturSet.run_setting ({
id_feature : 'IDFitur' ,
title : 'Judul Fitur' ,
description : 'Deskripsi singkat fitur' ,
chek : true ,
cdnUrl : 'https://cdn.com/library.js' ,
run_code : () => {
return () => {
};
}
});
Tempatkan elemen <div id="feature_manager"></div> di HTML sebagai target render checkbox setting fitur.
Struktur Konfigurasi
id_feature (string): ID unik fitur (juga digunakan untuk localStorage key) wajib jangan ada spasi.
title (string): Nama fitur yang ditampilkan.
description (string): Penjelasan singkat tentang fitur.
chek (boolean): Apakah fitur aktif secara default saat pertama kali.
cdnUrl (string/null): URL CDN jika fitur butuh library eksternal.
run_code (function): Fungsi yang dijalankan saat fitur diaktifkan, dan harus mengembalikan fungsi untuk cleanup .
Contoh Code
fiturSet.run_setting ({
id_feature : 'alertFeature' ,
title : 'Tampilkan Alert' ,
description : 'Menampilkan pesan alert saat fitur diaktifkan.' ,
chek : true ,
cdnUrl : null ,
run_code : () => {
alert ('Fitur aktif!' );
return () => {
alert ('Fitur dinonaktifkan.' );
};
}
});
LIVE CODE
GET CODE
Tips
Gunakan ID yang unik untuk setiap fitur agar tidak bentrok di localStorage.
Pastikan run_code selalu mengembalikan fungsi pembersih (cleanup) agar fitur bisa dimatikan dengan benar.
Credit
Komentar
Posting Komentar
Yang Sopan komennya.
apapun yang gak aku suka bakal Kuhilangkan.