1 /*
2  * PublishRPubsPage.java
3  *
4  * Copyright (C) 2021 by RStudio, PBC
5  *
6  * Unless you have received this program directly from RStudio pursuant
7  * to the terms of a commercial license agreement with RStudio, then
8  * this program is licensed to you under the terms of version 3 of the
9  * GNU Affero General Public License. This program is distributed WITHOUT
10  * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
11  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
12  * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
13  *
14  */
15 package org.rstudio.studio.client.rsconnect.ui;
16 
17 import org.rstudio.core.client.resources.ImageResource2x;
18 import org.rstudio.core.client.widget.WizardPage;
19 import org.rstudio.studio.client.rsconnect.model.RSConnectPublishInput;
20 import org.rstudio.studio.client.rsconnect.model.RSConnectPublishResult;
21 import org.rstudio.studio.client.rsconnect.model.RSConnectPublishSource;
22 
23 import com.google.gwt.user.client.ui.Widget;
24 
25 public class PublishRPubsPage
26    extends WizardPage<RSConnectPublishInput, RSConnectPublishResult>
27 {
PublishRPubsPage(String title, String subTitle)28    public PublishRPubsPage(String title, String subTitle)
29    {
30       super(title, subTitle, "Publish to RPubs",
31             new ImageResource2x(RSConnectResources.INSTANCE.rpubsPublish2x()),
32             new ImageResource2x(RSConnectResources.INSTANCE.rpubsPublishLarge2x()));
33    }
34 
35    @Override
focus()36    public void focus()
37    {
38 
39    }
40 
41    @Override
createWidget()42    protected Widget createWidget()
43    {
44       return new PublishRPubs();
45    }
46 
47    @Override
initialize(RSConnectPublishInput initData)48    protected void initialize(RSConnectPublishInput initData)
49    {
50       initialData_ = initData;
51    }
52 
53    @Override
collectInput()54    protected RSConnectPublishResult collectInput()
55    {
56       return new RSConnectPublishResult(
57             new RSConnectPublishSource(
58                   initialData_.getOriginatingEvent().getPath(),
59                   initialData_.getOriginatingEvent().getHtmlFile(),
60                   null, // website directory
61                   null, // website output directory
62                   initialData_.isSelfContained(),
63                   true, // as static
64                   initialData_.isShiny(),
65                   initialData_.isQuarto(),
66                   initialData_.getDescription(),
67                   initialData_.getContentType()));
68    }
69 
70    @Override
validate(RSConnectPublishResult input)71    protected boolean validate(RSConnectPublishResult input)
72    {
73       return true;
74    }
75 
76    private RSConnectPublishInput initialData_;
77 }
78