models

package
v0.0.0-...-e642a0a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2025 License: MIT Imports: 22 Imported by: 5

Documentation

Overview

Default generated models package docs (at least one file is necessary in a models package)

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

generated code - do not edit

Index

Constants

View Source
const IdentifiersDecls = `
	{{Identifier}} := (&models.{{GeneratedStructName}}{}).Stage(stage)`
View Source
const NumberInitStatement = `
	{{Identifier}}.{{GeneratedFieldName}} = {{GeneratedFieldNameValue}}`
View Source
const PointerFieldInitStatement = `
	{{Identifier}}.{{GeneratedFieldName}} = {{GeneratedFieldNameValue}}`
View Source
const ProbeFormSuffix = "-form"
View Source
const ProbeSplitSuffix = "-probe"
View Source
const ProbeTableSuffix = "-table"
View Source
const ProbeTreeSidebarSuffix = "-sidebar"
View Source
const SliceOfPointersFieldInitStatement = `
	{{Identifier}}.{{GeneratedFieldName}} = append({{Identifier}}.{{GeneratedFieldName}}, {{GeneratedFieldNameValue}})`
View Source
const StringEnumInitStatement = `
	{{Identifier}}.{{GeneratedFieldName}} = {{GeneratedFieldNameValue}}`
View Source
const StringInitStatement = `
	{{Identifier}}.{{GeneratedFieldName}} = ` + "`" + `{{GeneratedFieldNameValue}}` + "`"
View Source
const TimeInitStatement = `` /* 129-byte string literal not displayed */

Variables

This section is empty.

Functions

func AfterCreateFromFront

func AfterCreateFromFront[Type Gongstruct](stage *Stage, instance *Type)

AfterCreateFromFront is called after a create from front

func AfterDeleteFromFront

func AfterDeleteFromFront[Type Gongstruct](stage *Stage, staged, front *Type)

AfterDeleteFromFront is called after a delete from front

func AfterReadFromFront

func AfterReadFromFront[Type Gongstruct](stage *Stage, instance *Type)

AfterReadFromFront is called after a Read from front

func AfterUpdateFromFront

func AfterUpdateFromFront[Type Gongstruct](stage *Stage, old, new *Type)

AfterUpdateFromFront is called after a update from front

func CompareGongstructByName

func CompareGongstructByName[T PointerToGongstruct](a, b T) int

func CopyBranch

func CopyBranch[Type Gongstruct](from *Type) (to *Type)

CopyBranch stages instance and apply CopyBranch on all gongstruct instances that are referenced by pointers or slices of pointers of the instance

the algorithm stops along the course of graph if a vertex is already staged

func GetAssociationName

func GetAssociationName[Type Gongstruct]() *Type

GetAssociationName is a generic function that returns an instance of Type where each association is filled with an instance whose name is the name of the association

This function can be handy for generating navigation function that are refactorable

func GetFields

func GetFields[Type Gongstruct]() (res []string)

GetFields return the array of the fields

func GetFieldsFromPointer

func GetFieldsFromPointer[Type PointerToGongstruct]() (res []string)

GetFieldsFromPointer return the array of the fields

func GetGongstrucsSorted

func GetGongstrucsSorted[T PointerToGongstruct](stage *Stage) (sortedSlice []T)

func GetGongstructInstancesMap

func GetGongstructInstancesMap[Type Gongstruct](stage *Stage) *map[string]*Type

GetGongstructInstancesMap returns the map of staged GongstructType instances it is usefull because it allows refactoring of gong struct identifier

func GetGongstructInstancesSet

func GetGongstructInstancesSet[Type Gongstruct](stage *Stage) *map[*Type]any

GetGongstructInstancesSet returns the set staged GongstructType instances it is usefull because it allows refactoring of gongstruct identifier

func GetGongstructInstancesSetFromPointerType

func GetGongstructInstancesSetFromPointerType[Type PointerToGongstruct](stage *Stage) *map[Type]any

GetGongstructInstancesSetFromPointerType returns the set staged GongstructType instances it is usefull because it allows refactoring of gongstruct identifier

func GetGongstructName

func GetGongstructName[Type Gongstruct]() (res string)

GetGongstructName returns the name of the Gongstruct this can be usefull if one want program robust to refactoring

func GetNamedStructInstances

func GetNamedStructInstances[T PointerToGongstruct](set map[T]any, order map[T]uint) (res []string)

func GetOrder

func GetOrder[Type Gongstruct](stage *Stage, instance *Type) uint

func GetPointerReverseMap

func GetPointerReverseMap[Start, End Gongstruct](fieldname string, stage *Stage) map[*End][]*Start

GetPointerReverseMap allows backtrack navigation of any Start.Fieldname associations (0..1) that is a pointer from one staged Gongstruct (type Start) instances to another (type End)

