PDF creation with page refresh - pdf

I have a page with a viewPanel and a dialog. When an item in the viewPanel is clicked, the dialog opens, prompting the user to make changes to that item, and offering them the option to generate a report of the item in PDF format.
At first, I tried putting the PDF creation onto a button, as described here: http://www.eknori.de/2011-10-25/xpages-to-pdf-with-itext/ However, whenever the button is pressed, I get a "NotFoundError: DOM Exception 8" which seems to stem from the dojo JS. So currently I have an alternative whereby the button simply sets some sessionScope variables and opens a pdf.xsp XPage, where the variables are read back and the PDF is created.
The PDF gets created correctly, but it also means that the page that the user is on won't be refreshed to display their new change in the viewPanel. I've tried adding page redirects at the bottom of the XPage which creates the PDF, but with no luck.
So, how can I create a PDF and prompt a user to download it, but also refresh the page that they are currently on?

Are you isseuing an partial refresh on the button to hide your dialog and to execute the code for pdf generation? If so you I think that there is your problem. What you could do is to do a partial refresh on the onClose() method of the dialog to refresh the viewpanel. In the clientside onunload method you could open a so called xAgent which renders the pdf for you in a new window (window.open(pdf.xsp?docid=xxx). Take a look here: NotesIn9: 039 Creating PDF’s with XPages Part 2
Of cours the problem with this approach is that when you have a button / image in yoru viewpanel row that displays if the report has been created is not shown because the xagent runs after the / during the time the viewpanel row is being refreshed.

Related

Dynamic action to update database record AND redirect to a different page

I'm building a system of modal dialogs to allow users to edit database records.
The user clicks the "Edit" button on a specific row in a report somewhere
A modal dialog pops up, with fields that the user can edit and manipulate
The dialog has four standard buttons the user can select: Cancel, Delete, Save, and Create
Let's start with the Save button.
By default for modal dialogs, the Save button has the following behavior:
I presume this 1) submits the information from the items in the modal dialog (which refreshes the browser, closing the modal dialog), and then 2) performs the SQL UPDATE action with the submitted information, in time for the refreshed page to include the updated information?
This is fine, but I need to:
Avoid refreshing the browser (e.g. submit individual items, rather than the whole page), and
Manually redirect to another modal dialog (a different page) AFTER the SQL UPDATE action is completed
I presume this can be accomplished with dynamic actions, but I don't know how.
How can I ensure the database action is completed, before the dynamic action which navigates to a new page?
Manually redirect to another modal dialog (a different page) AFTER the SQL UPDATE action is completed
I'm thinking of creating a branch with Server-side condition set to "When button pressed" (for every button), or perhaps "Request is contained in value" where request name (by default) equals button name.
So: button would first do its processing part, and then branch to another page, without involving dynamic actions.

Using puppeteer to automate button clicks for every button at every URL in a web app

I am currently trying to use JS and puppeteer to take a screenshot of every url in my web app, as well as take a screenshot of every button that can be clicked. Is there a way to click each button without specifying the id? Not all of my buttons have an id and even if they did, I wouldn't want to have x number of page.click(id, options) for each button I have (which is quite a lot).
Thanks
I have tried going based off each className (this app is built using react) but this does not work. It will take a screenshot of the same buttons over and over. I believe because if page.click has multiple of the same options, it only chooses the first one and many buttons have the same styling classNames.
You could get an array of each element on a page, go through the elements with a for loop determine if it is a button, then click it. Then for each page you'd have to input each url in an array and then use a for loop to go through it.

Hide a button in SSRS pdf view but show in online view

I have a button in the SSRS report Report1. This buttons opens other report called DetailReport. In online view of the report for faster rendering the button on report1 opens the DetailReport. But when on pdf view the Button appears on the report, which is of no use.
I have found way to hide and show the entire page by passing parameter.
Using code for visiblity as :
=IIF(Parameters!ShowDetaiReport.Value=true,false,true)
But the button is shown or hidden both online and in pdf.
Is there any way to show button in the online view but hide it when I download pdf or word. Can i replace the Button with report itself when I download it.
FYI: I am using SSRS 2012
You can check to see what type of report is being rendered using the Globals!RenderFormat Built-in Field. You can either use .Name to check for a specific render format - such as PDF or Excel - or you can simply use .IsInteractive to check if the user can actually click things.
You can apply this check in the Button's Visibility -> Show or hide based on an expression property value as follows: =iif(Globals!RenderFormat.IsInteractive, False, True)
If you want to test this without exporting your reports, you can preview in Print Layout, which isn't interactive.

Adobe LiveCycle Flowed Form page margins

I am using Adobe LiveCycle Designer ES 8.2 to create a PDF for a survey. I've managed to create the form from scratch using Flowed content boxes to allow the fields to dynamically expand so that I can print out the survey later.
The issue I am having right now though is that if a field is expanded and it pushes other fields below it beyond the page range, it will create a new page consisting of what couldn't fit on the previous page. This is fine, but I would also like the form to automatically move the content below the last page up. Basically, anytime a page is moved into a new page there is a lot of white space and id like the next page to be moved up under the newly positioned fields.
Thank you
You will need to configure the pagination of your Subforms using the Object > Pagination palette. You can also use the Keep With Next/Previous option to control the grouping of the objects on page break. Also make sure that your top level subform is set to Flowed.

bring page to foreground? multipage editor

I'm develpping an RCP user interface. I have a multipage editor in which pages are editors (EditorPart). From a first page in my multipage editor I want to open a second one if a button is pressed. I've managed to do that but the problem that I'm facing is that the created page is visible only if we switch to it, i.e only the tab is visble.. what I want is to directly switch to the new page automatically after its creation. In other words, how can I bring the new page to foreground exactly when it is created.
Can you help me please
Kind Regards,
Jean
It seems to me that the calling the method org.eclipse.ui.part.MultiPageEditorPart.setActivePage(int) should do the trick.