Skip to main content
Version: Next 🚧

App

Contains all the CCApp informations

Computed values​

customizationJson​

Get the customization json object

info

By default the custom json is empty

Usage​

const json = inject(AppStore).customizationJson;
// Output: {}

sources​

Get the sources's customizations object.
This configuration is pre-configured in Sinequa 11.12+.

caution

Available only in Sinequa 11.12+

Sources configuration extract
{
"sources": {
"collection": {
"/test/legifrance/": {
"iconClass": "fa-kit fa-legifrance"
},
"/web/wiki2/": {
"iconClass": "fas fa-box-archive"
}
},
"source": {
"sinequa": {
"iconClass": "fa-kit fa-sinequa"
},
"web": {
"iconClass": "fab fa-chrome"
}
},
"connector": {
"confluence.v6.rest": {
"iconClass": "fa-brands fa-confluence"
},
"confluence.v7.rest": {
"iconPath": "/r/confluence.png"
},
"crawler2": {
"iconClass": "fas fa-champagne-glasses"
}
}
}
}

Usage​

const json = inject(AppStore).sources;

filters​

Get the filters's configuration object.

caution

Available only in Sinequa 11.12+

{
"filters": [
{ "column": "geo", "icon": "fa-solid fa-earth-europe", "hidden": false }
]
}

Usage​

const json = inject(AppStore).filters;

Basic features​

initialize()​

Initializes the application state by fetching the app data from the appService and updating the store with the retrieved data.

initialize(): Promise<void>
warning

This method must be called just after the login step because you need to be authenticated first.

initializeWithAppName()​

Initializes the application state with the provided app name.

initializeWithAppName(appName: string): Promise<void>
ParameterTypeDescription
appNamestringThe name of the application to fetch the configuration for.

update()​

Updates the application state with the provided CCApp object.

update(app: Partial<CCAppState>): void
parametertypedescription
appPartial<CCAppState>The partial application state to merge into the store.

getColumn()​

Retrieves a column definition from the application's state schema by its name.

Returns The column definition as a CCColumn object if found, or undefined if the column does not exist.

getColumn(column: string): CCColumn | undefined
parametertypedescription
columnstringThe name of the column to retrieve.

getColumnAlias()​

Retrieves the alias of a column from the store.

Returns The alias of the specified column, or the column name if no alias is found.

getColumnAlias(column: string): string
parametertypedescription
columnstringThe name of the column for which to retrieve the alias.

Usage​

const alias = inject(AppStore).getColumnAlias("geo");
// Output: "geo"

isDateColumn()​

Determines if the specified column is of a date-related type.

Returns true if the column is of a date-related type otherwise false.

isDateColumn(column: string): boolean
parametertypedescription
columnstringThe name of the column to check.
note

This method checks if the column's type matches one of the following:

  • EngineType.date
  • EngineType.dateTime
  • EngineType.time

Usage​

is-date-column.ts
const isDate = inject(AppStore).isDateColumn("created");
// Output: true if the column type is date, dateTime, or time

isTabSearch()​

Determines if the specified query has a tab search configuration. Returns true if the query has a tab search configuration, otherwise false.

isTabSearch(queryName: string): boolean
parametertypedescription
queryNamestringThe name of the query to check for tab search configuration.

getAggregationCount()​

Retrieves the count of items in the specified aggregation. Defaults to 10 if not defined.

getAggregationCount(queryName: string | undefined, aggregationName: string): number
parametertypedescription
queryNamestring | undefinedThe name of the query to retrieve the aggregation count for. Returns 10 when undefined.
aggregationNamestringThe name of the aggregation to retrieve the count for.

getAuthorizedFilters()​

Retrieves the sorted aggregations based on the query name included in the route data.

Returns an array of sorted aggregations.

getAuthorizedFilters(): Aggregation[]

Usage​

const aggregations = inject(AppStore).getAuthorizedFilters();
// Output: [{ column: "geo", icon: "fa-solid fa-earth-europe", hidden: false }]

getAuthorized()​

Returns the subset of authorized filters that match the provided filters.

getAuthorized(filters: {name: string, column: string}[]): Aggregation[]

Usage​

const filters = [
{ name: "geo", column: "geo" },
{ name: "company", column: "company" }
];
const authorized = inject(AppStore).getAuthorized(filters);

Customization features​

Customization JSON files​

NameDescription
customizationJsonRetrieves the customization JSON object from the store.
sourcesReturns the sources customization object.
filtersReturns the filters customization object.
generalReturns the general customization object.
assistantsReturns the assistants customization object.
agentsReturns the agents customization object.

getNamedCustomizationJson()​

Retrieves the customization json by name

Returns The customization json object or undefined if not found

caution

Available only in Sinequa 11.12+

getNamedCustomizationJson(name: string): any
parametertypedescription
namestringThe name of the customization json.

Usage​

const json = inject(AppStore).getNamedCustomizationJson("routes");

Web Services features​

getWebServiceByType()​

Returns the web service object if found, otherwise undefined.

getWebServiceByType(type: CCWebService['webServiceType']): CCWebService | undefined
parametertypedescription
typeCCWebService['webServiceType']Web service type name.
info

CCWebService['webServiceType'] is as special type to allow autocomplete.

Value can be 'Autocomplete' | 'DataSets' | 'Labels' | 'Preview' | 'Query' | 'queryexport' | 'sponsoredlinks'

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

const preview = inject(AppStore).getWebServiceByType('Preview');
}

Labels features​

getLabels()​

Retrieves the private and public labels from the web service.

Returns An object { private: string, public: string } containing the private and public labels.
If the labels are not found, returns an object with empty strings for both fields.

getLabels(): { private: string, public: string }

allowLabels()​

Checks if the labels web service is available.

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

labels = inject(AppStore).getLabels();
// { private: '...', public: '...'}
}

Queries features​

getQueryByName()​

Retrieves a query by its name from the store.

Returns The CCQuery object if found, otherwise undefined.

getQueryByName(name: string): CCQuery | undefined
parametertypedescription
namestringThe name of the query to retrieve.

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

query: CCQuery = inject(AppStore).getQueryByName('_query');
}

getQueryByIndex()​

Retrieves a query by its index from the store.

Returns The query object if found, otherwise undefined.

getQueryByIndex(index: number): CCQuery | undefined
parametertypedescription
indexnumberThe index of the query to retrieve.

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

query: CCQuery = inject(AppStore).getQueryByIndex(0);
// returns the default query set in the Sinequa administration
}

getDefaultQuery()​

Retrieves the default query.

Returns the default CCQuery if it exists, otherwise undefined.

getDefaultQuery(): CCQuery | undefined
important

The default query is always the first query in the list of queries.

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

query: CCQuery = inject(AppStore).getDefaultQuery();
// returns the default query set in the Sinequa administration
}
tip

This is a convenient way instead of getQueryNameByIndex(0)

allowEmptySearch()​

Retrieves the allowEmptySearch flag for a specific query.

Returns The allowEmptySearch value for the specified query, or false if not found.

allowEmptySearch(queryName: string): boolean
parametertypedescription
queryNamestringThe name of the query for which to retrieve allow empty search flag.

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

allowEmptySearch: boolean = inject(AppStore).allowEmptySearch('_query');
// returns true or false depending the flag set in Sinequa Administration
}

enableFieldedSearch()​

Retrieves the enableFieldedSearch flag for a specific query.

Returns the enableFieldedSearch value for the specified query, or false if not found.

enableFieldedSearch(queryName: string): boolean
parametertypedescription
queryNamestringThe name of the query for which to retrieve the enable fielded search flag.

Usage​

some-component.ts
@Component({ ... })
export class SomeComponent {

enableFieldedSearch: boolean = inject(AppStore).enableFieldedSearch('_query');
// returns true or false depending the flag set in Sinequa Administration
}

Aggregations features​

getAggregationIcon()​

Retrieves the icon associated with a given column's aggregation.

Returns the icon value associated with the specified column's aggregation, or undefined if no matching aggregation is found.

getAggregationIcon(column: string): string | undefined
parametertypedescription
columnstringThe name of the column for which to retrieve the aggregation icon.
get-aggregation-icon.ts
// json Aggregation configuration extract
{
aggregations: [
{
column: "geo",
icon?: "fas fa-globe",
display?: "Places",
hidden?: false,
items?: [{ value: "Madrid", icon?: "fas fa-map" }]
}
]
}

const icon = inject(AppStore).getAggregationIcon("geo");
// Output: "fas fa-globe"

getAggregationCustomization()​

Retrieves the customization for a specific aggregation column.

Returns The customization object for the specified column, or undefined if not found.

getAggregationCustomization(aggColumn: string, aggName?: string): CFilter | undefined
parametertypedescription
aggColumnstringThe column name (or alias) for which to retrieve the customization.
aggNamestring(optional) The aggregation name — takes priority over column when both are provided.
get-aggregation-customization
// json Aggregation configuration extract
{
aggregations: [
{
column: "geo",
icon?: "fas fa-globe",
display?: "Places",
hidden?: false,
items?: [{ value: "Madrid", icon?: "fas fa-map" }]
}
]
}

const conf = inject(AppStore).getAggregationCustomization("geo");
// Output:
{
column: "geo",
icon?: "fas fa-globe",
display?: "Places",
hidden?: false,
items?: [{ value: "Madrid", icon?: "fas fa-map" }]
}

getAggregationItemsCustomization()​

Retrieves the customization items for a given column from the store's filters.

Returns An array of CFilterItem objects if found, otherwise undefined.

getAggregationItemsCustomization(column: string): CFilterItem[] | undefined
parametertypedescription
columnstringThe name of the column for which to retrieve the aggregation icon.
get-aggregation-items-customization.ts
// json Aggregation configuration extract
{
aggregations: [
{
column: "geo",
icon?: "fas fa-globe",
display?: "Places",
hidden?: false,
items?: [{ value: "Madrid", icon?: "fas fa-map" }]
}
]
}

const items = inject(AppStore).getAggregationItemsCustomization("geo");
// Output: [{ value: "Madrid", icon: "fas fa-map" }]

isAssistantAllowed()​

Determines whether a specific assistant is allowed based on its presence and configuration in the store.

isAssistantAllowed(assistantName: string): boolean
ParameterTypeDescription
assistantNamestringThe name of the assistant to check.
check-assistant-allowed.ts
const isAllowed = inject(AppStore).isAssistantAllowed("summarization");
// Output: true/false based on whether the assistant exists and has service_id configured

isAgentAllowed()​

Determines whether a specific agent is allowed based on its presence and configuration in the store.

isAgentAllowed(agentName: string): boolean
ParameterTypeDescription
agentNamestringThe name of the agent to check.
check-agent-allowed.ts
const isAllowed = inject(AppStore).isAgentAllowed("myAgent");
// Output: true/false based on whether the agent exists and has defaultAgent configured