createDecoratedAppBar method

  1. @override
CreateWidget createDecoratedAppBar(
  1. AppModel app,
  2. BuildContext context,
  3. Key? originalAppBarKey,
  4. CreateWidget createOriginalAppBar,
  5. AppBarModel model,
)
override

Implementation

@override
CreateWidget createDecoratedAppBar(
    AppModel app,
    BuildContext context,
    Key? originalAppBarKey,
    CreateWidget createOriginalAppBar,
    AppBarModel model) {
  if (!AccessBloc.isOwner(context, app)) return createOriginalAppBar;
  var currentAccess = AccessBloc.getState(context);

  return (() {
    return MyDecoratedWidget(
      isCreationMode: _isCreationMode,
      originalWidgetKey: originalAppBarKey,
      createOriginalWidget: disableSimulatePrivilege
          ? createOriginalAppBar
          : () {
              return MyDecoratedWidget(
                isCreationMode: _isCreationMode,
                originalWidgetKey: originalAppBarKey,
                createOriginalWidget: createOriginalAppBar,
                action: SingleAction(() {
                  openFlexibleDialog(
                    app,
                    context,
                    '${app.documentID}/_appbar',
                    includeHeading: false,
                    widthFraction: .9,
                    child: PrivilegeWidget(
                      app: app,
                      currentAccess: currentAccess,
                    ),
                  );
                }),
                ensureHeight: false,
                initialPosition: InitialPosition.leftBottom,
                label: 'privilege',
              );
            },
      action: SingleAction(() {
        openAppBar(context, app, model, fraction: fraction);
      }),
      ensureHeight: false,
      initialPosition: InitialPosition.centerCenter,
      label: 'appbar',
    );
  });
}