Interface ClientSideElement

All Known Subinterfaces:
ClientSideRelation, ClientSideWidget, RightAssignmentContext
All Known Implementing Classes:
AbstractCompareContentVersionClientSideElement, AbstractContentClientSideElement, AbstractEditorStyleMenu, AbstractPageClientSideElement, AbstractPageMenu, AbstractPagesContainerClientSideElement, AbstractStaticRightAssignmentContext, AddContentToCurrentSelectionClientSideElement, AddOrgUnitToCurrentClientSideElement, AddPilotageContentToCurrentSelectionClientSideElement, AddReportTaskClientSideElement, AddTaskClientSideElement, AdminWelcomeClientSideElement, ApogeeButtonClientSideElement, ApogeeClientSideElement, ApogeeGlobalSynchronizationClientSideElement, ApogeeSimpleMenu, ArchiveContentClientSideElement, ArchivedLogClientSideElement, AutomaticNewsletterClientSideElement, CacheClientSideElement, CartProfileAssignmentsToolClientSideElement, CartRightAssignmentContext, ChooseHierarchicalContentFileImportsClientSideElement, CommentClientSideElement, CompareContentVersionToolClientSideElement, CompareContentWithLiveVersionClientSideElement, ConfigClientSideElement, ConfigureServiceClientSideElement, ConfigureViewParametersClientSideElement, ContentAlertsClientSideElement, ContentConsistencyTestClientSideElement, ContentPrivacyMenu, ContentRightAssignmentContext, ContentTypeEditorToolElement, ContentTypeRightAssignmentContext, ContentTypesGallery, ContentTypesGallery, ContentTypesMenuItem, CopyODFContentClientSideElement, CopyODFPilotageContentClientSideElement, CostModelingButtonClientSideElement, CostModelingClientSideElement, DeleteContentClientSideElement, DeleteContentClientSideElement, DeleteContentClientSideElement, DeleteDataSourceClientSideElement, DeleteExtractionResultFilesClientSideElement, DeleteODFPilotageContentClientSideElement, DeleteOrgUnitClientSideElement, DeletePageClientSideElement, DeleteUserClientSideElement, DesignsMenu, DevModeClientSideElement, DevModeMenuItemClientSideElement, EditContentTypeClientSideElement, EditExtractionClientSideElement, EditODFPilotageCatalogClientSideElement, EducationalBookletClientSideElement, ExecuteExtractionClientSideElement, ExportClientSiteElement, ExtractionDetailsToolElement, ExtractionProfileAssignmentsToolClientSideElement, ExtractionRightAssignmentContext, FoldersClientSideElement, FormEditionModeMenu, FormEntriesWorkflowStepsClientSideElement, FormsContentClientSideElement, FormWorkflowClientSideElement, GlobalSynchronizationClientSideElement, HierarchicalReferenceTableClientSideElement, HTMLExpertEditClientSideElement, ImageMenu, ImagesContainerClientSideElement, ImportArchiveClientSideElement, ImportModelClientSideElement, ImportSkinClientSideElement, InvitationsClientSideElement, LanguageMenu, LanguageMenu, LinkDirectoryRightAssignmentContext, LinkMenu, LivePageClientSideElement, LockedContentClientSideElement, LogsClientSideElement, MaintenanceTaskClientSideElement, MaintenanceTaskClientSideElement, MixinContentTypesGallery, ModelsMenu, ODFPilotageSimpleMenuClientSideElement, ODFRightAssignmentContext, ODFRootClientSideElement, ODFSelectionAwareAddReportTaskClientSideElement, OpenSkinEditorClientSideElement, OpenSkinFactoryClientSideElement, OpenTreeControllerClientSideElement, OrderedListMenu, PageRightAssignmentContext, PageRobotsClientSideElement, ParametersClientSideElement, ParaStyleClientSideElement, PilotageClientSideElement, PilotageStatusButtonClientSideElement, PlantUMLClientSideElement, ProfileAssignmentsToolClientSideElement, ProfileToolsClientSideElement, ProjectSuperUserClientSideElement, QueriesDirectoryRightAssignmentContext, QueriesProfileAssignmentsToolClientSideElement, RedirectPageClientSideElement, ReferenceTableRightAssignmentContext, ReferenceTablesGallery, RemoveContentTypeClientSideElement, ReportsClientSideElement, RepublishContentClientSideElement, ResourceRightAssignmentContext, RichTextConfigurationFileImportsClientSideElement, RNCPAbstractProgramClientSideElement, RNCPSubProgramClientSideElement, SaveContentTypeClientSideElement, SCCClientSideElement, SCCSmartContentClientSideElement, ScheduleArchivingClientSideElement, ScheduledPageClientSideElement, ScheduledSurveyClientSideElement, SearchClientSideElement, SearchReferencingContentsWithSameValuesClientSideElement, SearchServiceClientSideWidget, SelectionAwareAddTaskClientSideElement, ServerLogMessageTargetFactoryElement, ServiceMenu, SessionClientSideElement, SetContentAttributeClientSideElement, SetContentAttributeClientSideElement, SetContentViewMenu, SetOrganisationChartRootClientSideElement, SetParentContentClientSideElement, SetUGCRootClientSideElement, SetUserDirectoryRootClientSideElement, ShareableCourseClientSideElement, ShareableCourseContentClientSideElement, ShareableCourseMenuItemClientSideElement, ShareableCourseStatusButtonClientSideElement, SimpleMenu, SimpleSearchClientSideElement, SiteSelectionAwareAddTaskClientSideElement, SkinClientSideWidget, SkinLanguageMenu, SmartContentClientSideElement, SmartContentMenu, StaticClientSideElement, StaticClientSideRelation, StaticClientSideWidget, StaticFileImportsClientSideElement, StaticMenu, StaticRichTextConfiguration.StaticRichTextConfigurationClientSideElement, StringRightAssignmentContext, SubscribersClientSideElement, SuperUserClientSideElement, SuperUserClientSideElement, SurveyClientSideElement, SurveyRightAssignmentContext, SynchronizeContentRightAssignmentContext, SystemAnnouncementClientSideElement, TableMenu, TemplatesMenu, TemplatesMenu, ThemeColorsMenu, ThesaurusGallery, TranslationFlaggingClientSideElement, TreeToolClientSideElement, UGCContentModerationClientSideElement, UnorderedListMenu, UserDirectoryRightAssignmentContext, ValidateSurveyClientSideElement, WallContentReportsClientSideElement, WebContentTypeRightAssignmentContext, WebReferenceTableRightAssignmentContext, WebStringRightAssignmentContext, WelcomeButtonClientSideElement, WelcomeToolClientSideElement, WorkflowStepsClientSideElement

