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

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.