/*
Made by [egyJs.com](https://www.instagram.com/egyjs/);
*/
install it on your localhost and try it :
<template> | |
<v-dialog v-model="dialog" :max-width="options.width" :style="{ zIndex: options.zIndex }" @keydown.esc="cancel"> | |
<v-card> | |
<v-toolbar dark :color="options.color" dense flat> | |
<v-toolbar-title class="white--text">{{ title }}</v-toolbar-title> | |
</v-toolbar> | |
<v-card-text v-show="!!message" class="pa-4">{{ message }}</v-card-text> | |
<v-card-actions class="pt-0"> | |
<v-spacer></v-spacer> | |
<v-btn color="primary darken-1" text @click.native="agree">Yes</v-btn> |
import 'dart:async'; | |
import 'package:flutter/material.dart'; | |
void main() => runApp(new MyApp()); | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return new MaterialApp( |
/*
Made by [egyJs.com](https://www.instagram.com/egyjs/);
*/
install it on your localhost and try it :
import 'dart:async'; | |
import 'package:flutter/material.dart'; | |
void main() => runApp(new MyApp()); | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return new MaterialApp( |
import 'package:flutter/material.dart'; | |
class FadeOnScroll extends StatefulWidget { | |
final ScrollController scrollController; | |
final double zeroOpacityOffset; | |
final double fullOpacityOffset; | |
final Widget child; | |
FadeOnScroll( | |
{Key key, |
This document outlines how to model a common organization-based permission system in Hasura. Let's assume that you have some table structure like the following:
Table Name | Columns | Foreign Keys |
---|---|---|
User | id, name, email | |
Organization User | id, user_id, organization_id | user_id -> user.id, organization_id -> organization.id |
Organization | id, name |
import 'dart:async'; | |
import 'package:meta/meta.dart'; | |
import 'package:hasura_connect/hasura_connect.dart'; | |
import 'package:http/http.dart' as http; | |
// problem: | |
// when subscribing to`HasuraConnect.subscription`, a websocket connection is created on the first subscription | |
// call. The websocket connection is created only once with the initial subscription and the provided TokenInterceptor | |
// or headers. When the token expires during an active subscription, HasuraConnect doesn't stop the subscription, or try | |
// to reconnect with the latest token in in the TokenInterceptor nor does it throw an error. It'll keep calling `onRequest` |
<template> | |
<div> | |
<v-menu | |
v-model="dialog" | |
:close-on-content-click="false" | |
:nudge-width="200" | |
max-width="290" | |
offset-y | |
> | |
<template v-slot:activator="{ on }"> |