Skip to content

Instantly share code, notes, and snippets.

View corelmax's full-sized avatar

corelmax corelmax

  • Billme Venture Co., Ltd.
  • Bangkok, Thailand
View GitHub Profile
apiVersion: v1
kind: Service
metadata:
name: chat-server-service
namespace: default
labels: &labels
app: chat-server
env: production
tier: backend
spec:
{
"_type": "export",
"__export_format": 4,
"__export_date": "2022-06-09T13:06:44.366Z",
"__export_source": "insomnia.desktop.app:v2022.3.0",
"resources": [
{
"_id": "req_7d7050b7b3b2440aa784ee60a30f514b",
"parentId": "fld_893e9f5c77a4466fbc67f564275ff60e",
"modified": 1654779978786,
@corelmax
corelmax / dante-aes67-relay.js
Created March 11, 2022 09:53 — forked from philhartung/dante-aes67-relay.js
Relay a Dante multicast stream to AES67. This assumes the AES67 device is synced to the same PTP master, as no PTP timestamping is done (timestamp from Dante is copied to AES67 RTP packet)
const dgram = require('dgram');
const client = dgram.createSocket({ type: 'udp4', reuseAddr: true });
const sdp = require('./sdp');
//config
const addr = '10.10.1.100';
const danteMulticast = '239.255.220.221';
const aes67Multicast = '239.69.1.122';
const samplerate = 48000;
const channels = 2;
@@ -31,7 +31,7 @@
child: FlatButton(
textColor: Colors.red,
onPressed: () {
- // we will do delete here
+ TodoList.of(context).removeTodoById(todo.id);
},
child: Text('Delete'),
)
@@ -2,6 +2,11 @@
import 'package:uuid/uuid.dart';
class TodoList extends StatefulWidget {
+
+ static TodoListState of(BuildContext context) {
+ return context.findAncestorStateOfType<TodoListState>();
+ }
+
@override
@@ -55,7 +55,14 @@
)
),
IconButton(icon: Icon(Icons.delete), onPressed: () {
- // delete todo item here
+ showDialog(
+ context: context,
+ builder: (dialogContext) {
+ return DeleteTodoDialog(
+ todo: todo,
class DeleteTodoDialog extends StatelessWidget {
final Todo todo;
const DeleteTodoDialog({Key key, this.todo}) : super(key: key);
@override
Widget build(BuildContext context) {
return Dialog(
child: Container(
@@ -24,6 +24,12 @@
});
}
+ void removeTodoById(String id) {
+ setState(() {
+ todos.remove(id);
+ });
+ }
+
@@ -34,13 +34,14 @@
child: Row(
children: [
- Checkbox(value: false, onChanged: (value) {
- // we will update todo item here
+ Checkbox(value: todo.isDone, onChanged: (value) {
+ todo.isDone = value;
+ updateTodo(todo);
}),
Expanded(
@@ -18,6 +18,12 @@
});
}
+ void updateTodo(Todo todo) {
+ setState(() {
+ todos[todo.id] = todo;
+ });
+ }
+