extern crate self as tablo_core;
#[doc(hidden)]
pub mod __macro {
pub use toasty::{
Executor, Result as DbResult,
codegen_support::Version,
schema::{Embed, Model},
stmt,
stmt::{List, Path},
};
pub use topcoat::context::Cx;
pub use crate::{
Color, Lens, Text,
detail::Detail,
extend::{Includes, OptionSource},
form::{
FieldError, FormField, FormInput, FormScalar, FormValues, NullableScalar, RecordForm,
assert_form_scalar, links_include, links_key, parse_list, parse_password, parse_scalar,
required_input, write_links,
},
i18n::option_label,
schema::{
ChoiceField, CustomField, EmbeddedForm, Field, FileField, HoldsTabs, IntoSchema,
Options, RepeaterField, Schema, TextField,
embedded::{Embedded, EmbeddedBuilder, embedded_field, take_leaf, take_value},
form_key, parse_items,
tree::Retype,
write_items,
},
table::{ModelColumns, Table, model::pick},
toasty_compat::VariantId,
};
}
pub mod auth;
mod bus;
mod column;
pub mod csrf;
pub mod db;
mod declaration;
mod derive;
mod detail;
mod display;
#[doc(hidden)]
pub mod dom;
mod error;
pub mod extend;
mod flash;
mod form;
mod i18n;
mod lens;
mod models;
mod naming;
mod navigation;
pub mod notification;
mod outcome;
mod page;
mod panel;
mod policy;
mod resource;
#[cfg(feature = "rich-text")]
pub mod rich_text;
mod schema;
mod table;
mod tenancy;
#[cfg(test)]
mod test_support;
mod toasty_compat;
mod topcoat_compat;
mod upload;
mod values;
pub(crate) type BoxFuture<'a, T> = std::pin::Pin<Box<dyn Future<Output = T> + Send + 'a>>;
pub use auth::{
config::Auth,
mail::AuthMail,
panel_user::{Authenticator, PanelUser},
password::{PasswordAuth, PasswordSignUp},
password_reset::PasswordReset,
profile::{Profile, ProfileEditor, ProfileUpdate},
registration::{Registrar, SignUp},
tenant_registration::TenantRegistration,
throttle::LoginThrottle,
two_factor::TwoFactor,
verification::EmailVerification,
};
#[cfg(feature = "rich-text")]
pub use column::RichTextColumn;
pub use column::{
BooleanColumn, ColorColumn, ColumnToggle, ColumnWidth, ComputedColumn, CountColumn, DateColumn,
DateValue, EmbeddedColumn, FileColumn, ImageColumn, IntoColumns, RelationColumn, RelationLens,
RepeaterColumn, TextColumn, ToOneRelation, contains_expr,
};
pub use declaration::{
ActionInputFault, AuthMailFault, DeclarationError, DeclarationErrorKind, FieldAccessFault,
FieldRuleFault, LocaleFault, ManyToManyFault, MountError, ProfileFault, ResetFault,
SegmentFault, SignUpFault, Site, TenancyFault, TenantProfileFault, TenantRegistrationFault,
TwoFactorFault, VerificationFault,
};
pub use derive::{EmbeddedForm, FormInput, ModelColumns, ModelForm, Options, RecordForm};
pub use detail::{Detail, IntoDetail};
pub use display::{Alignment, Color, Currency, Number, Numeric};
pub use form::{NoForm, Posted, RecordForm};
pub use i18n::Text;
pub use lens::{Lens, Reads};
pub use models::register_models;
pub use navigation::{NavTarget, NavigationItem};
pub use notification::stored::Notifications;
pub use outcome::{Notification, NotificationAction, NotificationStatus, Outcome};
pub use page::{Page, PageDef};
pub use panel::{
Brand, MAX_IMPORT_ROWS, Panel, PanelHandle, RouterBuilderPanelExt, WiredTable, can_list,
can_open, navigation_item, pages::header_action_buttons, url, wired_table,
};
pub use policy::{Abilities, Ability, Allow, And, Deny, Or, Policy, ReadOnly, When, when};
pub use resource::{
Action, Change, FieldAccess, ForeignKey, GlobalSearch, HeaderAction, HeaderActions, Places,
PublicLink, Relation, Resource, ResourceDef, Trashed, WriteError, can, scoped_query,
scoped_query_in, write_create, write_update,
};
#[cfg(feature = "rich-text")]
pub use rich_text::tool::Tool;
#[cfg(feature = "rich-text")]
pub use schema::RichTextField;
pub use schema::{
ChoiceField, CustomField, EmbeddedForm, Field, FileField, Grid, Group, IntoFormValue,
IntoOptions, IntoSchema, MAX_RELATIONSHIP_OPTIONS, MAX_REPEATER_ROWS, Options, RepeaterField,
Schema, Section, Source, Switch, Tab, Tabs, TextField, Toggle, Watched, input::FormInput,
parse_items, write_items,
};
pub use table::{
ActionLayout, Cursor, DEFAULT_PAGE_SIZE, DEFAULT_PER_PAGE_OPTIONS, DateFilter, FilterValue,
IntoFilters, ModelColumns, PagePosition, Pagination, QueryFilter, SelectFilter, Sort, Table,
TablePage, TableState, TernaryFilter,
};
pub use tenancy::{Membership, Tenancy, Tenant, TenantColumn, TenantId, require_tenant, tenant_id};
pub use upload::{DirUploader, Uploader, sanitize_filename};
pub use values::{
FieldError, FieldErrorKind, FieldErrors, FormField, FormScalar, FormValue, FormValues,
parse_list, parse_password, parse_scalar, time_zone, write_list,
};