Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Model */
- class TreatmentModel {
- final int id_treatment;
- final String nama_treatment,
- kode_treatment,
- fokus_treatment,
- gambar_treatment,
- keterangan_treatment,
- durasi_treatment;
- TreatmentModel({
- this.id_treatment,
- this.nama_treatment,
- this.kode_treatment,
- this.fokus_treatment,
- this.gambar_treatment,
- this.keterangan_treatment,
- this.durasi_treatment,
- });
- factory TreatmentModel.fromJson(Map<String, dynamic> json) {
- return TreatmentModel(
- id_treatment: json['id'] as int,
- nama_treatment: json['treatment'] as String,
- kode_treatment: json['kode'] as String,
- fokus_treatment: json['fokus'] as String,
- durasi_treatment: json['durasi'] as String,
- gambar_treatment: json['image'] as String,
- keterangan_treatment: json['keterangan'] as String,
- );
- }
- }
- /* Main Page */
- import 'dart:convert';
- import 'dart:async';
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- import 'package:http/http.dart' as http;
- import 'package:nakamura_data/Treatment_01/model.dart';
- class TreatmentPage extends StatefulWidget {
- @override
- _TreatmentPageState createState() => _TreatmentPageState();
- }
- class _TreatmentPageState extends State<TreatmentPage> {
- List<TreatmentModel> listTreatment;
- @override
- void initState() {
- super.initState();
- }
- Future<List<TreatmentModel>> _tampilkanDataTreatment() async {
- try {
- var jsonResponse = await http.get(
- 'http://mobiapp.nakamura.web.id/treatment/treatment/APITreatmentData');
- if (jsonResponse.statusCode == 200) {
- final jsonItems =
- json.decode(jsonResponse.body).cast<Map<String, dynamic>>();
- listTreatment = jsonItems.map<TreatmentModel>((json) {
- return TreatmentModel.fromJson(json);
- }).toList();
- }
- } catch (e) {}
- return listTreatment;
- }
- Future<Null> _refreshTreatment() {
- return _tampilkanDataTreatment().then((_listTreatment) {
- setState(() {
- return listTreatment = _listTreatment;
- });
- });
- }
- @override
- Widget build(BuildContext context) {
- SystemChrome.setSystemUIOverlayStyle(
- SystemUiOverlayStyle(
- statusBarColor: Colors.transparent,
- ),
- );
- return Scaffold(
- appBar: AppBar(
- title: Text('Katalog Treatment'),
- ),
- body: RefreshIndicator(
- onRefresh: _refreshTreatment,
- child: FutureBuilder<List<TreatmentModel>>(
- future: _tampilkanDataTreatment(),
- builder: (context, snapshot) {
- if (!snapshot.hasData)
- return Center(
- child: CircularProgressIndicator(
- strokeWidth: 3.0,
- ),
- );
- return Container(
- child: ListView(
- padding: EdgeInsets.only(bottom: 160.0),
- children: snapshot.data.map((_data) {
- return Column(
- children: <Widget>[
- Card(
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: <Widget>[
- ListTile(
- leading: Icon(Icons.perm_media),
- title: Text(_data.nama_treatment),
- subtitle: Text(_data.fokus_treatment),
- ),
- ],
- ),
- ),
- ],
- );
- }).toList(),
- ),
- );
- },
- ),
- ),
- );
- }
- }
Add Comment
Please, Sign In to add comment