Skip to content

Commit

Permalink
improve feature onpressedButton2, minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
myaasiinh committed Feb 4, 2024
1 parent 8be3cef commit f46b64a
Show file tree
Hide file tree
Showing 6 changed files with 176 additions and 63 deletions.
55 changes: 52 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## 1.0.3

**Fitur Utama:**
- Penambahan widget ExpandableCard yang memungkinkan pengguna untuk membuat kartu yang dapat diperluas dengan bagian yang dapat diperluas.
- Mendukung penyesuaian yang luas, termasuk judul, deskripsi, tombol aksi, dan bagian yang dapat diperluas dengan data dinamis.
- Menyediakan tampilan yang bersih dan mudah diakses untuk menampilkan informasi terperinci dalam aplikasi Flutter.

**Perubahan dan Pembaruan:**
- Tambahkan Parameter Button 2 agar bisa diklick untuk di isi perintah lain di dalam kartu tersebut saat dipanggil

**Perbaikan Bug:**
Tidak ada perbaikan bug pada rilis ini.

**Catatan Penting:**
Pastikan untuk memeriksa dokumentasi dan contoh penggunaan di README untuk panduan penggunaan dan implementasi. Termasuk perubahan mengenai parameter dan fitur yang bisa dipanggil di kartu, mohon tetap periksa sumber kode bagian file expandable_cardview.dart

## 1.0.2

**Fitur Utama:**
Expand All @@ -6,9 +22,39 @@
- Menyediakan tampilan yang bersih dan mudah diakses untuk menampilkan informasi terperinci dalam aplikasi Flutter.

**Perubahan dan Pembaruan:**
- Tambahkan widget ExpandableCard untuk membuat kartu yang dapat diperluas.
- Tambahkan fitur untuk menyesuaikan judul, deskripsi, dan tombol aksi kartu.
- Tambahkan kemampuan untuk menambahkan bagian yang dapat diperluas dengan data dinamis.
- Pembaharuan Dokumentasi

**Perbaikan Bug:**
Tidak ada perbaikan bug pada rilis ini.

**Catatan Penting:**
Pastikan untuk memeriksa dokumentasi dan contoh penggunaan di README untuk panduan penggunaan dan implementasi.

## 1.0.1

**Fitur Utama:**
- Penambahan widget ExpandableCard yang memungkinkan pengguna untuk membuat kartu yang dapat diperluas dengan bagian yang dapat diperluas.
- Mendukung penyesuaian yang luas, termasuk judul, deskripsi, tombol aksi, dan bagian yang dapat diperluas dengan data dinamis.
- Menyediakan tampilan yang bersih dan mudah diakses untuk menampilkan informasi terperinci dalam aplikasi Flutter.

**Perubahan dan Pembaruan:**
- Pembaharuan Demo dan Dokumentasi

**Perbaikan Bug:**
Tidak ada perbaikan bug pada rilis ini.

**Catatan Penting:**
Pastikan untuk memeriksa dokumentasi dan contoh penggunaan di README untuk panduan penggunaan dan implementasi.

## 1.0.0

**Fitur Utama:**
- Penambahan widget ExpandableCard yang memungkinkan pengguna untuk membuat kartu yang dapat diperluas dengan bagian yang dapat diperluas.
- Mendukung penyesuaian yang luas, termasuk judul, deskripsi, tombol aksi, dan bagian yang dapat diperluas dengan data dinamis.
- Menyediakan tampilan yang bersih dan mudah diakses untuk menampilkan informasi terperinci dalam aplikasi Flutter.

**Perubahan dan Pembaruan:**
- Pembaharuan Demo dan Dokumentasi

**Perbaikan Bug:**
Tidak ada perbaikan bug pada rilis ini.
Expand All @@ -17,3 +63,6 @@ Tidak ada perbaikan bug pada rilis ini.
Pastikan untuk memeriksa dokumentasi dan contoh penggunaan di README untuk panduan penggunaan dan implementasi.





10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@ Untuk menggunakan `expandable_cardview`, tambahkan dependensi ini pada file `pub

```yaml
dependencies:
expandable_cardview: ^1.0.2
expandable_cardview: ^1.0.3
```
### Import Library
```yaml
import 'package:expandable_cardview/expandable_cardview.dart';
```

### Usage
Expand All @@ -34,6 +39,9 @@ ExpandableCard(
'Pesanan': ['Jumbo', 'Pedas', 'Ga pake nasi'],
'Ongkir': ['Genuk', 'Jalan Mrican no 2', 'kodepos 0164'],
},
onPressedButton2: () {
// do something calling from custom method or action
},
)
```

Expand Down
25 changes: 25 additions & 0 deletions example/detail_page.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

// ignore_for_file: use_key_in_widget_constructors

import 'package:flutter/material.dart';

class DetailPage extends StatelessWidget {
// final String title;
// final String description;

const DetailPage();

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Detail Page'),
),
body: const Padding(
padding: EdgeInsets.all(16.0),
child: Text('This is the detail page.'),
),
);
}
}

139 changes: 82 additions & 57 deletions example/main.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
// ignore_for_file: use_key_in_widget_constructors
// ignore_for_file: avoid_print, use_key_in_widget_constructors

import 'package:expandable_cardview/expandable_cardview.dart';
import 'package:flutter/material.dart';

import 'detail_page.dart';