The function provides a map with keys as instances of End and values to arrays of *Start the map is construed by iterating over all Start instances and populationg keys with End instances and values with slice of Start instances

func GetPointerToGongstructName

func GetPointerToGongstructName[Type PointerToGongstruct]() (res string)

GetPointerToGongstructName returns the name of the Gongstruct this can be usefull if one want program robust to refactoring

func GetReverseFieldOwner

func GetReverseFieldOwner[T Gongstruct](
	stage *Stage,
	instance *T,
	reverseField *ReverseField) (res any)

func GetReverseFieldOwnerName

func GetReverseFieldOwnerName(
	stage *Stage,
	instance any,
	reverseField *ReverseField) (res string)

func GetSliceOfPointersReverseMap

func GetSliceOfPointersReverseMap[Start, End Gongstruct](fieldname string, stage *Stage) map[*End]*Start

GetSliceOfPointersReverseMap allows backtrack navigation of any Start.Fieldname associations (0..N) between one staged Gongstruct instances and many others

The function provides a map with keys as instances of End and values to *Start instances the map is construed by iterating over all Start instances and populating keys with End instances and values with the Start instances

func GongGetMap

func GongGetMap[Type GongstructMapString](stage *Stage) *Type

GongGetMap returns the map of staged GongstructType instances it is usefull because it allows refactoring of gong struct identifier

func GongGetSet

func GongGetSet[Type GongstructSet](stage *Stage) *Type

GongGetSet returns the set staged GongstructType instances it is usefull because it allows refactoring of gong struct identifier

func IntToLetters

func IntToLetters(number int32) (letters string)

func IsStaged

func IsStaged[Type Gongstruct](stage *Stage, instance *Type) (ok bool)

func ParseAstEmbeddedFile

func ParseAstEmbeddedFile(stage *Stage, directory embed.FS, pathToFile string) error

ParseAstEmbeddedFile parses the Go source code from an embedded file specified by pathToFile within the provided embed.FS directory and stages instances declared in the file using the provided Stage.

Parameters:

stage:      The staging area to populate.
directory:  The embedded filesystem containing the file.
pathToFile: The path to the Go source file within the embedded filesystem.

Returns:

An error if reading or parsing the file fails, or if ParseAstFileFromAst fails.

func ParseAstFile

func ParseAstFile(stage *Stage, pathToFile string) error

ParseAstFile Parse pathToFile and stages all instances declared in the file

func ParseAstFileFromAst

func ParseAstFileFromAst(stage *Stage, inFile *ast.File, fset *token.FileSet) error

ParseAstFile Parse pathToFile and stages all instances declared in the file

func ReplaceOldDeclarationsInFile

func ReplaceOldDeclarationsInFile(pathToFile string) error

ReplaceOldDeclarationsInFile replaces specific text in a file at the given path.

func Serialize

func Serialize[Type Gongstruct](stage *Stage, tab Tabulator)

func SerializeExcelize

func SerializeExcelize[Type Gongstruct](stage *Stage, f *excelize.File)

func SerializeExcelizePointerToGongstruct

func SerializeExcelizePointerToGongstruct[Type PointerToGongstruct](stage *Stage, f *excelize.File)

func SerializeStage

func SerializeStage(stage *Stage, filename string)

func SetCallbackAfterCreateFromFront

func SetCallbackAfterCreateFromFront[Type Gongstruct](stage *Stage, callback OnAfterCreateInterface[Type])

func SetCallbackAfterDeleteFromFront

func SetCallbackAfterDeleteFromFront[Type Gongstruct](stage *Stage, callback OnAfterDeleteInterface[Type])

func SetCallbackAfterReadFromFront

func SetCallbackAfterReadFromFront[Type Gongstruct](stage *Stage, callback OnAfterReadInterface[Type])

func SetCallbackAfterUpdateFromFront

func SetCallbackAfterUpdateFromFront[Type Gongstruct](stage *Stage, callback OnAfterUpdateInterface[Type])

SetCallbackAfterUpdateFromFront is a function to set up callback that is robust to refactoring

func SetOrchestratorOnAfterUpdate

func SetOrchestratorOnAfterUpdate[Type Gongstruct](stage *Stage)

func SortGongstructSetByName

func SortGongstructSetByName[T PointerToGongstruct](set map[T]any) (sortedSlice []T)

func StageBranch

func StageBranch[Type Gongstruct](stage *Stage, instance *Type)

StageBranch stages instance and apply StageBranch on all gongstruct instances that are referenced by pointers or slices of pointers of the instance

the algorithm stops along the course of graph if a vertex is already staged

func UnmarshallGongstructStaging

func UnmarshallGongstructStaging(stage *Stage, cmap *ast.CommentMap, assignStmt *ast.AssignStmt, astCoordinate_ string) (
	instance any,
	identifier string,
	gongstructName string,
	fieldName string)

