paisley 0.0.0+1 copy "paisley: ^0.0.0+1" to clipboard
paisley: ^0.0.0+1 copied to clipboard

outdated

Home-grown server-side SPA framework for Dart.

example/main.dart

import 'dart:async';
import 'package:angel_framework/angel_framework.dart';
import 'package:angel_framework/http.dart';
import 'package:logging/logging.dart';
import 'package:paisley/paisley.dart';
import 'package:paisley/server.dart';

main() async {
  var app = Angel();
  var http = AngelHttp(app);
  app.logger = Logger('paisley')..onRecord.listen(print);

  app.get(
      '/',
      paisleySsr(
          (req, res) => PaisleyApp('ws://localhost:3000/paisley', Hello(req))));

  app.get('/paisley', paisley((req, res) => Hello(req)));

  await http.startServer('127.0.0.1', 3000);
  print('Listening at ${http.uri}');
}

class Hello extends Component {
  final RequestContext req;
  var _clicks = 0;

  Hello(this.req);

  @override
  void afterCreate([PaisleyServer server, Map<String, dynamic> localStorage]) {
    if (server != null) {
      listen('click', (_) async {
        await server.eval('console.info("Hello, Paisley!!!")');
        server.pushHtml('button', 'Clicked ${++_clicks} time(s)!');
        await server.refresh();
      });
    }
  }

  @override
  FutureOr<String> render() {
    return '''
    <h1>Session ID: ${req.session.id}</h1>
    <button onclick="fire('click')">Click me!</button>
    ''';
  }
}
1
likes
0
points
7
downloads

Publisher

unverified uploader

Weekly Downloads

Home-grown server-side SPA framework for Dart.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

angel_framework, angel_serialize, html_builder, http_parser, json_god, json_rpc_2, stream_channel, web_socket_channel

More

Packages that depend on paisley