void main() {
runApp(MyApp());
}
Expand All @@ -11,64 +14,86 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Expandable Card Example'),
),
body: const SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
// Example of using ExpandableCard widget
ExpandableCard(
title: 'Bebek Goreng', // Title of the card
deskripsi: 'Bebek Goreng pedas dan gurih', // Description of the card
button2Value: 'Konfirmasi', // Label for button 2
sectionRowCount: 3, // Number of section rows
sectionRowTitles: ['Ulasan', 'Pesanan', 'Ongkir'], // Titles for each section row
totalText: 3, // Total text count
backgroundColor: Colors.white, // Background color of the card
elevation: 4.0, // Elevation of the card
button2Elevation: 5.0, // Elevation of button 2
button2Color: Colors.blue, // Color of button 2
button1TextColor: Colors.black, // Text color of button 1
button2BorderRadius: 5.0, // Border radius of button 2
cardBorderRadius: 10, // Border radius of the card
sectionRowData: {
'Ulasan': ['Rating bagus', 'Makanan sedap', 'Order lagi besok'], // Data for Ulasan section
'Pesanan': ['Jumbo', 'Pedas', 'Ga pake nasi'], // Data for Pesanan section
'Ongkir': ['Genuk', 'Jalan Mrican no 2', 'kodepos 0164'], // Data for Ongkir section
},
),
SizedBox(height: 16), // Spacer widget for additional spacing
// Another example of using ExpandableCard widget
ExpandableCard(
title: 'Ayam Goreng', // Title of the card
deskripsi: 'Ayam Goreng pedas dan gurih', // Description of the card
button2Value: 'Konfirmasi', // Label for button 2
sectionRowCount: 3, // Number of section rows
sectionRowTitles: ['Ulasan', 'Pesanan', 'Ongkir'], // Titles for each section row
totalText: 3, // Total text count
backgroundColor: Colors.white, // Background color of the card
elevation: 4.0, // Elevation of the card
button2Elevation: 5.0, // Elevation of button 2
button2Color: Colors.blue, // Color of button 2
button1TextColor: Colors.black, // Text color of button 1
button2BorderRadius: 5.0, // Border radius of button 2
cardBorderRadius: 10, // Border radius of the card
sectionRowData: {
'Ulasan': ['Rating bagus', 'Makanan sedap', 'Order lagi besok'], // Data for Ulasan section
'Pesanan': ['Jumbo', 'Pedas', 'Ga pake nasi'], // Data for Pesanan section
'Ongkir': ['Genuk', 'Jalan Mrican no 2', 'kodepos 0164'], // Data for Ongkir section
},
),
],
),
home: MyHomePage(),
);
}
}

class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Expandable Card Example'),
),
body: Padding(
padding: const EdgeInsets.all(16),
child: ListView.builder(
itemCount: 10,
itemBuilder: (context, index) {
return ExpandableCard(
title: 'Bebek Goreng',
deskripsi: 'Bebek Goreng pedas dan gurih',
button2Value: 'Konfirmasi',
sectionRowCount: 3,
sectionRowTitles: const ['Ulasan', 'Pesanan', 'Ongkir'],
totalText: 3,
backgroundColor: Colors.white,
elevation: 4.0,
button2Elevation: 5.0,
button2Color: Colors.blue,
button1TextColor: Colors.black,
button2BorderRadius: 5.0,
cardBorderRadius: 10,
sectionRowData: const {
'Ulasan': [
'Rating bagus',
'Makanan sedap',
'Order lagi besok'
],
'Pesanan': ['Jumbo', 'Pedas', 'Ga pake nasi'],
'Ongkir': ['Genuk', 'Jalan Mrican no 2', 'kodepos 0164'],
},
onPressedButton2: () {
showMovePage(context);
},
);
},
),
),
),
);
}

void showMovePage(BuildContext context) {
// Implementasi dialog atau navigasi ke halaman lain di sini
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Konfirmasi'),
content: const Text('Apakah Anda yakin ingin memindahkan halaman?'),
actions: <Widget>[
TextButton(
onPressed: () {
print('OK button pressed');
//move to detail page
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const DetailPage()),
);
},
child: const Text('OK'),
),
TextButton(
onPressed: () {
print('Cancel button pressed');
Navigator.of(context).pop();
},
child: const Text('Batal'),
),
],
);
},
);
}
}
8 changes: 7 additions & 1 deletion lib/expandable_cardview.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ class ExpandableCard extends StatefulWidget {
/// The label for button 2.
final String? button2Value;

/// Fungsi callback ketika button2 ditekan.
final VoidCallback? onPressedButton2;

/// The number of section rows.
final int sectionRowCount;

Expand Down Expand Up @@ -53,6 +56,8 @@ class ExpandableCard extends StatefulWidget {
/// The border radius of button 2.
final double? button2BorderRadius;



/// The border radius of the card.
final double? cardBorderRadius;

Expand All @@ -76,6 +81,7 @@ class ExpandableCard extends StatefulWidget {
this.elevation,
this.button2Elevation,
this.button2Color,
this.onPressedButton2,
this.button1TextColor,
this.button1BorderRadius,
this.button2BorderRadius,
Expand Down Expand Up @@ -165,7 +171,7 @@ class _ExpandableCardState extends State<ExpandableCard> {
Padding(
padding: const EdgeInsets.only(right: 16, top: 10),
child: ElevatedButton(
onPressed: () {},
onPressed: widget.onPressedButton2,
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all<Color>(
widget.button2Color ?? Colors.blue,
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: expandable_cardview
description: nested expandable_cardview.
version: 1.0.2
version: 1.0.3
repository: https://github.com/myaasiinh/expandable_cardview
issue_tracker: https://github.com/myaasiinh/expandable_cardview/issues
maintainer: myaasiinh (@myaasiinh)
Expand Down

0 comments on commit f46b64a

Please sign in to comment.