public interface ClientSideElement
Object binding of a client side element, ie something that is loaded and executed by the browser.
Such elements may be UI controls (buttons, menu, tools, ...) but also only JS or CSS files.

This interface only covers files to be loaded, but its implementations are also meant to hold associated business-logic, if any.
To implement such logic, implementing classes should write any method, annotated with Callable, that will be directly called by the kernel upon execution of the JavaScript method serverCall('methodeName', params).

All Map<String, Object> instances found in this class and its implementations are directly converted from and to JSON to interact with browser-site JavaScript.
  • Method Details

    • getId

      Get the id of the element.
      Returns:
      the id. Can not be null.
    • getScripts

      This method return the scripts that will be used on client side. This class will be parametrized by initial and current parameters.
      Parameters:
      contextParameters - Contextuals parameters transmitted by the environment.
      Returns:
      The list of scripts or an empty list.
    • getScripts

      List<ClientSideElement.Script> getScripts(boolean ignoreRights, Map<String,Object> contextParameters)
      This method return the scripts that will be used on client side. This class will be parametrized by initial and current parameters.
      Parameters:
      ignoreRights - True to ignore the rights verification.
      contextParameters - Contextuals parameters transmitted by the environment.
      Returns:
      The list of scripts or an empty list.
    • getRights

      Map<String,String> getRights(Map<String,Object> contextParameters)
      This method return the right that will be needed on client side. This class will be parametrized by initial and current parameters.
      Parameters:
      contextParameters - Contextuals parameters transmitted by the environment.
      Returns:
      The rights in a Map of (rightId, context). Can be empty.
    • getPluginName

      Get the plugin name where the control was declared
      Returns:
      The plugin name. Can not be null.
    • getDependencies

      This method returns the list of dependencies, sorted by extension point.
      Returns:
      a map of dependencies ids by extension point.