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) Editor ¶
func (b *Builder) Editor(m *ModelBuilder) web.PageFunc
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.