UnmarshallGoStaging unmarshall a go assign statement

func UnstageBranch

func UnstageBranch[Type Gongstruct](stage *Stage, instance *Type)

UnstageBranch stages instance and apply UnstageBranch on all gongstruct instances that are referenced by pointers or slices of pointers of the insance

the algorithm stops along the course of graph if a vertex is already staged

Types

type AllModelsStructCreateInterface

type AllModelsStructCreateInterface interface {
	CreateORMButton(Button *Button)
	CreateORMNode(Node *Node)
	CreateORMSVGIcon(SVGIcon *SVGIcon)
	CreateORMTree(Tree *Tree)
}

swagger:ignore

type AllModelsStructDeleteInterface

type AllModelsStructDeleteInterface interface {
	DeleteORMButton(Button *Button)
	DeleteORMNode(Node *Node)
	DeleteORMSVGIcon(SVGIcon *SVGIcon)
	DeleteORMTree(Tree *Tree)
}

type BackRepoInterface

type BackRepoInterface interface {
	Commit(stage *Stage)
	Checkout(stage *Stage)
	Backup(stage *Stage, dirPath string)
	Restore(stage *Stage, dirPath string)
	BackupXL(stage *Stage, dirPath string)
	RestoreXL(stage *Stage, dirPath string)
	// insertion point for Commit and Checkout signatures
	CommitButton(button *Button)
	CheckoutButton(button *Button)
	CommitNode(node *Node)
	CheckoutNode(node *Node)
	CommitSVGIcon(svgicon *SVGIcon)
	CheckoutSVGIcon(svgicon *SVGIcon)
	CommitTree(tree *Tree)
	CheckoutTree(tree *Tree)
	GetLastCommitFromBackNb() uint
	GetLastPushFromFrontNb() uint
}

type Button

type Button struct {
	Name string // used for indentfication of click
	Icon string // material angular icon

	// SVG Icon, overides the angular materal icon
	SVGIcon *SVGIcon

	Impl ButtonImplInterface

	IsDisabled bool

	HasToolTip      bool
	ToolTipText     string
	ToolTipPosition ToolTipPositionEnum
}

func CopyBranchButton

func CopyBranchButton(mapOrigCopy map[any]any, buttonFrom *Button) (buttonTo *Button)

insertion point for stage branch per struct

func NewButton

func NewButton(
	target Target,
	name string,
	icon string,

) *Button

Generic button creation function

func (*Button) Checkout

func (button *Button) Checkout(stage *Stage) *Button

Checkout button to the back repo (if it is already staged)

func (*Button) Commit

func (button *Button) Commit(stage *Stage) *Button

commit button to the back repo (if it is already staged)

func (*Button) CommitVoid

func (button *Button) CommitVoid(stage *Stage)

func (*Button) CopyBasicFields

func (from *Button) CopyBasicFields(to *Button)

func (*Button) GetName

func (button *Button) GetName() (res string)

for satisfaction of GongStruct interface

func (*Button) OnAfterUpdate

func (button *Button) OnAfterUpdate(stage *Stage, _, frontButton *Button)

func (*Button) Stage

func (button *Button) Stage(stage *Stage) *Button

insertion point for cumulative sub template with model space calls Stage puts button to the model stage

func (*Button) Unstage

func (button *Button) Unstage(stage *Stage) *Button

Unstage removes button off the model stage

func (*Button) UnstageVoid

func (button *Button) UnstageVoid(stage *Stage)

UnstageVoid removes button off the model stage

type ButtonImplInterface

type ButtonImplInterface interface {

	// ButtonUpdated function is called each time a Button is modified
	ButtonUpdated(tage *Stage, button, updatedButton *Button)
}

type ButtonOrchestrator

type ButtonOrchestrator struct {
}

insertion point ButtonOrchestrator

func (*ButtonOrchestrator) OnAfterUpdate

func (orchestrator *ButtonOrchestrator) OnAfterUpdate(
	gongsvgStage *Stage,
	stagedButton, backRepoButton *Button)

type ButtonProxy

type ButtonProxy struct {
	Value *bool
	// contains filtered or unexported fields
}

ButtonProxy is a generic proxy for both int and float64

func NewButtonProxy

func NewButtonProxy(
	button *Button,
	target Target,
) *ButtonProxy

NewButtonProxy creates a new proxy for a button

func (*ButtonProxy) ButtonUpdated

func (proxy *ButtonProxy) ButtonUpdated(*Stage, *Button, *Button)

Updated handles updating values when the button changes

type Button_WOP

type Button_WOP struct {
	// insertion point
	Name            string
	Icon            string
	IsDisabled      bool
	HasToolTip      bool
	ToolTipText     string
	ToolTipPosition ToolTipPositionEnum
}

insertion point

type ExcelizeTabulator

type ExcelizeTabulator struct {
	// contains filtered or unexported fields
}

func (*ExcelizeTabulator) AddCell

func (tab *ExcelizeTabulator) AddCell(sheetName string, rowId, columnIndex int, value string)

func (*ExcelizeTabulator) AddRow

func (tab *ExcelizeTabulator) AddRow(sheetName string) (rowId int)

func (*ExcelizeTabulator) AddSheet

func (tab *ExcelizeTabulator) AddSheet(sheetName string)

func (*ExcelizeTabulator) SetExcelizeFile

func (tab *ExcelizeTabulator) SetExcelizeFile(f *excelize.File)

type FontStyleEnum

type FontStyleEnum string
const (
	NORMAL FontStyleEnum = "NORMAL"
	ITALIC FontStyleEnum = "ITALIC"
)

func (FontStyleEnum) CodeValues

func (fontstyleenum FontStyleEnum) CodeValues() (res []string)

func (FontStyleEnum) Codes

func (fontstyleenum FontStyleEnum) Codes() (res []string)

func (*FontStyleEnum) FromCodeString

func (fontstyleenum *FontStyleEnum) FromCodeString(input string) (err error)

func (*FontStyleEnum) FromString

func (fontstyleenum *FontStyleEnum) FromString(input string) (err error)

func (*FontStyleEnum) ToCodeString

func (fontstyleenum *FontStyleEnum) ToCodeString() (res string)

func (FontStyleEnum) ToString

func (fontstyleenum FontStyleEnum) ToString() (res string)

insertion point of enum utility functions Utility function for FontStyleEnum if enum values are string, it is stored with the value if enum values are int, they are stored with the code of the value

type GONG__ExpressionType

type GONG__ExpressionType string

swagger:ignore

const (
	GONG__STRUCT_INSTANCE      GONG__ExpressionType = "STRUCT_INSTANCE"
	GONG__FIELD_OR_CONST_VALUE GONG__ExpressionType = "FIELD_OR_CONST_VALUE"
	GONG__FIELD_VALUE          GONG__ExpressionType = "FIELD_VALUE"
	GONG__ENUM_CAST_INT        GONG__ExpressionType = "ENUM_CAST_INT"
	GONG__ENUM_CAST_STRING     GONG__ExpressionType = "ENUM_CAST_STRING"
	GONG__IDENTIFIER_CONST     GONG__ExpressionType = "IDENTIFIER_CONST"
)

type GONG__Identifier

type GONG__Identifier struct {
	Ident string
	Type  GONG__ExpressionType
}

type GongFieldValue

type GongFieldValue struct {
	GongFieldValueType
	// contains filtered or unexported fields
}

func GetFieldStringValue

func GetFieldStringValue(instance any, fieldName string) (res GongFieldValue)

func GetFieldStringValueFromPointer

func GetFieldStringValueFromPointer(instance any, fieldName string) (res GongFieldValue)

func (*GongFieldValue) GetValueBool

func (gongValueField *GongFieldValue) GetValueBool() bool

func (*GongFieldValue) GetValueFloat

func (gongValueField *GongFieldValue) GetValueFloat() float64

func (*GongFieldValue) GetValueInt

func (gongValueField *GongFieldValue) GetValueInt() int

func (*GongFieldValue) GetValueString

func (gongValueField *GongFieldValue) GetValueString() string

type GongFieldValueType

type GongFieldValueType string
const (
	GongFieldValueTypeInt    GongFieldValueType = "GongFieldValueTypeInt"
	GongFieldValueTypeFloat  GongFieldValueType = "GongFieldValueTypeFloat"
	GongFieldValueTypeBool   GongFieldValueType = "GongFieldValueTypeBool"
	GongFieldValueTypeOthers GongFieldValueType = "GongFieldValueTypeOthers"
)

type GongStructInterface

type GongStructInterface interface {
	GetName() (res string)
}

GongStructInterface is the interface met by GongStructs It allows runtime reflexion of instances (without the hassle of the "reflect" package)

type Gongstruct

type Gongstruct interface {
}

Gongstruct is the type parameter for generated generic function that allows - access to staged instances - navigation between staged instances by going backward association links between gongstruct - full refactoring of Gongstruct identifiers / fields

type GongstructEnumIntField

type GongstructEnumIntField interface {
	int
	Codes() []string
	CodeValues() []int
}

type GongstructEnumStringField

type GongstructEnumStringField interface {
	Codes() []string
	CodeValues() []string
	ToString() string
}

type GongstructMapString

type GongstructMapString interface {
	map[any]any
}

type GongstructSet

type GongstructSet interface {
	map[any]any
}

type GongtructBasicField

type GongtructBasicField interface {
	int | float64 | bool | string | time.Time | time.Duration
}

type NamedStruct

type NamedStruct struct {
	// contains filtered or unexported fields
}

func (*NamedStruct) GetName

func (namedStruct *NamedStruct) GetName() string

type Node

type Node struct {
	Name string

	FontStyle FontStyleEnum

	// Impl is the pointer to the implementation of the node in the models of interest
	Impl NodeImplInterface

	// BackgroundColor, if zero value will have the color to default, therwise, the node
	// will have this color
	BackgroundColor string

	IsExpanded bool

	// fields related to the selection of the node by a check box
	HasCheckboxButton  bool
	IsChecked          bool
	IsCheckboxDisabled bool

	CheckboxHasToolTip      bool
	CheckboxToolTipText     string
	CheckboxToolTipPosition ToolTipPositionEnum

	// fields related to the selection of the node by a check box
	HasSecondCheckboxButton  bool
	IsSecondCheckboxChecked  bool
	IsSecondCheckboxDisabled bool
	TextAfterSecondCheckbox  string

	// in case the user wants to change the name of the node
	IsInEditMode bool

	// when the user hover on the node, it can click
	IsNodeClickable bool

	// IsWithPreceedingIcon indicates if the node have an icon preceeding the name
	IsWithPreceedingIcon bool

	// PreceedingIcon is the angular material name if [models.IsWithPreceedingIcon] is true
	PreceedingIcon string

	PreceedingSVGIcon *SVGIcon

	Children []*Node

	Buttons []*Button
}

Node is a node in the tree for selecting items to display Node implements the visual artifacts of a node (the name, the buttons, the checkbocks, ...) The font end read the fields of the node and display the node accordingly

when a user interacts with a node in front, it propagates the action to the back end and it is propagated to the [Impl] implementation. Conversly, the implementation can set the configuration of the node

func CopyBranchNode

func CopyBranchNode(mapOrigCopy map[any]any, nodeFrom *Node) (nodeTo *Node)

func (*Node) Checkout

func (node *Node) Checkout(stage *Stage) *Node

Checkout node to the back repo (if it is already staged)

func (*Node) Commit

func (node *Node) Commit(stage *Stage) *Node

commit node to the back repo (if it is already staged)

func (*Node) CommitVoid

func (node *Node) CommitVoid(stage *Stage)

func (*Node) CopyBasicFields

func (from *Node) CopyBasicFields(to *Node)

func (*Node) GetName

func (node *Node) GetName() (res string)

for satisfaction of GongStruct interface

func (*Node) OnAfterUpdate

func (node *Node) OnAfterUpdate(stage *Stage, _, frontNode *Node)

OnAfterUpdate, notice that node == stagedNode

func (*Node) Stage

func (node *Node) Stage(stage *Stage) *Node

Stage puts node to the model stage

func (*Node) Unstage

func (node *Node) Unstage(stage *Stage) *Node

Unstage removes node off the model stage

func (*Node) UnstageVoid

func (node *Node) UnstageVoid(stage *Stage)

UnstageVoid removes node off the model stage

type NodeImplInterface

type NodeImplInterface interface {

	// OnAfterUpdate function is called each time a node is modified
	OnAfterUpdate(stage *Stage, stagedNode, frontNode *Node)
}

type NodeOrchestrator

type NodeOrchestrator struct {
}

NodeOrchestrator

func (*NodeOrchestrator) OnAfterUpdate

func (orchestrator *NodeOrchestrator) OnAfterUpdate(
	gongsvgStage *Stage,
	stagedNode, backRepoNode *Node)

type Node_WOP

type Node_WOP struct {
	// insertion point
	Name                     string
	FontStyle                FontStyleEnum
	BackgroundColor          string
	IsExpanded               bool
	HasCheckboxButton        bool
	IsChecked                bool
	IsCheckboxDisabled       bool
	CheckboxHasToolTip       bool
	CheckboxToolTipText      string
	CheckboxToolTipPosition  ToolTipPositionEnum
	HasSecondCheckboxButton  bool
	IsSecondCheckboxChecked  bool
	IsSecondCheckboxDisabled bool
	TextAfterSecondCheckbox  string
	IsInEditMode             bool
	IsNodeClickable          bool
	IsWithPreceedingIcon     bool
	PreceedingIcon           string
}

type OnAfterCreateInterface

type OnAfterCreateInterface[Type Gongstruct] interface {
	OnAfterCreate(stage *Stage,
		instance *Type)
}

OnAfterCreateInterface callback when an instance is updated from the front

type OnAfterDeleteInterface

type OnAfterDeleteInterface[Type Gongstruct] interface {
	OnAfterDelete(stage *Stage,
		staged, front *Type)
}

OnAfterDeleteInterface callback when an instance is updated from the front

type OnAfterReadInterface

type OnAfterReadInterface[Type Gongstruct] interface {
	OnAfterRead(stage *Stage,
		instance *Type)
}

OnAfterReadInterface callback when an instance is updated from the front

type OnAfterUpdateInterface

type OnAfterUpdateInterface[Type Gongstruct] interface {
	OnAfterUpdate(stage *Stage, old, new *Type)
}

OnAfterUpdateInterface callback when an instance is updated from the front

type OnInitCommitInterface

type OnInitCommitInterface interface {
	BeforeCommit(stage *Stage)
}

type PointerToGongstruct

type PointerToGongstruct interface {
	GetName() string
	CommitVoid(*Stage)
	UnstageVoid(stage *Stage)
	comparable
}

Gongstruct is the type parameter for generated generic function that allows - access to staged instances - navigation between staged instances by going backward association links between gongstruct - full refactoring of Gongstruct identifiers / fields

type PointerToGongstructEnumIntField

type PointerToGongstructEnumIntField interface {
	FromCodeString(input string) (err error)
}

type PointerToGongstructEnumStringField

type PointerToGongstructEnumStringField interface {
	FromCodeString(input string) (err error)
}

type ReverseField

type ReverseField struct {
	GongstructName string
	Fieldname      string
}

func GetReverseFields

func GetReverseFields[Type Gongstruct]() (res []ReverseField)

type SVGIcon

type SVGIcon struct {
	//gong:width 600
	Name string

	//gong:width 600 gong:height 300
	SVG string
}

SVGIcon allows for the usage of custom icon in nodes / buttons

func CopyBranchSVGIcon

func CopyBranchSVGIcon(mapOrigCopy map[any]any, svgiconFrom *SVGIcon) (svgiconTo *SVGIcon)

func (*SVGIcon) Checkout

func (svgicon *SVGIcon) Checkout(stage *Stage) *SVGIcon

Checkout svgicon to the back repo (if it is already staged)

func (*SVGIcon) Commit

func (svgicon *SVGIcon) Commit(stage *Stage) *SVGIcon

commit svgicon to the back repo (if it is already staged)

func (*SVGIcon) CommitVoid

func (svgicon *SVGIcon) CommitVoid(stage *Stage)

func (*SVGIcon) CopyBasicFields

func (from *SVGIcon) CopyBasicFields(to *SVGIcon)

func (*SVGIcon) GetName

func (svgicon *SVGIcon) GetName() (res string)

for satisfaction of GongStruct interface

func (*SVGIcon) Stage

func (svgicon *SVGIcon) Stage(stage *Stage) *SVGIcon

Stage puts svgicon to the model stage

func (*SVGIcon) Unstage

func (svgicon *SVGIcon) Unstage(stage *Stage) *SVGIcon

Unstage removes svgicon off the model stage

func (*SVGIcon) UnstageVoid

func (svgicon *SVGIcon) UnstageVoid(stage *Stage)

UnstageVoid removes svgicon off the model stage

type SVGIcon_WOP

type SVGIcon_WOP struct {
	// insertion point
	Name string
	SVG  string
}

type Stage

type Stage struct {

	// insertion point for definition of arrays registering instances
	Buttons           map[*Button]any
	Buttons_mapString map[string]*Button

	// insertion point for slice of pointers maps
	OnAfterButtonCreateCallback OnAfterCreateInterface[Button]
	OnAfterButtonUpdateCallback OnAfterUpdateInterface[Button]
	OnAfterButtonDeleteCallback OnAfterDeleteInterface[Button]
	OnAfterButtonReadCallback   OnAfterReadInterface[Button]

	Nodes           map[*Node]any
	Nodes_mapString map[string]*Node

	// insertion point for slice of pointers maps
	Node_Children_reverseMap map[*Node]*Node

	Node_Buttons_reverseMap map[*Button]*Node

	OnAfterNodeCreateCallback OnAfterCreateInterface[Node]
	OnAfterNodeUpdateCallback OnAfterUpdateInterface[Node]
	OnAfterNodeDeleteCallback OnAfterDeleteInterface[Node]
	OnAfterNodeReadCallback   OnAfterReadInterface[Node]

	SVGIcons           map[*SVGIcon]any
	SVGIcons_mapString map[string]*SVGIcon

	// insertion point for slice of pointers maps
	OnAfterSVGIconCreateCallback OnAfterCreateInterface[SVGIcon]
	OnAfterSVGIconUpdateCallback OnAfterUpdateInterface[SVGIcon]
	OnAfterSVGIconDeleteCallback OnAfterDeleteInterface[SVGIcon]
	OnAfterSVGIconReadCallback   OnAfterReadInterface[SVGIcon]

	Trees           map[*Tree]any
	Trees_mapString map[string]*Tree

	// insertion point for slice of pointers maps
	Tree_RootNodes_reverseMap map[*Node]*Tree

	OnAfterTreeCreateCallback OnAfterCreateInterface[Tree]
	OnAfterTreeUpdateCallback OnAfterUpdateInterface[Tree]
	OnAfterTreeDeleteCallback OnAfterDeleteInterface[Tree]
	OnAfterTreeReadCallback   OnAfterReadInterface[Tree]

	AllModelsStructCreateCallback AllModelsStructCreateInterface

	AllModelsStructDeleteCallback AllModelsStructDeleteInterface

	BackRepo BackRepoInterface

	// if set will be called before each commit to the back repo
	OnInitCommitCallback          OnInitCommitInterface
	OnInitCommitFromFrontCallback OnInitCommitInterface
	OnInitCommitFromBackCallback  OnInitCommitInterface

	// store the number of instance per gongstruct
	Map_GongStructName_InstancesNb map[string]int

	// store meta package import
	MetaPackageImportPath  string
	MetaPackageImportAlias string

	// to be removed after fix of [issue](https://github.com/golang/go/issues/57559)
	// map to enable docLink renaming when an identifier is renamed
	Map_DocLink_Renaming map[string]GONG__Identifier

	// store the stage order of each instance in order to
	// preserve this order when serializing them
	// insertion point for order fields declaration
	ButtonOrder            uint
	ButtonMap_Staged_Order map[*Button]uint

	NodeOrder            uint
	NodeMap_Staged_Order map[*Node]uint

	SVGIconOrder            uint
	SVGIconMap_Staged_Order map[*SVGIcon]uint

	TreeOrder            uint
	TreeMap_Staged_Order map[*Tree]uint

	NamedStructs []*NamedStruct
	// contains filtered or unexported fields
}

Stage enables storage of staged instances swagger:ignore

func NewStage

func NewStage(name string) (stage *Stage)

func (*Stage) Backup

func (stage *Stage) Backup(dirPath string)

backup generates backup files in the dirPath

func (*Stage) BackupXL

func (stage *Stage) BackupXL(dirPath string)

backup generates backup files in the dirPath

func (*Stage) Checkout

func (stage *Stage) Checkout()

func (*Stage) Commit

func (stage *Stage) Commit()

func (*Stage) CommitWithSuspendedCallbacks

func (stage *Stage) CommitWithSuspendedCallbacks()

func (*Stage) ComputeReverseMaps

func (stage *Stage) ComputeReverseMaps()

ComputeReverseMaps computes the reverse map, for all intances, for all slice to pointers field Its complexity is in O(n)O(p) where p is the number of pointers

func (*Stage) GetDigramsEmbededDir

func (stage *Stage) GetDigramsEmbededDir() embed.FS

func (*Stage) GetMap_GongStructName_InstancesNb

func (stage *Stage) GetMap_GongStructName_InstancesNb() map[string]int

func (*Stage) GetModelsEmbededDir

func (stage *Stage) GetModelsEmbededDir() embed.FS

func (*Stage) GetName

func (stage *Stage) GetName() string

func (*Stage) GetNamedStructNamesByOrder

func (stage *Stage) GetNamedStructNamesByOrder(namedStructName string) (res []string)

func (*Stage) GetNamedStructsNames

func (stage *Stage) GetNamedStructsNames() (res []string)

GetNamedStructs implements models.ProbebStage.

func (*Stage) GetProbeFormStageName

func (stage *Stage) GetProbeFormStageName() string

func (*Stage) GetProbeSplitStageName

func (stage *Stage) GetProbeSplitStageName() string

func (*Stage) GetProbeTableStageName

func (stage *Stage) GetProbeTableStageName() string

func (*Stage) GetProbeTreeSidebarStageName

func (stage *Stage) GetProbeTreeSidebarStageName() string

func (*Stage) GetType

func (stage *Stage) GetType() string

func (*Stage) IsStagedButton

func (stage *Stage) IsStagedButton(button *Button) (ok bool)

insertion point for stage per struct

func (*Stage) IsStagedNode

func (stage *Stage) IsStagedNode(node *Node) (ok bool)

func (*Stage) IsStagedSVGIcon

func (stage *Stage) IsStagedSVGIcon(svgicon *SVGIcon) (ok bool)

func (*Stage) IsStagedTree

func (stage *Stage) IsStagedTree(tree *Tree) (ok bool)

func (*Stage) Marshall

func (stage *Stage) Marshall(file *os.File, modelsPackageName, packageName string)

Marshall marshall the stage content into the file as an instanciation into a stage

func (*Stage) Nil

func (stage *Stage) Nil()

func (*Stage) Reset

func (stage *Stage) Reset()

func (*Stage) Restore

func (stage *Stage) Restore(dirPath string)

Restore resets Stage & BackRepo and restores their content from the restore files in dirPath

func (*Stage) RestoreXL

func (stage *Stage) RestoreXL(dirPath string)

Restore resets Stage & BackRepo and restores their content from the restore files in dirPath

func (*Stage) StageBranchButton

func (stage *Stage) StageBranchButton(button *Button)

insertion point for stage branch per struct

func (*Stage) StageBranchNode

func (stage *Stage) StageBranchNode(node *Node)

func (*Stage) StageBranchSVGIcon

func (stage *Stage) StageBranchSVGIcon(svgicon *SVGIcon)

func (*Stage) StageBranchTree

func (stage *Stage) StageBranchTree(tree *Tree)

func (*Stage) Unstage

func (stage *Stage) Unstage()

func (*Stage) UnstageBranchButton

func (stage *Stage) UnstageBranchButton(button *Button)

insertion point for unstage branch per struct

func (*Stage) UnstageBranchNode

func (stage *Stage) UnstageBranchNode(node *Node)

func (*Stage) UnstageBranchSVGIcon

func (stage *Stage) UnstageBranchSVGIcon(svgicon *SVGIcon)

func (*Stage) UnstageBranchTree

func (stage *Stage) UnstageBranchTree(tree *Tree)

type Tabulator

type Tabulator interface {
	AddSheet(sheetName string)
	AddRow(sheetName string) int
	AddCell(sheetName string, rowId, columnIndex int, value string)
}

Tabulator is an interface for writing to a table strings

type Target

type Target interface {
	OnAfterUpdateButton()
	GetButtonsStage() *Stage
}

type ToolTipPositionEnum

type ToolTipPositionEnum string
const (
	Below ToolTipPositionEnum = "below"
	Above ToolTipPositionEnum = "above"
	Left  ToolTipPositionEnum = "left"
	Right ToolTipPositionEnum = "right"
)

func (ToolTipPositionEnum) CodeValues

func (tooltippositionenum ToolTipPositionEnum) CodeValues() (res []string)

func (ToolTipPositionEnum) Codes

func (tooltippositionenum ToolTipPositionEnum) Codes() (res []string)

func (*ToolTipPositionEnum) FromCodeString

func (tooltippositionenum *ToolTipPositionEnum) FromCodeString(input string) (err error)

func (*ToolTipPositionEnum) FromString

func (tooltippositionenum *ToolTipPositionEnum) FromString(input string) (err error)

func (*ToolTipPositionEnum) ToCodeString

func (tooltippositionenum *ToolTipPositionEnum) ToCodeString() (res string)

func (ToolTipPositionEnum) ToString

func (tooltippositionenum ToolTipPositionEnum) ToString() (res string)

Utility function for ToolTipPositionEnum if enum values are string, it is stored with the value if enum values are int, they are stored with the code of the value

type Tree

type Tree struct {
	Name string

	RootNodes []*Node
}

Tree is a tree of nodes for selecting items to display

func CopyBranchTree

func CopyBranchTree(mapOrigCopy map[any]any, treeFrom *Tree) (treeTo *Tree)

func (*Tree) Checkout

func (tree *Tree) Checkout(stage *Stage) *Tree

Checkout tree to the back repo (if it is already staged)

func (*Tree) Commit

func (tree *Tree) Commit(stage *Stage) *Tree

commit tree to the back repo (if it is already staged)

func (*Tree) CommitVoid

func (tree *Tree) CommitVoid(stage *Stage)

func (*Tree) CopyBasicFields

func (from *Tree) CopyBasicFields(to *Tree)

func (*Tree) GetName

func (tree *Tree) GetName() (res string)

for satisfaction of GongStruct interface

func (*Tree) Stage

func (tree *Tree) Stage(stage *Stage) *Tree

Stage puts tree to the model stage

func (*Tree) Unstage

func (tree *Tree) Unstage(stage *Stage) *Tree

Unstage removes tree off the model stage

func (*Tree) UnstageVoid

func (tree *Tree) UnstageVoid(stage *Stage)

UnstageVoid removes tree off the model stage

type TreeStackName

type TreeStackName string

TreeStackName - Authorized name for form group

const (
	TreeStackDefaultName TreeStackName = "Tree"
)

values for TableName

func (TreeStackName) CodeValues

func (treestackname TreeStackName) CodeValues() (res []string)

func (TreeStackName) Codes

func (treestackname TreeStackName) Codes() (res []string)

func (*TreeStackName) FromCodeString

func (treestackname *TreeStackName) FromCodeString(input string) (err error)

func (*TreeStackName) FromString

func (treestackname *TreeStackName) FromString(input string) (err error)

func (*TreeStackName) ToCodeString

func (treestackname *TreeStackName) ToCodeString() (res string)

func (TreeStackName) ToString

func (treestackname TreeStackName) ToString() (res string)

Utility function for TreeStackName if enum values are string, it is stored with the value if enum values are int, they are stored with the code of the value

type Tree_WOP

type Tree_WOP struct {
	// insertion point
	Name string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL