Skip to main content

Slots available for admin panel plugins

This document lists all the slots available for admin panel plugins in Kuroco.

Admin panel plugin settings​

When configuring admin panel plugins, you must include the following information to specify where and under what conditions the plugins will be placed:

  • Slot
  • Slot parameters

Slot​

A slot is a location identifier for plugins. Provide both the target page URL and the slot to specify where a plugin will be inserted on the page.

Slot parameter​

The slot parameter indicates the display conditions of a plugin. For example, you may want to insert a plugin only for pages that match a specific ID. Different parameters are available depending on the slot.

List of slots for Vue.js plugins​

Below is a list of slots that can be used for Vue plugins, along with information on their functions, settings, and props (if available).

Universal plugin settings​

The settings below apply to all target slots. For this reason, they have been omitted from the slot descriptions.

Source - URL​

ParentChildPurposeDescriptionExample
SourceURLURL location of bundle filesSpecify the path of the directory containing manifest.json.
(Note: You can use any path, but it must match the one under publicPath in rcms-js.config.js.)
  • Relative format (for KurocoFiles): /files/user/mng_vue_components
  • Absolute format (external host): https://.../files/user/mng_vue_components

Props​

You can specify any component-specific props:

Image from Gyazo

Property typeSampleDescription
Static"test": "test_value"Any JSON-valid value
Member info"member_id": "MEMBER::member_id"Logged in member info. Format: MEMBER::field_name. Next fields are available:
  • member_id
  • email
  • name1
  • name2
Predefined constants"url": "CONST::ROOT_URL"Any constant defined at the "Enviroment" -> "Constants" page. Format: CONST::constant_name.

Common slot parameters​

The following slot parameter is available for all Vue plugin slots and is described here once. It does not appear again in the individual slot descriptions below.

ParameterValueDescriptionExample
group_id
  • group_id=G
  • group_id[]=G
where G is the member group ID
Display the plugin only to members belonging to the specified group
  • Group 2 only: group_id=2
  • Group 2 or 3: group_id[]=2&group_id[]=3
group_id[not]
  • group_id[not]=G
  • group_id[not][]=G
where G is the member group ID to exclude
Hide the plugin from members belonging to the specified group
  • Exclude Group 3: group_id[not]=3
  • Exclude Groups 2 and 3: group_id[not][]=2&group_id[not][]=3

If group_id is not set, the plugin is displayed to all logged-in users.

You can combine group_id with slot-specific parameters. For example, to show a plugin on Content Structure ID 1 only to members in Group 2: topics_group_id=1&group_id=2

Common to screens​

Slot available on admin panel screens that display the header.

Top of the page (no slot name)​

When the slot name is left blank, the component is inserted directly below the page header (above the main content) of the target page, without replacing any screen element.

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameComponent name (any value)PageScript
Manifest keyvendors.*;{ComponentName}.*vendors.*;PageScript.*
TargetPage URIAny URIPath of the page where the component is inserted
  • All pages: /
  • Content editor screen only: /topics/topics_edit/
Slot name(blank)
Slot parameters​
ParameterValueDescriptionExample
topics_group_idtopics_group_id={G}, where {G} is the content structure IDContent structure ID on which the plugin is displayed
Effective on screens that have a content structure ID (content list, content editor, etc.).
On screens without a content structure ID, this parameter is ignored and the plugin is displayed.
topics_group_id=1
inquiry_idinquiry_id={I}, where {I} is the form IDForm ID on which the plugin is displayed
Effective on screens that have a form ID (submissions list, etc.).
On screens without a form ID, this parameter is ignored and the plugin is displayed.
inquiry_id=1
caution

topics_group_id / inquiry_id are not applied as display conditions on screens that do not have the corresponding ID. For example, if you set the Page URI to / and the slot parameter to topics_group_id=1, the plugin is displayed on the content screens of content structure ID 1 and also on screens without a content structure ID, such as the dashboard and the member list. To display the plugin only on screens of a specific content structure or form, also narrow the Page URI to the path of the target screen (e.g., /topics/topics_list/).

Props​

No screen-specific props are passed. You can use the values set in Props.

Content module​

Available slots in the Content module

Content structure - Additional fields​

Any additional field on the content editor screen

Image from Gyazo

All repetitions of an additional field (if it has been set to be repeated)

Image from Gyazo

All (sub-)fields within a grouped field

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameComponent name (optional value)ContentTextInput
Manifest keyvendors.\*;{ComponentName}.\*vendors.\*;ContentTextInput.\*
TargetPage URI/topics/topics_edit/
Slot nameext_{N}.ext_{M}, where {N} is the parent field, and {M} is the name of the child field.Name of the additional field to be replaced by the plugin. If the whole field group is to be replaced, use ext_{N}.ext_1
ext_1.ext_1
ext_1.ext_2
Slot parameters​
ParameterValueDescriptionExample
topics_group_idtopics_group_id={G}, where {G} is the topic group ID (content structure ID)Content structure ID to be replaced by the plugintopics_group_id=1
Props​

There are 2 types of props for Vue component. Next values will be propagated to the component by default:

NameTypeDescription
topics_group_idNumberTopic group ID (content structure ID)
extConfigArrayArray containing the additional field settings as objects (for the number of repetitions)
  • ext_col_nm: Extended field key
  • ext_slug: Identifier
  • title: Field name
  • value: Input value
  • options: Options for selection-type such as single choice fields
  • limits: Input restrictions
Source examples​

Content editor​

Any field on the content editor screen

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameComponent name (optional value)ContentEditForm
Manifest keyvendors.\*;{ComponentName}.\*vendors.\*;ContentEditForm.\*
TargetPage URI/topics/topics_edit/URL of the content editor page
Slot nameedit_form
Slot parameters​
ParameterValueDescriptionExample
topics_group_idtopics_group_id={G}, where {G} is the topic group ID (content structure ID)Content structure ID to be replaced by the plugintopics_group_id=1
Props​
NameTypeDescription
topics_idNumberContent ID (topic ID)
topics_group_idNumberTopic group ID (content structure ID)
ext_itemsArrayAdditional field structure
formDataObjectInput data
DG_CODEStringCSRF token
categoryCountNumberNumber of content categories
categoryOptionsObjectContent category options
topicsFlagOptionsObjectOther settings - "Show in list" options
regularFlagOptionsObjectOther settings - "Display on top" options
memberGroupOptionsObjectOther settings - "access authorization" options
relatedTagsObjectRelated tags
notifOptionsObjectPublishing integration settings - "Sync notifications" options
githubWorkflowOptionsObjectGitHub Workflow options

Content list​

Any entry in the content list

Image from Gyazo

info

If a plugin with the slot name topics_list exists, it will no longer load <div class="header">.

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameTopicsListComponent name (optional value)
Manifest keyvendors.\*;TopicsList.\*
TargetPage URI/topics/topics_list/URL of the content list page
Slot nametopics_list
Slot parameters​
ParameterValueDescriptionExample
topics_group_idtopics_group_id={G}, where {G} is the topic group ID (content structure ID)Content structure ID to be replaced by the plugintopics_group_id=1
Props​
NameTypeDescription
topics_group_idNumberTopic group ID (content structure ID)

Form module​

Available slots in the Form module

Form editor - [Report] tab​

Insert new component on the report screen

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameTopicsListComponent name (optional value)InquiryListTop
Manifest keyvendors.\*;{ComponentName}.\*vendors.\*;InquiryListTop.\*
TargetPage URI/inquiry/inquiry_report/
Slot namelist_main_top
Slot parameters​
ParameterValueDescriptionExample
inquiry_idinquiry_id={I}, where {I} is the form IDForm (inquiry) ID to filter the plugin displayinquiry_id=1

Form editor - [Submissions] tab (top)​

Insert new component at the top of the Submissions screen

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameComponent name (optional value)InquiryListTop
Manifest keyvendors.\*;{ComponentName}.\*vendors.\*;InquiryListTop.\*
TargetPage URI/inquiry/inquiry_bn_list/
Slot namelist_main_top
Slot parameters​
ParameterValueDescriptionExample
inquiry_idinquiry_id={I}, where {I} is the form IDForm (inquiry) ID to filter the plugin displayinquiry_id=1

Form editor - [Submissions] tab (list)​

Any entry on the Submissions screen

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameInquiryBnListVue component name (optional value)
Manifest keyvendors.\*;InquiryBnList.\*
TargetPage URI/inquiry/inquiry_bn_list/URL of the submissions list page
Slot nameinquiry_bn_list
Slot parameters​
ParameterValueDescriptionExample
inquiry_idinquiry_id={I}, where {I} is the form IDForm (inquiry) ID to filter the plugin displayinquiry_id=1

Member module​

Available slots in the Member module

Member editor​

Any additional field on the member editor screen

Image from Gyazo

Plugin settings​
ParentChildValueDescriptionExample
SourceComponent nameComponent name (optional value)MemberTextInput
Manifest keyvendors.\*;{ComponentName}.\*vendors.\*;MemberTextInput.\*
TargetPage URI/member/member_edit/URL of the member editor page
Slot nameIdentifier of the target additional fieldVariable name defined in the additional field settingsext_text
Props​
NameTypeDescription
valueanyInput value
extConfigObjectAdditional field structure
member_idNumberTarget member ID
group_idsArrayAll Group IDs that the target member belongs to

List of slots for CSS plugins​

Below is a list of slots available for CSS plugins, along with information on their functions, settings, and props (if available).

info

For more information on how to configure CSS plugins, see Tutorial: Apply CSS to a Kuroco management screen with the plugin.

<head> tag​

Plugin settings

ParentChildValueDescriptionExample
SourceURLURL of the CSS file
  • Relative format (for KurocoFiles): /files/user/css/plugin.css
  • Absolute format (external host): https://.../files/user/css/plugin.css
TargetPage URIOptional URIPath of the page using the CSS
Slot namehead

Slot parameters

ParameterValueDescriptionExample
topics_group_idtopics_group_id={G}, where {G} is the topic group ID (content structure ID)Content structure ID to be replaced by the plugintopics_group_id=1
ParameterValueDescriptionExample
group_id
  • group_id=G
  • group_id[]=G
where G is the target group ID
Apply the CSS to all users belonging to the specified group
  • Apply to members in Group 2: group_id=2
  • Apply to members in Group 2 or Group 3: group_id[]=2&group_id[]=3
group_id[not]
  • group_id[not]=G
  • group_id[not][]=G
where G is the target group ID to be excluded
Apply the CSS to all users who do not belong to the specified group
  • Apply to members not in Group 2: group_id[not]=2
  • Apply to members not in Group 2 or Group 3: group_id[not][]=2&group_id[not][]=3

Support

If you have any other questions, please contact us or check out Our Slack Community.