Documentation ¶
Index ¶
- Constants
- Variables
- type Constraint
- type ConstraintValue
- type Data
- type DataDef
- type DataDefType
- type DataPath
- func (path DataPath) Contains(val string) bool
- func (path DataPath) Lookup(data json.RawMessage) (json.RawMessage, error)
- func (path DataPath) LookupMulti(data json.RawMessage, separator string) ([]json.RawMessage, error)
- func (path DataPath) LookupNoQuotes(data json.RawMessage) (json.RawMessage, error)
- func (path *DataPath) String() string
- type DataType
- type EmptyConstraintValueError
- type GetDataRequests
- type MalformedConstraintValueError
- type NoDataFound
- type NoDefError
- type NoStepsError
- type ObjectDef
- type ObjectDefs
- type Select
- type SelectType
Constants ¶
const (
DefaultDataHeight = 500
)
Non iota constants
Variables ¶
var ( // DefaultListboxDef object definitions for listbox DefaultListboxDef = ObjectDef{ DataDef{DataDefListObject, "/qListObject"}, []Data{ { Requests: []GetDataRequests{ {DataTypeListObject, "/qListObjectDef", DefaultDataHeight}, }, }, }, &Select{SelectTypeListObjectValues, "/qListObjectDef"}, } // DefaultFilterpane object definitions for DefaultFilterpane = ObjectDef{ DataDef{DataDefNoData, ""}, nil, nil, } // DefaultBarchart object definitions for barchart DefaultBarchart = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ {DataTypeHyperCubeReducedData, "/qHyperCubeDef", DefaultDataHeight}, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultScatterplot object definitions for scatterplot DefaultScatterplot = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { &Constraint{ Path: "/qHyperCube/qSize/qcy", Value: ">1000", Required: true, }, []GetDataRequests{ { Type: DataTypeHyperCubeBinnedData, Path: "/qHyperCubeDef", }, }, }, { Requests: []GetDataRequests{ { DataTypeHyperCubeData, "/qHyperCubeDef", 1000, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultMap object definitions for map DefaultMap = ObjectDef{ DataDef{DataDefHyperCube, "/qUndoExclude/gaLayers/[0]/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qUndoExclude/gaLayers/0/qHyperCubeDef"}, } // DefaultCombochart object definitions for combochart DefaultCombochart = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultTable object definitions for table DefaultTable = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { DataTypeHyperCubeDataColumns, "/qHyperCubeDef", 40, }, }, }, }, &Select{SelectTypeHypercubeColumnValues, "/qHyperCubeDef"}, } // DefaultPivotTable object definitions for pivot-table DefaultPivotTable = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultLinechart object definitions for linechart DefaultLinechart = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { &Constraint{ Path: "/dimensionAxis/continuousAuto", Value: "=true", Required: false, }, []GetDataRequests{ { Type: DataTypeHyperCubeContinuousData, Path: "/qHyperCubeDef", }, }, }, { Requests: []GetDataRequests{ { Type: DataTypeHyperCubeReducedData, Path: "/qHyperCubeDef", }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultPiechart object definitions for piechart DefaultPiechart = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultTreemap object definitions for treemap DefaultTreemap = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultMekkoChart object definitions for mekkochart DefaultMekkoChart = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{SelectTypeHypercubeValues, "/qHyperCubeDef"}, } // DefaultTextImage object definitions for text-image DefaultTextImage = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } // DefaultKpi object definitions for kpi DefaultKpi = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } // DefaultGauge object definitions for gauge DefaultGauge = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } // DefaultBoxplot object definitions for boxplot DefaultBoxplot = ObjectDef{ DataDef{DataDefHyperCube, "/qUndoExclude/box/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeHyperCubeData, Path: "/qUndoExclude/box/qHyperCubeDef", }, { Type: DataTypeHyperCubeStackData, Path: "/qUndoExclude/outliers/qHyperCubeDef", }, }, }, }, &Select{SelectTypeHypercubeValues, "/qUndoExclude/box/qHyperCubeDef"}, } // DefaultDistributionplot object definitions for distributionplot DefaultDistributionplot = ObjectDef{ DataDef{DataDefHyperCube, "/qUndoExclude/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeHyperCubeStackData, Path: "/qUndoExclude/qHyperCubeDef", }, }, }, }, &Select{SelectTypeHypercubeValues, "/qUndoExclude/qHyperCubeDef"}, } // DefaultHistogram object definitions for histogram DefaultHistogram = ObjectDef{ DataDef{DataDefHyperCube, "/qUndoExclude/box/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeHyperCubeData, Path: "/qUndoExclude/box/qHyperCubeDef", }, }, }, }, &Select{SelectTypeHypercubeValues, "/qUndoExclude/box/qHyperCubeDef"}, } // DefaultWaterfallChart object definitions for waterfallchart DefaultWaterfallChart = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } // DefaultQlikFunnelChartExt object definitions for qlik-funnel-chart-ext DefaultQlikFunnelChartExt = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } // DefaultQlikSankeyChartExt object definitions for qlik-sankey-chart-ext DefaultQlikSankeyChartExt = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } // Default object definitions for qlik-word-cloud DefaultQlikWordCloud = ObjectDef{ DataDef{DataDefHyperCube, "/qHyperCube"}, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultQlikRadarChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultQlikBulletChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } DefaultBulletChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultQlikBarplusChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultQlikMultiKPIChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } DefaultQlikNetworkChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultQlikHeatmapChart = ObjectDef{ DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, nil, } DefaultSNOrgChart = ObjectDef{ DataDef: DataDef{ Type: DataDefHyperCube, Path: "/qHyperCube", }, Data: []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, Select: &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultSheet = ObjectDef{ DataDef: DataDef{ Type: DataDefNoData, }, Data: []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, Select: nil, } DataDef{ Type: DataDefHyperCube, Path: "/qHyperCubeDef", }, []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, &Select{ Type: SelectTypeHypercubeValues, Path: "/qHyperCubeDef", }, } DefaultActionButton = ObjectDef{ DataDef: DataDef{ Type: DataDefNoData, }, Data: []Data{ { Requests: []GetDataRequests{ { Type: DataTypeLayout, }, }, }, }, Select: nil, } DefaultObjectDefs = ObjectDefs{ "listbox": &DefaultListboxDef, "filterpane": &DefaultFilterpane, "barchart": &DefaultBarchart, "scatterplot": &DefaultScatterplot, "map": &DefaultMap, "combochart": &DefaultCombochart, "table": &DefaultTable, "pivot-table": &DefaultPivotTable, "linechart": &DefaultLinechart, "piechart": &DefaultPiechart, "treemap": &DefaultTreemap, "text-image": &DefaultTextImage, "kpi": &DefaultKpi, "gauge": &DefaultGauge, "boxplot": &DefaultBoxplot, "distributionplot": &DefaultDistributionplot, "histogram": &DefaultHistogram, "waterfallchart": &DefaultWaterfallChart, "qlik-funnel-chart-ext": &DefaultQlikFunnelChartExt, "qlik-sankey-chart-ext": &DefaultQlikSankeyChartExt, "qlik-word-cloud": &DefaultQlikWordCloud, "mekkochart": &DefaultMekkoChart, "qlik-radar-chart": &DefaultQlikRadarChart, "qlik-bullet-chart": &DefaultQlikBulletChart, "bulletchart": &DefaultBulletChart, "qlik-barplus-chart": &DefaultQlikBarplusChart, "qlik-multi-kpi": &DefaultQlikMultiKPIChart, "qlik-network-chart": &DefaultQlikNetworkChart, "qlik-heatmap-chart": &DefaultQlikHeatmapChart, "sn-org-chart": &DefaultSNOrgChart, "sheet": &DefaultSheet, "odag-toolbar-navpoint": &DefaultOdagToolbarNavpoint, "action-button": &DefaultActionButton, } )
Functions ¶
This section is empty.
Types ¶
type Constraint ¶
type Constraint struct { // Path to value to evaluate Path DataPath `json:"path"` // Value constraint definition, first character must be <,>,= or ! // followed by number or the words true/false Value ConstraintValue `json:"value"` // Required require constraint to evaluate, error if evaluation fails Required bool `json:"required,omitempty"` // contains filtered or unexported fields }
Constraint defining if to send get data requests
func (*Constraint) Evaluate ¶
func (constraint *Constraint) Evaluate(data json.RawMessage) (bool, error)
Evaluate constraint value in data
type ConstraintValue ¶
type ConstraintValue string
ConstraintValue value to evaluate. First character needs to be one of [<,>,=,!], followed by a number or one of the words [true,false]
type Data ¶
type Data struct { // Constraint constraint defining if to send requests Constraint *Constraint `json:"constraint,omitempty"` // Requests List of data requests to send Requests []GetDataRequests `json:"requests,omitempty"` }
Data Get data definitions
type DataDef ¶
type DataDef struct { // Type of data Type DataDefType `json:"type"` // Path to data carrier Path DataPath `json:"path,omitempty"` }
DataDef type of data and path to data carrier
type DataDefType ¶
type DataDefType int
DataDefType type of data definition, e.g. ListObject or HyperCube
const ( // DataDefUnknown unknown data definition type DataDefUnknown DataDefType = iota // DataDefListObject ListObject data carrier DataDefListObject // DataDefHyperCube HyperCube data carrier DataDefHyperCube // DataDefNoData object contains no data carrier DataDefNoData )
When adding DataDefType, also: * add entry in dataDefTypeEnum
func (DataDefType) MarshalJSON ¶
func (d DataDefType) MarshalJSON() ([]byte, error)
MarshalJSON marshal DataFuncType
func (DataDefType) String ¶
func (d DataDefType) String() string
String representation of DataDefType
func (*DataDefType) UnmarshalJSON ¶
func (d *DataDefType) UnmarshalJSON(arg []byte) error
UnmarshalJSON unmarshal DataDefType
type DataPath ¶
type DataPath string
DataPath string which can be return as substring splitted on / (slash)
func (DataPath) Lookup ¶
func (path DataPath) Lookup(data json.RawMessage) (json.RawMessage, error)
Lookup object in path, if data found is of type string it will be quoted with ""
func (DataPath) LookupMulti ¶
func (path DataPath) LookupMulti(data json.RawMessage, separator string) ([]json.RawMessage, error)
LookupMulti objects with subpaths under an array in a path
func (DataPath) LookupNoQuotes ¶
func (path DataPath) LookupNoQuotes(data json.RawMessage) (json.RawMessage, error)
Lookup object in path, data of type string will not be quoted
type DataType ¶
type DataType int
DataType Get Data function type
const ( // DataTypeLayout get data from layout DataTypeLayout DataType = iota // DataTypeListObject get data from listobject data DataTypeListObject // HyperCubeData get data from hypercube DataTypeHyperCubeData // DataTypeHyperCubeDataColumns DataTypeHyperCubeDataColumns // HyperCubeReducedData get hypercube reduced data DataTypeHyperCubeReducedData // DataTypeHyperCubeBinnedData get hypercube binned data DataTypeHyperCubeBinnedData // DataTypeHyperCubeStackData get hypercube stacked data DataTypeHyperCubeStackData // DataTypeHyperCubeContinuousData get hypercube continuous data DataTypeHyperCubeContinuousData )
When adding DataType, also: * add entry in dataTypeEnum
func (DataType) MarshalJSON ¶
MarshalJSON marshal DataType
func (*DataType) UnmarshalJSON ¶
UnmarshalJSON unmarshal DataType
type EmptyConstraintValueError ¶
type EmptyConstraintValueError struct{}
EmptyConstraintValueError ConstraintValue is empty
func (EmptyConstraintValueError) Error ¶
func (err EmptyConstraintValueError) Error() string
Error constraint value is empty
type GetDataRequests ¶
type GetDataRequests struct { // Type of data function Type DataType `json:"type"` // Path for get data function Path string `json:"path,omitempty"` // Height of data to get in GetData Height int `json:"height,omitempty"` }
GetDataRequests data requests to send
func (GetDataRequests) MaxHeight ¶
func (data GetDataRequests) MaxHeight() int
MaxHeight max data to get
type MalformedConstraintValueError ¶
type MalformedConstraintValueError ConstraintValue
MalformedConstraintValueError ConstraintValue is malformed
func (MalformedConstraintValueError) Error ¶
func (err MalformedConstraintValueError) Error() string
Error ConstraintValue is malformed
type ObjectDef ¶
type ObjectDef struct { // DataDef type of data and path to data carrier DataDef DataDef `json:"datadef,omitempty"` // Data Get data definitions Data []Data `json:"data,omitempty"` // Select definitions for selecting in object Select *Select `json:"select,omitempty"` }
ObjectDef object definitions
func GetObjectDef ¶
GetObjectDef get definitions for object type (using default config)
func (*ObjectDef) Evaluate ¶
func (def *ObjectDef) Evaluate(data json.RawMessage) ([]GetDataRequests, error)
Evaluate which constraint section applies
type ObjectDefs ¶
ObjectDefs contains how to find and select data within sense objects
func OverrideFromFile ¶
func OverrideFromFile(cfgFile string) (ObjectDefs, error)
OverrideFromFile read config from file (using default config)
func (ObjectDefs) GetObjectDef ¶
func (defs ObjectDefs) GetObjectDef(object string) (*ObjectDef, error)
GetObjectDef get definitions for object type
func (ObjectDefs) OverrideFromFile ¶
func (defs ObjectDefs) OverrideFromFile(cfgFile string) error
FromFile read config from file
type Select ¶
type Select struct { // Type of select function Type SelectType `json:"type"` // Path to use for selection Path string `json:"path,omitempty"` }
Select definitions for selecting in object
type SelectType ¶
type SelectType int
SelectType select function type
const ( // SelectTypeUnknown unknown select func (default int) SelectTypeUnknown SelectType = iota // SelectTypeListObjectValues use SelectListObjectValues method SelectTypeListObjectValues // SelectTypeHypercubeValues use SelectHyperCubeValues method SelectTypeHypercubeValues // SelectTypeHypercubeColumnValues each dimension is a data page SelectTypeHypercubeColumnValues )
When adding SelectType, also: * add entry in selectTypeEnum
func (SelectType) MarshalJSON ¶
func (t SelectType) MarshalJSON() ([]byte, error)
MarshalJSON marshal SelectType
func (*SelectType) UnmarshalJSON ¶
func (t *SelectType) UnmarshalJSON(arg []byte) error
UnmarshalJSON unmarshal SelectType