Commit 3b58ecc8 authored by valdi's avatar valdi

rebuild ok, problem di multi select

parent 3ea85076
import 'package:bloc/bloc.dart';
import 'package:flutter/widgets.dart';
import 'package:manager_queue/models/queue.dart';
class SelectedQueueBloc extends Cubit<List<OrderQueue>> {
SelectedQueueBloc() : super([]);
onPressed(OrderQueue thisQueue) {
if (state.contains(thisQueue)) {
state.remove(thisQueue);
} else {
state.add(thisQueue);
}
print("from bloc");
print(state);
emit(state);
}
}
......@@ -4,6 +4,8 @@ import 'package:manager_queue/bloc/queue_bloc.dart';
import 'package:manager_queue/bloc/ready_bloc.dart';
import 'package:manager_queue/main_page.dart';
import 'bloc/selected_queue_bloc.dart';
void main() {
runApp(MyApp());
}
......@@ -17,6 +19,7 @@ class MyApp extends StatelessWidget {
'/': (context) => MultiBlocProvider(providers: [
BlocProvider(create: (_) => QueueBloc()),
BlocProvider(create: (_) => ReadyBloc()),
BlocProvider(create: (_) => SelectedQueueBloc()),
], child: MainPage()),
},
debugShowCheckedModeBanner: false,
......
......@@ -6,6 +6,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:manager_queue/api.dart';
import 'package:manager_queue/bloc/queue_bloc.dart';
import 'package:manager_queue/bloc/ready_bloc.dart';
import 'package:manager_queue/bloc/selected_queue_bloc.dart';
import 'package:manager_queue/models/queue.dart';
class MainPage extends StatefulWidget {
......@@ -22,14 +23,14 @@ class _MainPageState extends State<MainPage> {
List<OrderQueue> pickUp = [];
// List<dynamic> orderQueueList = [];
@override
void initState() {
// orderQueueList = orderQueue.where((i) => (i.status == 'In Queue')).toList();
// orderReady = orderQueue.where((i) => (i.status == 'Ready')).toList();
// @override
// void initState() {
// // orderQueueList = orderQueue.where((i) => (i.status == 'In Queue')).toList();
// // orderReady = orderQueue.where((i) => (i.status == 'Ready')).toList();
// TODO: implement initState
super.initState();
}
// // TODO: implement initState
// super.initState();
// }
void setToReady(List<OrderQueue> queueSelected) {
for (var i in queueSelected) {
......@@ -66,6 +67,7 @@ class _MainPageState extends State<MainPage> {
print("Rebuild");
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
backgroundColor: Colors.white,
body: Row(
......@@ -114,33 +116,40 @@ class _MainPageState extends State<MainPage> {
borderRadius: BorderRadius.circular(10),
child: InkWell(
onTap: () {
setState(() {
if (queueSelected.contains(thisQueue)) {
queueSelected.remove(thisQueue);
} else {
queueSelected.add(thisQueue);
}
print(queueSelected.toString());
});
context
.read<SelectedQueueBloc>()
.onPressed(thisQueue);
// print(context
// .read<SelectedQueueBloc>()
// .state
// .contains(thisQueue)
// ? 'ADA LOH'
// : 'GAK ADA LOH');
},
child: Card(
color: Colors.black38,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
child: GestureDetector(
onTap: () {},
child: Center(
child: Text(
queueSelected.contains(thisQueue)
child: BlocBuilder<SelectedQueueBloc,
List<OrderQueue>>(
builder: (context, list) {
print("--");
print(list);
return Text(
context
.read<SelectedQueueBloc>()
.state
.contains(thisQueue)
? "Pesanan " +
thisQueue.queue_number +
" ✅"
" ✅ "
: "Pesanan " +
thisQueue.queue_number,
style: TextStyle(fontSize: 20),
),
);
},
),
),
),
......@@ -270,18 +279,19 @@ class _MainPageState extends State<MainPage> {
mainAxisSpacing: 5,
childAspectRatio: 2),
itemBuilder: (BuildContext context, int index) {
var thisReady = orderReady[index];
return Material(
borderRadius: BorderRadius.circular(10),
child: InkWell(
onTap: () {
setState(() {
// if (readySelected.contains(readyItem)) {
// readySelected.remove(readyItem);
// } else {
// readySelected.add(readyItem);
// }
if (readySelected.contains(thisReady)) {
readySelected.remove(thisReady);
} else {
readySelected.add(thisReady);
}
// print(readySelected.toString());
print(readySelected.toString());
});
},
child: Card(
......@@ -291,12 +301,12 @@ class _MainPageState extends State<MainPage> {
),
child: Center(
child: Text(
readySelected.contains(orderReady)
readySelected.contains(thisReady)
? "Pesanan " +
orderReady[index].queue_number +
thisReady.queue_number +
" ✅"
: "Pesanan " +
orderReady[index].queue_number,
thisReady.queue_number,
style: TextStyle(fontSize: 20),
),
),
......
......@@ -150,7 +150,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
version: "1.8.1"
provider:
dependency: transitive
description:
......@@ -204,7 +204,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.8"
version: "0.4.9"
typed_data:
dependency: transitive
description:
......
......@@ -5,6 +5,9 @@
list(APPEND FLUTTER_PLUGIN_LIST
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST})
......@@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment