Documentation
¶
Index ¶
- Constants
- Variables
- func AutoMigrate(db *gorm.DB) (err error)
- type Builder
- func (b *Builder) Activity(v *activity.Builder) (r *Builder)
- func (b *Builder) AutoMigrate() (r *Builder)
- func (b *Builder) ContainerByName(name string) (r *ContainerBuilder)
- func (b *Builder) DefaultDevice(v string) (r *Builder)
- func (b *Builder) DuplicateBtnColor(v string) (r *Builder)
- func (b *Builder) Editor(m *ModelBuilder) web.PageFunc
- func (b *Builder) ExpendContainers(v bool) (r *Builder)
- func (b *Builder) GetPageTitle() SubPageTitleFunc
- func (b *Builder) GetPresetsBuilder() (r *presets.Builder)
- func (b *Builder) Images(v http.Handler, imagesPrefix string) (r *Builder)
- func (b *Builder) Install(pb *presets.Builder) (err error)
- func (b *Builder) L10n(v *l10n.Builder) (r *Builder)
- func (b *Builder) Media(v *media.Builder) (r *Builder)
- func (b *Builder) Model(mb *presets.ModelBuilder) (r *ModelBuilder)
- func (b *Builder) ModelInstall(pb *presets.Builder, mb *presets.ModelBuilder) (err error)
- func (b *Builder) PageEnabled(v bool) (r *Builder)
- func (b *Builder) PageLayout(v PageLayoutFunc) (r *Builder)
- func (b *Builder) PageStyle(v h.HTMLComponent) (r *Builder)
- func (b *Builder) Prefix(v string) (r *Builder)
- func (b *Builder) PreviewContainer(v bool) (r *Builder)
- func (b *Builder) PreviewDevices(devices ...Device) *Builder
- func (b *Builder) PublishBtnColor(v string) (r *Builder)
- func (b *Builder) Publisher(v *publish.Builder) (r *Builder)
- func (b *Builder) RegisterContainer(name string) (r *ContainerBuilder)
- func (b *Builder) RegisterModelContainer(name string, mb *presets.ModelBuilder) (r *ContainerBuilder)
- func (b *Builder) SEO(v *seo.Builder) (r *Builder)
- func (b *Builder) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (b *Builder) SubPageTitle(v SubPageTitleFunc) (r *Builder)
- func (b *Builder) TemplateEnabled(v bool) (r *Builder)
- func (b *Builder) WrapCategoryInstall(w func(presets.ModelInstallFunc) presets.ModelInstallFunc) (r *Builder)
- func (b *Builder) WrapPageInstall(w func(presets.ModelInstallFunc) presets.ModelInstallFunc) (r *Builder)
- func (b *Builder) WrapPageLayout(warp func(v PageLayoutFunc) PageLayoutFunc) (r *Builder)
- func (b *Builder) WrapTemplateInstall(w func(presets.ModelInstallFunc) presets.ModelInstallFunc) (r *Builder)
- type Category
- type Container
- type ContainerBuilder
- func (b *ContainerBuilder) Cover(v string) *ContainerBuilder
- func (b *ContainerBuilder) Editing(vs ...interface{}) *presets.EditingBuilder
- func (b *ContainerBuilder) GetModelBuilder() *presets.ModelBuilder
- func (b *ContainerBuilder) Group(v string) *ContainerBuilder
- func (b *ContainerBuilder) Model(m interface{}) *ContainerBuilder
- func (b *ContainerBuilder) ModelTypeName() string
- func (b *ContainerBuilder) NewModel() interface{}
- func (b *ContainerBuilder) OnlyPages(v bool) *ContainerBuilder
- func (b *ContainerBuilder) RenderFunc(v RenderFunc) *ContainerBuilder
- type ContainerSorter
- type ContainerSorterItem
- type DemoContainer
- type Device
- type Messages
- type ModelBuilder
- type Page
- func (p *Page) GetCategory(db *gorm.DB) (category Category, err error)
- func (p *Page) GetID() uint
- func (p *Page) GetTitle() string
- func (p *Page) PermissionRN() []string
- func (p *Page) PrimaryColumnValuesBySlug(slug string) map[string]string
- func (p *Page) PrimarySlug() string
- func (p *Page) PublishUrl(db *gorm.DB, ctx context.Context, storage oss.StorageInterface) (s string)
- func (*Page) TableName() string
- type PageLayoutFunc
- type PageLayoutInput
- type PageTitleInterface
- type PrimarySlugInterface
- type RenderFunc
- type RenderInput
- type SubPageTitleFunc
- type Template
- type WrapCompFunc
Constants ¶
View Source
const ( AddContainerEvent = "page_builder_AddContainerEvent" DeleteContainerConfirmationEvent = "page_builder_DeleteContainerConfirmationEvent" DeleteContainerEvent = "page_builder_DeleteContainerEvent" MoveContainerEvent = "page_builder_MoveContainerEvent" MoveUpDownContainerEvent = "page_builder_MoveUpDownContainerEvent" ToggleContainerVisibilityEvent = "page_builder_ToggleContainerVisibilityEvent" RenameContainerDialogEvent = "page_builder_RenameContainerDialogEvent" RenameContainerEvent = "page_builder_RenameContainerEvent" ShowSortedContainerDrawerEvent = "page_builder_ShowSortedContainerDrawerEvent" ReloadRenderPageOrTemplateEvent = "page_builder_ReloadRenderPageOrTemplateEvent" ContainerPreviewEvent = "page_builder_ContainerPreviewEvent" DevicePhone = "phone" DeviceTablet = "tablet" DeviceComputer = "computer" EventUp = "up" EventDown = "down" EventDelete = "delete" EventAdd = "add" EventEdit = "edit" )
View Source
const ContainerToPageLayoutKey = "ContainerToPageLayout"
View Source
const I18nPageBuilderKey i18n.ModuleKey = "I18nPageBuilderKey"
View Source
const (
PageBuilderPreviewCard = "PageBuilderPreviewCard"
)
Variables ¶
View Source
var Messages_en_US = &Messages{ Category: "Category", Preview: "Preview", Containers: "Containers", AddContainers: "Add Containers", New: "New", Shared: "Shared", Select: "Select", SelectedTemplateLabel: "Template", CreateFromTemplate: "Create From Template", ChangeTemplate: "Change Template", RelatedOnlinePages: "Related Online Pages", RepublishAllRelatedOnlinePages: "Republish All", Unnamed: "Unnamed", NotDescribed: "Not Described", Blank: "Blank", NewPage: "New Page", FilterTabAllVersions: "All Versions", FilterTabOnlineVersion: "Online Versions", FilterTabNamedVersions: "Named Versions", PageBuilder: "Page Builder", Rename: "Rename", PageOverView: "Page Overview", Others: "Others", Add: "Add", AddComponent: "Add Component", BuildYourPages: "Build your pages", PlaceAnElementFromLibrary: "Place an element from library.", NewElement: "New Element", Title: "Title", Slug: "Slug", EditPage: "Edit Page", ScheduledAt: "Scheduled at", OnlineHit: "The version cannot be edited directly after it is released. Please copy the version and edit it.", NoContentHit: "This page has no content yet, start to edit in page builder", InvalidPathMsg: "Invalid Path", InvalidTitleMsg: "Invalid Title", InvalidNameMsg: "Invalid Name", InvalidSlugMsg: "Invalid Slug", ConflictSlugMsg: "Conflicting Slug", ConflictPathMsg: "Conflicting Path", ExistingPathMsg: "Existing Path", UnableDeleteCategoryMsg: "To delete this category you need to remove all association to products first", Versions: "versions", NewComponent: "New Component", Settings: "settings", SelectElementMsg: "Select an element and change the setting here.", StartBuildingMsg: "Start building a page", StartBuildingSubMsg: "By Browsing and selecting components from the library", ListHeaderID: "ID", ListHeaderTitle: "Title", ListHeaderName: "Name", ListHeaderPath: "Path", ListHeaderDescription: "Description", FilterTabAll: "All", FilterTabFilled: "Filled", FilterTabNotFilled: "Not Filled", ModelLabelPages: "Pages", ModelLabelPage: "Page", ModelLabelSharedContainers: "Shared Containers", ModelLabelSharedContainer: "Shared Container", ModelLabelDemoContainers: "Demo Containers", ModelLabelDemoContainer: "Demo Container", ModelLabelTemplates: "Templates", ModelLabelTemplate: "Template", ModelLabelPageCategories: "Page Categories", ModelLabelPageCategory: "Page Category", AreWantDeleteContainer: func(v string) string { return fmt.Sprintf("Are you sure you want to delete %v?", v) }, }
View Source
var Messages_ja_JP = &Messages{ Category: "カテゴリ", Preview: "プレビュー", Containers: "コンテナ", AddContainers: "コンテナの追加", New: "作成する", Shared: "共有", Select: "選択", SelectedTemplateLabel: "テンプレート", CreateFromTemplate: "テンプレートから作成", ChangeTemplate: "テンプレートの変更", RelatedOnlinePages: "関連するオンラインページ", RepublishAllRelatedOnlinePages: "すべてを再公開する", Unnamed: "名前なし", NotDescribed: "説明なし", Blank: "空白", NewPage: "新しいページ", FilterTabAllVersions: "すべてのバージョン", FilterTabOnlineVersion: "オンラインバージョン", FilterTabNamedVersions: "名前付きバージョン", Rename: "名前の変更", PageOverView: "ページの概要", Others: "その他", Add: "追加", AddComponent: "コンポーネントの追加", BuildYourPages: "ページの作成", PlaceAnElementFromLibrary: "ライブラリから要素を配置します。", NewElement: "新しい要素", Title: "タイトル", Slug: "スラッグ", EditPage: "ページの編集", ScheduledAt: "公開開始日時", OnlineHit: "バージョンはリリース後直接に編集できません。バージョンをコピーして編集してください。", NoContentHit: "このページにはまだコンテンツがありません。ページビルダーで編集を開始してください", InvalidPathMsg: "無効なパス", InvalidTitleMsg: "無効なタイトル", InvalidNameMsg: "無効な名前", InvalidSlugMsg: "無効なスラッグ", ConflictSlugMsg: "競合するスラッグ", ConflictPathMsg: "競合するパス", ExistingPathMsg: "既存のパス", UnableDeleteCategoryMsg: "このカテゴリを削除するには、まず商品との関連付けをすべて削除する必要があります。", Versions: "バージョン", NewComponent: "新しいコンポーネント", Settings: "設定", SelectElementMsg: "コンテナを選択後、設定変更してください", StartBuildingMsg: "ページの構築を開始します", StartBuildingSubMsg: "ライブラリからコンポーネントを参照して選択する", ListHeaderID: "ID", ListHeaderTitle: "タイトル", ListHeaderName: "名前", ListHeaderPath: "パス", ListHeaderDescription: "説明", FilterTabAll: "すべて", FilterTabFilled: "入力済み", FilterTabNotFilled: "未入力", ModelLabelPages: "ページ", ModelLabelPage: "ページ", ModelLabelSharedContainers: "共有コンテナ", ModelLabelSharedContainer: "共有コンテナ", ModelLabelDemoContainers: "デモコンテナ", ModelLabelDemoContainer: "デモコンテナ", ModelLabelTemplates: "テンプレート", ModelLabelTemplate: "テンプレート", ModelLabelPageCategories: "ページカテゴリ", ModelLabelPageCategory: "ページカテゴリ", AreWantDeleteContainer: func(v string) string { return fmt.Sprintf("%v を削除してもよろしいですか?", v) }, }
View Source
var Messages_zh_CN = &Messages{ Category: "目录", Preview: "预览", Containers: "组件", AddContainers: "增加组件", New: "新增", Shared: "公用的", Select: "选择", SelectedTemplateLabel: "模板", CreateFromTemplate: "从模板中创建", ChangeTemplate: "更改模版", RelatedOnlinePages: "相关在线页面", RepublishAllRelatedOnlinePages: "重新发布所有页面", Unnamed: "未命名", NotDescribed: "未描述", Blank: "空白", NewPage: "新页面", FilterTabAllVersions: "所有版本", FilterTabOnlineVersion: "在线版本", FilterTabNamedVersions: "已命名版本", Rename: "重命名", PageOverView: "页面概览", Others: "其他", Add: "新增", AddComponent: "新增组件", BuildYourPages: "构建你的页面", PlaceAnElementFromLibrary: "从你的库从选择一个组件", NewElement: "新的组件", Title: "编辑", Slug: "Slug", EditPage: "编辑页面", ScheduledAt: "安排在", OnlineHit: "这个版本无法在上线后直接编辑.请拷贝这个版本再编辑.", NoContentHit: "这个页面没有内容,在page builder中开始编辑", InvalidPathMsg: "无效的路径", InvalidTitleMsg: "无效的标题", InvalidNameMsg: "无效的名称", InvalidSlugMsg: "无效的Slug", ConflictSlugMsg: "冲突的Slug", ConflictPathMsg: "冲突的路径", ExistingPathMsg: "已存在的路径", UnableDeleteCategoryMsg: "这个分类没办法被删除,因为已被页面使用", Versions: "版本", NewComponent: "新增组件", Settings: "设置", SelectElementMsg: "选择一个组件,这里会变成设置", StartBuildingMsg: "开始构建页面", StartBuildingSubMsg: "从库中选择组件", ListHeaderID: "ID", ListHeaderTitle: "标题", ListHeaderName: "名称", ListHeaderPath: "路径", ListHeaderDescription: "描述", FilterTabAll: "全部", FilterTabFilled: "已填写", FilterTabNotFilled: "未填写", ModelLabelPages: "页面管理", ModelLabelPage: "页面", ModelLabelSharedContainers: "公用组件", ModelLabelSharedContainer: "公用组件", ModelLabelDemoContainers: "示例组件", ModelLabelDemoContainer: "示例组件", ModelLabelTemplates: "模板页面", ModelLabelTemplate: "模板页面", ModelLabelPageCategories: "目录管理", ModelLabelPageCategory: "目录", AreWantDeleteContainer: func(v string) string { return fmt.Sprintf("你确定要删除 %v?", v) }, }
Functions ¶
func AutoMigrate ¶ added in v3.0.2
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func (*Builder) AutoMigrate ¶ added in v3.0.2
func (*Builder) ContainerByName ¶
func (b *Builder) ContainerByName(name string) (r *ContainerBuilder)
func (*Builder) DefaultDevice ¶
func (*Builder) DuplicateBtnColor ¶
func (*Builder) ExpendContainers ¶ added in v3.0.1
func (*Builder) GetPageTitle ¶ added in v3.0.1
func (b *Builder) GetPageTitle() SubPageTitleFunc
func (*Builder) GetPresetsBuilder ¶
func (*Builder) Model ¶ added in v3.0.1
func (b *Builder) Model(mb *presets.ModelBuilder) (r *ModelBuilder)
func (*Builder) ModelInstall ¶ added in v3.0.1
func (*Builder) PageEnabled ¶ added in v3.0.2
func (*Builder) PageLayout ¶
func (b *Builder) PageLayout(v PageLayoutFunc) (r *Builder)
func (*Builder) PreviewContainer ¶ added in v3.0.2
func (*Builder) PreviewDevices ¶ added in v3.0.1
func (*Builder) PublishBtnColor ¶
func (*Builder) RegisterContainer ¶
func (b *Builder) RegisterContainer(name string) (r *ContainerBuilder)
func (*Builder) RegisterModelContainer ¶ added in v3.0.1
func (b *Builder) RegisterModelContainer(name string, mb *presets.ModelBuilder) (r *ContainerBuilder)
func (*Builder) SubPageTitle ¶ added in v3.0.1
func (b *Builder) SubPageTitle(v SubPageTitleFunc) (r *Builder)
func (*Builder) TemplateEnabled ¶
func (*Builder) WrapCategoryInstall ¶ added in v3.0.1
func (b *Builder) WrapCategoryInstall(w func(presets.ModelInstallFunc) presets.ModelInstallFunc) (r *Builder)
func (*Builder) WrapPageInstall ¶ added in v3.0.1
func (b *Builder) WrapPageInstall(w func(presets.ModelInstallFunc) presets.ModelInstallFunc) (r *Builder)
func (*Builder) WrapPageLayout ¶ added in v3.0.2
func (b *Builder) WrapPageLayout(warp func(v PageLayoutFunc) PageLayoutFunc) (r *Builder)
func (*Builder) WrapTemplateInstall ¶ added in v3.0.1
func (b *Builder) WrapTemplateInstall(w func(presets.ModelInstallFunc) presets.ModelInstallFunc) (r *Builder)
type Category ¶
type Category struct {
gorm.Model
Name string
Path string
Description string
IndentLevel int `gorm:"-"`
l10n.Locale
}
func (*Category) PrimaryColumnValuesBySlug ¶
func (*Category) PrimarySlug ¶
type Container ¶
type Container struct {
gorm.Model
PageID uint
PageVersion string
PageModelName string
ModelName string
ModelID uint
DisplayOrder float64
Hidden bool
DisplayName string
l10n.Locale
LocalizeFromModelID uint
}
func (*Container) PrimaryColumnValuesBySlug ¶
func (*Container) PrimarySlug ¶
type ContainerBuilder ¶
type ContainerBuilder struct {
// contains filtered or unexported fields
}
func (*ContainerBuilder) Cover ¶
func (b *ContainerBuilder) Cover(v string) *ContainerBuilder
func (*ContainerBuilder) Editing ¶
func (b *ContainerBuilder) Editing(vs ...interface{}) *presets.EditingBuilder
func (*ContainerBuilder) GetModelBuilder ¶
func (b *ContainerBuilder) GetModelBuilder() *presets.ModelBuilder
func (*ContainerBuilder) Group ¶ added in v3.0.1
func (b *ContainerBuilder) Group(v string) *ContainerBuilder
func (*ContainerBuilder) Model ¶
func (b *ContainerBuilder) Model(m interface{}) *ContainerBuilder
func (*ContainerBuilder) ModelTypeName ¶
func (b *ContainerBuilder) ModelTypeName() string
func (*ContainerBuilder) NewModel ¶
func (b *ContainerBuilder) NewModel() interface{}
func (*ContainerBuilder) OnlyPages ¶ added in v3.0.3
func (b *ContainerBuilder) OnlyPages(v bool) *ContainerBuilder
func (*ContainerBuilder) RenderFunc ¶
func (b *ContainerBuilder) RenderFunc(v RenderFunc) *ContainerBuilder
type ContainerSorter ¶
type ContainerSorter struct {
Items []ContainerSorterItem `json:"items"`
}
type ContainerSorterItem ¶
type ContainerSorterItem struct {
Index int `json:"index"`
Label string `json:"label"`
ModelName string `json:"model_name"`
ModelID string `json:"model_id"`
DisplayName string `json:"display_name"`
ContainerID string `json:"container_id"`
ContainerDataID string `json:"container_data_id"`
URL string `json:"url"`
Hidden bool `json:"hidden"`
VisibilityIcon string `json:"visibility_icon"`
ParamID string `json:"param_id"`
Locale string `json:"locale"`
}
type DemoContainer ¶
func (*DemoContainer) PrimaryColumnValuesBySlug ¶
func (c *DemoContainer) PrimaryColumnValuesBySlug(slug string) map[string]string
func (*DemoContainer) PrimarySlug ¶
func (c *DemoContainer) PrimarySlug() string
func (*DemoContainer) TableName ¶
func (*DemoContainer) TableName() string
type Messages ¶
type Messages struct {
Category string
Preview string
Containers string
AddContainers string
New string
Select string
SelectedTemplateLabel string
CreateFromTemplate string
ChangeTemplate string
RelatedOnlinePages string
RepublishAllRelatedOnlinePages string
Unnamed string
NotDescribed string
Blank string
NewPage string
FilterTabAllVersions string
FilterTabOnlineVersion string
FilterTabNamedVersions string
Rename string
PageOverView string
Others string
Add string
AddComponent string
BuildYourPages string
PlaceAnElementFromLibrary string
NewElement string
Title string
Slug string
EditPage string
ScheduledAt string
OnlineHit string
NoContentHit string
PageBuilder string
InvalidPathMsg string
InvalidTitleMsg string
InvalidNameMsg string
InvalidSlugMsg string
ConflictSlugMsg string
ConflictPathMsg string
ExistingPathMsg string
UnableDeleteCategoryMsg string
Versions string
NewComponent string
Settings string
SelectElementMsg string
StartBuildingMsg string
StartBuildingSubMsg string
ListHeaderID string
ListHeaderTitle string
ListHeaderName string
ListHeaderPath string
ListHeaderDescription string
FilterTabAll string
FilterTabFilled string
FilterTabNotFilled string
ModelLabelPages string
ModelLabelPage string
ModelLabelDemoContainers string
ModelLabelDemoContainer string
ModelLabelTemplates string
ModelLabelTemplate string
ModelLabelPageCategories string
ModelLabelPageCategory string
AreWantDeleteContainer func(v string) string
}
type ModelBuilder ¶ added in v3.0.1
type ModelBuilder struct {
// contains filtered or unexported fields
}
func (*ModelBuilder) ContextValueProvider ¶ added in v3.0.1
func (b *ModelBuilder) ContextValueProvider(in context.Context) context.Context
func (*ModelBuilder) ExistedL10n ¶ added in v3.0.2
func (b *ModelBuilder) ExistedL10n() bool
func (*ModelBuilder) PreviewHTML ¶ added in v3.0.2
func (b *ModelBuilder) PreviewHTML(obj interface{}) (r string)
func (*ModelBuilder) PreviewHref ¶ added in v3.0.2
func (b *ModelBuilder) PreviewHref(ctx *web.EventContext, ps string) string
type Page ¶
type Page struct {
gorm.Model
Title string
Slug string
CategoryID uint
SEO seo.Setting
publish.Status
publish.Schedule
publish.Version
l10n.Locale
}
func (*Page) PermissionRN ¶
func (*Page) PrimaryColumnValuesBySlug ¶
func (*Page) PrimarySlug ¶
func (*Page) PublishUrl ¶ added in v3.0.2
type PageLayoutFunc ¶
type PageLayoutFunc func(body h.HTMLComponent, input *PageLayoutInput, ctx *web.EventContext) h.HTMLComponent
type PageLayoutInput ¶
type PageLayoutInput struct {
SeoTags h.HTMLComponent
CanonicalLink h.HTMLComponent
StructuredData h.HTMLComponent
FreeStyleCss []string
FreeStyleTopJs []string
FreeStyleBottomJs []string
WrapHead WrapCompFunc
WrapBody WrapCompFunc
Hreflang map[string]string
Header h.HTMLComponent
IsEditor bool
LocaleCode string
EditorCss []h.HTMLComponent
IsPreview bool
}
type PageTitleInterface ¶ added in v3.0.1
type PageTitleInterface interface {
GetTitle() string
}
type PrimarySlugInterface ¶ added in v3.0.1
type RenderFunc ¶
type RenderFunc func(obj interface{}, input *RenderInput, ctx *web.EventContext) h.HTMLComponent
type RenderInput ¶
type SubPageTitleFunc ¶ added in v3.0.1
type SubPageTitleFunc func(ctx *web.EventContext) string
type WrapCompFunc ¶ added in v3.0.2
type WrapCompFunc func(comps h.HTMLComponents) h.HTMLComponents
Source Files
¶
Click to show internal directories.
Click to hide internal directories.