Class ReportFrameGenericTransform
- java.lang.Object
-
- com.microstrategy.web.transform.AbstractTransform
-
- com.microstrategy.web.transform.AbstractLayoutTransform
-
- com.microstrategy.web.app.transforms.AbstractAppTransform
-
- com.microstrategy.web.app.transforms.FrameGenericTransform
-
- com.microstrategy.web.app.transforms.ReportFrameGenericTransform
-
- All Implemented Interfaces:
AppTransform
,LayoutTransform
,Transform
public class ReportFrameGenericTransform extends FrameGenericTransform
This transforms renders a ReportFrameBean using a LayoutBuilder. It's iFrame aware, so it provides methods to render elements as iFrame components.- Since:
- MicroStrategy Web 9.0.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.microstrategy.web.app.transforms.AbstractAppTransform
AbstractAppTransform.Context
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FP_PROMPTS_CREATE_STYLE
name for the formal parameter "promptsCreateStyle".static java.lang.String
FP_PROMPTS_EDIT_STYLE
name for the formal parameter "promptsEditStyle".static java.lang.String
FP_PROMPTS_EXECUTE_STYLE
name for the formal parameter "promptsExecuteStyle".static java.lang.String
FP_PROMPTS_SAVING_STYLE
name for the formal parameter "promptsSavingStyle".protected FormalParameter
promptsCreateStyle
This is the name of the style to use to transform a prompted grid when creating new reports.protected FormalParameter
promptsEditStyle
This is the name of the style to use to transform a prompted grid when editing reports.protected FormalParameter
promptsExecuteStyle
This is the name of the style to use to transform a prompted grid when normal report execution.protected FormalParameter
promptsSavingStyle
This is the name of the style to use to transform a prompted grid when trying to save edited or created report which have prompts to be resolved before saving.-
Fields inherited from class com.microstrategy.web.app.transforms.FrameGenericTransform
_defaultLayout, customJavaScriptFeatures, FP_CUSTOM_JS_FEATURES
-
Fields inherited from class com.microstrategy.web.app.transforms.AbstractAppTransform
_bean, _componentBlock, _cssPrefix, _imgBlank, _imgWait, _selfOutput, _subOutput, appliesTo, CLASS_INPUT, CLASS_MESSAGE, contextMenus, cssFile, cssPrefix, debugErrorFlags, debugFlags, dragMode, extraInput, extraUrl, FP_APPLIES_TO, FP_CONTEXT_MENUS, FP_CSS_ERROR_MESSAGE, FP_CSS_ERROR_TITLE, FP_CSS_FILE, FP_CSS_PREFIX, FP_DEBUG_ERROR_FLAGS, FP_DEBUG_FLAGS, FP_DRAG_MODE, FP_EXTRA_INPUT, FP_EXTRA_URL, FP_HEIGHT, FP_IFRAME_ENABLED, FP_IMG_WAIT, FP_INITIAL_INDENT, FP_ORIENTATION, FP_ORIENTATIONS_ALLOWED, FP_PARTIAL_IFRAME_UPDATE, FP_PROCESSING_BUTTONS_FLAGS, FP_PROCESSING_INFO_FLAGS, FP_RESIZE_LEVEL, FP_SCRIPT_CLASS, FP_TYPE, FP_USE_DHTML, FP_WIDTH, globalCssErrorMessage, globalCssErrorTitle, height, iframeEnabled, imgWait, indent, initialIndent, isDHTML, orientation, orientationsAllowed, partialIframeUpdate, PROCESSING_BUTTONS_ALL, PROCESSING_BUTTONS_CANCEL, PROCESSING_BUTTONS_HISTORY_LIST, PROCESSING_BUTTONS_REFRESH, PROCESSING_BUTTONS_VIEW_DETAILS, PROCESSING_INFO_ALL, PROCESSING_INFO_DESCRIPTION, PROCESSING_INFO_LAST_UPDATE, PROCESSING_INFO_NAME, PROCESSING_INFO_NONE, PROCESSING_INFO_STATUS, processingButtonsFlags, processingInfoFlags, RESIZE_ALL, RESIZE_HORIZONTAL, RESIZE_NONE, RESIZE_VERTICAL, resizeLevel, scriptClass, scriptEndTagEncoder, type, useDHTML, width
-
-
Constructor Summary
Constructors Constructor Description ReportFrameGenericTransform()
Default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected WebEvent
getDesignModeEvent()
static java.lang.String[]
getFeaturesList()
java.lang.String
getID()
Returns the unique name of the component to be used as the ID for its shell.java.util.Map
getReportDataCellAttributes()
Generate the extra attributes the cell holding the report data requires.java.util.Map
getReportFormAttributes()
Generate the extra attributes the main report form requires for its proper definition.java.lang.Class
getSupportedBeanType()
Returns the supported bean type.void
initializeTransform(Transformable data)
This method extends the parent method by initializing additional private and protected fields of the transform, such as filter editor details.boolean
isDesignFilterDisplayed()
boolean
isDesignTemplateDisplayed()
void
renderBean(MarkupOutput out, java.lang.String name, java.lang.String style, boolean setChanged)
Renders any bean within the hierarchy using the specified stylevoid
renderDesignModeButtonBar(MarkupOutput out)
Generate the HTML corresponding to the button bar that can be rendered on top of the filter and template information while in design mode.void
renderEditorMessage(MarkupOutput out, java.lang.String name)
Generate the HTML corresponding to the editor message, as available via thegetEditorMessage
property of theFrameBean
.void
renderEmptyIFrameComponent(MarkupOutput out, java.lang.String name)
Generates the HTML corresponding to a component that should not render any contents at the time.void
renderIFrameComponent(MarkupOutput out, java.lang.String name)
Generates the HTML for the corresponding frame child componentprotected void
renderRegisterBone(MarkupOutput out)
If a scriptClass is specified, this method registers the corresponding javascript bone for this component.void
renderReportFormHiddenInputs(MarkupOutput out)
Generate the hidden inputs that should be appended to the form definition while handling report data.void
renderVisualization(MarkupOutput out, java.lang.String name, boolean setChanged)
This method verifies the visualization settings of the bean and renders it according to the style specified thereprotected void
setBoneProperties(JsonGenerator boneProps)
Sets the necessary properties to the bone assigned to this transform (based on theAbstractAppTransform.scriptClass
formal parameter)
Usually called byAbstractAppTransform.renderRegisterBone(MarkupOutput)
Can be overwritten to add or modify bone properties.void
transformForRequestSuccessful(MarkupOutput out)
Method that generates the output when the bean is Successful.void
transformForRequestWaitingForUserInput(MarkupOutput out)
Method that generates the output when the bean is WaitingForUserInput.-
Methods inherited from class com.microstrategy.web.app.transforms.FrameGenericTransform
appendCustomFeatures, displayComponent, displayComponent, displayComponent, generateSimpleMode, getCustomColorDescriptor, getDecimalSeparator, getDescription, getUserDpi, getUserPalette, renderCurrentEditor, renderData, renderEditorMessage, renderObjectBrowser, transformForRequestCanceled, transformForRequestInError, transformForRequestNotInited, transformForRequestProcessing
-
Methods inherited from class com.microstrategy.web.app.transforms.AbstractAppTransform
addContactInfo, addDynamicScriptClass, addDynamicScriptFile, addFormalParameter, checkLevel, checkProcessingButtonsFlag, checkProcessingInfoFlag, checkStatus, displayError, displayError, displayError, emptyCell, excludeStaticTags, generateAnchor, generateAnchorForExport, generateHiddenInputsForEvent, generateIFrameTag, getAppContext, getArgumentName, getAttributesShellDiv, getBeanPath, getBoneId, getCancelEvent, getClientSideHelper, getContainerServices, getContext, getContextMenu, getContextMenuManager, getContextMenuManagerName, getContextMenusDefinition, getCssPrefix, getDateFormat, getDebugOut, getDescriptor, getDescriptor, getDescriptor, getDescriptor, getDisplayMode, getDisplayName, getErrorMessage, getErrorMessage, getErrorTitle, getErrorTitle, getEventManager, getFirstDayOfWeek, getFloatValue, getHelpPath, getIntValue, getJSNameSpace, getLayoutContext, getLocale, getLocale, getPreferenceValue, getProjectID, getRefreshEvent, getRequestKeys, getResourcesFolder, getScriptClass, getStringValue, getStyleRequestContext, getStyleShellDiv, getTagsFactory, getTimeFormat, getUnitsLabel, getWebBeanErrorInfo, hasSubBlock, initHeightAndWidthFromPreferences, initializeCss, initializeImages, initializeWebComponent, is508, isBlockMode, isContextMenusEnabled, isDhtml, isDialog, isDormant, isFeatureAvailable, isIFrameDisplayMode, isIFrameEnabled, isIFrameRequest, isJobExpired, isModal, isOpen, isPortlet, isTrue, localIsIFrameDisplayMode, newContext, newHiddenInputBuilder, newNamespaceEncoder, newURIBuilder, redirectToDisplayError, renderBean, renderBean, renderBean, renderBean, renderCancelButton, renderContextMenus, renderCssLink, renderDescriptor, renderDescriptor, renderErrorButton, renderHiddenInputFromRequest, renderImage, renderLayout, renderProcessingButton, renderProcessingButton, renderProcessingButton, renderProcessingButtonForGet, renderProcessingButtonForGet, renderProcessingButtons, renderProcessingInfo, renderProcessingInfoData, renderProcessingInfoImage, renderProcessingInfoSubtitle, renderProcessingInfoTitle, renderProcessingObjectName, renderRefreshButton, renderSelf, renderShell, renderSubBlock, renderUserHelpAnchor, setDisplayMode, setHasSubBlock, setHeight, setIFrameDisplayMode, setIsDormant, setRenderSubBlock, setShellAttributeOnClosedComponent, setWidth, shouldDisplay, transform
-
Methods inherited from class com.microstrategy.web.transform.AbstractLayoutTransform
getLayoutDefinition, setLayoutDefinition, transformUsingLayout
-
Methods inherited from class com.microstrategy.web.transform.AbstractTransform
addFormalParam, canTransform, getEvents, getFormalParams, getPreview, isPreviewAvailable, isResolved, removeFormalParam, setAnnotation, setDeprecated, supports, supports
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.microstrategy.web.transform.LayoutTransform
getLayoutDefinition, setLayoutDefinition
-
Methods inherited from interface com.microstrategy.web.transform.Transform
canTransform, getFormalParams, getPreview, isPreviewAvailable, isResolved, supports, supports, transform
-
-
-
-
Field Detail
-
promptsCreateStyle
protected FormalParameter promptsCreateStyle
This is the name of the style to use to transform a prompted grid when creating new reports.
Allowed Values: any report style name from StyelCatalog.xml file.
-
promptsEditStyle
protected FormalParameter promptsEditStyle
This is the name of the style to use to transform a prompted grid when editing reports.
Allowed Values: any report style name from StyelCatalog.xml file.
-
promptsSavingStyle
protected FormalParameter promptsSavingStyle
This is the name of the style to use to transform a prompted grid when trying to save edited or created report which have prompts to be resolved before saving.
Allowed Values: any report style name from StyelCatalog.xml file.
-
promptsExecuteStyle
protected FormalParameter promptsExecuteStyle
This is the name of the style to use to transform a prompted grid when normal report execution.
Allowed Values: any report style name from StyelCatalog.xml file.
-
FP_PROMPTS_EDIT_STYLE
public static final java.lang.String FP_PROMPTS_EDIT_STYLE
name for the formal parameter "promptsEditStyle".- See Also:
- Constant Field Values
-
FP_PROMPTS_CREATE_STYLE
public static final java.lang.String FP_PROMPTS_CREATE_STYLE
name for the formal parameter "promptsCreateStyle".- See Also:
- Constant Field Values
-
FP_PROMPTS_SAVING_STYLE
public static final java.lang.String FP_PROMPTS_SAVING_STYLE
name for the formal parameter "promptsSavingStyle".- See Also:
- Constant Field Values
-
FP_PROMPTS_EXECUTE_STYLE
public static final java.lang.String FP_PROMPTS_EXECUTE_STYLE
name for the formal parameter "promptsExecuteStyle".- See Also:
- Constant Field Values
-
-
Method Detail
-
initializeTransform
public void initializeTransform(Transformable data)
This method extends the parent method by initializing additional private and protected fields of the transform, such as filter editor details.
- Specified by:
initializeTransform
in interfaceAppTransform
- Overrides:
initializeTransform
in classFrameGenericTransform
- Parameters:
data
- the bean to transform.
-
renderEditorMessage
public void renderEditorMessage(MarkupOutput out, java.lang.String name)
Generate the HTML corresponding to the editor message, as available via thegetEditorMessage
property of theFrameBean
. Internally calls theFrameGenericTransform.displayComponent(MarkupOutput, String, String)
method for the final HTML generation.- Parameters:
out
-MarkupOutput
instance where the HTML output will be savedname
- String value with the name to be used for the component wrapping the HTML content to generate
-
renderEmptyIFrameComponent
public void renderEmptyIFrameComponent(MarkupOutput out, java.lang.String name)
Generates the HTML corresponding to a component that should not render any contents at the time. It creates the component placeholder for future rendering, when handling iframe manipulations.- Parameters:
out
-MarkupOutput
instance where the HTML output will be savedname
- String value with the name to be used for the component wrapping the HTML content to generate
-
getReportDataCellAttributes
public java.util.Map getReportDataCellAttributes()
Generate the extra attributes the cell holding the report data requires.- Returns:
- Map instance initialized with the extra attributes to include into the cell's defintion
-
transformForRequestSuccessful
public void transformForRequestSuccessful(MarkupOutput out)
Description copied from class:FrameGenericTransform
Method that generates the output when the bean is Successful.- Overrides:
transformForRequestSuccessful
in classFrameGenericTransform
- Parameters:
out
- where to write the output of the method.- See Also:
AbstractAppTransform.checkStatus(com.microstrategy.web.beans.MarkupOutput)
-
getReportFormAttributes
public java.util.Map getReportFormAttributes()
Generate the extra attributes the main report form requires for its proper definition. Such attributes include the form name, action, method and any extra information required for it to work properly on iframe environments if needed.- Returns:
- Map instance initialized with the extra attributes to include into the form's defintion
-
renderReportFormHiddenInputs
public void renderReportFormHiddenInputs(MarkupOutput out)
Generate the hidden inputs that should be appended to the form definition while handling report data.- Parameters:
out
-MarkupOutput
instance where the HTML output will be saved
-
renderIFrameComponent
public void renderIFrameComponent(MarkupOutput out, java.lang.String name)
Generates the HTML for the corresponding frame child component- Overrides:
renderIFrameComponent
in classFrameGenericTransform
- Parameters:
out
-MarkupOutput
instance where the HTML output will be savedname
- String value with the name to be used for the component wrapping the HTML content to generate, as well as indicating which component will be rendered by this method.
-
renderBean
public void renderBean(MarkupOutput out, java.lang.String name, java.lang.String style, boolean setChanged)
Renders any bean within the hierarchy using the specified style- Parameters:
out
- MarkupOutput instancename
- the name of the bean to renderstyle
- the name of the style to user to render the beansetChanged
- forces the bean to be marked as changed, in order to have it rendered. If argument is false, property will not be updated.
-
renderVisualization
public void renderVisualization(MarkupOutput out, java.lang.String name, boolean setChanged)
This method verifies the visualization settings of the bean and renders it according to the style specified there- Parameters:
out
-MarkupOutput
instance where the output will be storedname
- String indicating the name of the bean to be renderedsetChanged
- boolean indicating if the bean has changed since the last time it was rendered
-
getSupportedBeanType
public java.lang.Class getSupportedBeanType()
Description copied from class:AbstractAppTransform
Returns the supported bean type. This abstract Transform supports allWebComponents
so every sub-class should override this method to return the class of theBean
the Transform is expecting, for example:public class CustomReportClass extends AbstractAppTransform { public Class getSupportedBeanType() { //This Transform is expected to work only with a ReportBean, //therefore this method needs to return this class: return ReportBean.class; } }
- Specified by:
getSupportedBeanType
in interfaceTransform
- Overrides:
getSupportedBeanType
in classFrameGenericTransform
- Returns:
- Class instance corresponding to the
ReportFrameBean
which is the one supported by this transform
-
getDesignModeEvent
protected WebEvent getDesignModeEvent()
- Returns:
WebEvent
corresponding to the design mode event supported by this transform
-
isDesignTemplateDisplayed
public boolean isDesignTemplateDisplayed()
- Returns:
- boolean value indicating if the design mode is (or should be) rendering the template information
-
isDesignFilterDisplayed
public boolean isDesignFilterDisplayed()
- Returns:
- boolean value indicating if the design mode is (or should be) rendering the filter information
-
renderDesignModeButtonBar
public void renderDesignModeButtonBar(MarkupOutput out)
Generate the HTML corresponding to the button bar that can be rendered on top of the filter and template information while in design mode. This button bar allows users to perform actions such as Cancel design mode, Run the resulting report or Save the changes.- Parameters:
out
-MarkupOutput
instance where the HTML output will be saved
-
transformForRequestWaitingForUserInput
public void transformForRequestWaitingForUserInput(MarkupOutput out)
Method that generates the output when the bean is WaitingForUserInput.
It checks if the child bean in this state is the report bean, and if so transforms it using the correct prompt style. However, if ReportFrameBean promptStyle property is available then prompt styles will be ignored and property value will indicate which prompt style to use.
If not, it just invokes theFrameGenericTransform.generateSimpleMode(com.microstrategy.web.beans.MarkupOutput)
method.- Overrides:
transformForRequestWaitingForUserInput
in classFrameGenericTransform
- Parameters:
out
- where to write the output of the method.- See Also:
AbstractAppTransform.checkStatus(com.microstrategy.web.beans.MarkupOutput)
-
renderRegisterBone
protected void renderRegisterBone(MarkupOutput out)
Description copied from class:AbstractAppTransform
If a scriptClass is specified, this method registers the corresponding javascript bone for this component.- Overrides:
renderRegisterBone
in classAbstractAppTransform
- Parameters:
out
- MarkupOutput whether the output should be rendered.- See Also:
AbstractAppTransform.getScriptClass()
-
setBoneProperties
protected void setBoneProperties(JsonGenerator boneProps)
Description copied from class:AbstractAppTransform
Sets the necessary properties to the bone assigned to this transform (based on theAbstractAppTransform.scriptClass
formal parameter)
Usually called byAbstractAppTransform.renderRegisterBone(MarkupOutput)
Can be overwritten to add or modify bone properties.- Overrides:
setBoneProperties
in classAbstractAppTransform
- Parameters:
boneProps
- the JsonGenerator object that contains the collection of bone properties.
-
getFeaturesList
public static final java.lang.String[] getFeaturesList()
- Returns:
- a copy of the features String array that is sent to the report frame
-
getID
public java.lang.String getID()
Description copied from class:AbstractAppTransform
Returns the unique name of the component to be used as the ID for its shell. This id is used for updating the page using the iFrame technology, and as the id for the corresponding bone (if any).- Specified by:
getID
in interfaceTransform
- Overrides:
getID
in classAbstractAppTransform
- Returns:
- the component's unique id
-
-