<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Need help with modification of print plus widget in Web AppBuilder Custom Widgets Questions</title>
    <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/need-help-with-modification-of-print-plus-widget/m-p/863649#M12052</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm trying to use our own print service in the&amp;nbsp;&lt;A _jive_internal="true" href="https://community.esri.com/docs/DOC-3841-print-plus-widget-version-116-july-12-2015?sr=search&amp;amp;searchId=c6554045-f744-4a8f-a0c0-9b998cb08296&amp;amp;searchIndex=1" target="_blank"&gt;print plus&lt;/A&gt;&amp;nbsp;widget. But later I found out that it doesn't execute the "Get Layout Templates Info" GP services like the WAB print widget did.&amp;nbsp; I need some help with adding the&amp;nbsp;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Get Layout Templates Info" in there.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I tried to add the code&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;LayerInfos, in the functions &lt;/PRE&gt;&lt;P&gt;and then&amp;nbsp;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;LayerInfos.getInstance(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.map, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.map.itemInfo)
&amp;nbsp; .then(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(layerInfosObj) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.layerInfosObj = layerInfosObj;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;all([&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._getPrintTaskInfo(), &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._getLayerTemplatesInfo()])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .then(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;taksInfo = results[&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; templatesInfo = results[&lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(templatesInfo &amp;amp;&amp;amp; !templatesInfo.error) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;parameters = templatesInfo &amp;amp;&amp;amp; templatesInfo.results;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(parameters &amp;amp;&amp;amp; parameters.length &amp;gt; &lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array.some(parameters, lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(p) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;p &amp;amp;&amp;amp; p.paramName === &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Output_JSON' &lt;/SPAN&gt;?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos = p.value : &lt;SPAN style="color: #000080; font-weight: bold;"&gt;false&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos &amp;amp;&amp;amp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos.length &amp;gt; &lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateNames = array.map(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(ti) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;ti.layoutTemplate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.warn(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Get Layout Templates Info Error'&lt;/SPAN&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; templatesInfo &amp;amp;&amp;amp; templatesInfo.error);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(!esriLang.isDefined(taksInfo) || (taksInfo &amp;amp;&amp;amp; taksInfo.error)) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._handleError(taksInfo.error);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._handlePrintInfo(taksInfo);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }));
&amp;nbsp; })).always(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.shelter.hide();
&amp;nbsp; }));

and&lt;PRE class="lia-code-sample line-numbers language-none"&gt;_getLayerTemplatesInfo: &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;() {
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;def = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;Deferred();
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;parts = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.printTaskURL.split(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/'&lt;/SPAN&gt;);
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;pos = parts.indexOf(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'GPServer'&lt;/SPAN&gt;);
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(pos &amp;gt; -&lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;url = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;null&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(/Utilities\/PrintingTools\/GPServer/.test(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.printTaskURL)) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = parts.slice(&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;, pos + &lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;).join(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/' &lt;/SPAN&gt;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; encodeURIComponent(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Get Layout Templates Info Task'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/execute'&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = parts.slice(&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;, pos + &lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;).join(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/' &lt;/SPAN&gt;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; encodeURIComponent(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Get Layout Templates Info'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/execute'&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; esriRequest({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f: &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"json"
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; callbackParamName: &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"callback"&lt;/SPAN&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handleAs: &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"json"&lt;/SPAN&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timeout: &lt;SPAN style="color: #0000ff;"&gt;60000
&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}).then(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(info) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def.resolve(info);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }), lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(err) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def.resolve({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error: err
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; }));
&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp; def.resolve(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;null&lt;/SPAN&gt;);
&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;def;
},&lt;/PRE&gt;&lt;/PRE&gt;&lt;P&gt;to the printplus.js&amp;nbsp;&lt;/P&gt;&lt;P&gt;then the widget fail loading in WAB.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 10:43:28 GMT</pubDate>
    <dc:creator>QiranLiang</dc:creator>
    <dc:date>2021-12-12T10:43:28Z</dc:date>
    <item>
      <title>Need help with modification of print plus widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/need-help-with-modification-of-print-plus-widget/m-p/863649#M12052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm trying to use our own print service in the&amp;nbsp;&lt;A _jive_internal="true" href="https://community.esri.com/docs/DOC-3841-print-plus-widget-version-116-july-12-2015?sr=search&amp;amp;searchId=c6554045-f744-4a8f-a0c0-9b998cb08296&amp;amp;searchIndex=1" target="_blank"&gt;print plus&lt;/A&gt;&amp;nbsp;widget. But later I found out that it doesn't execute the "Get Layout Templates Info" GP services like the WAB print widget did.&amp;nbsp; I need some help with adding the&amp;nbsp;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;Get Layout Templates Info" in there.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I tried to add the code&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;LayerInfos, in the functions &lt;/PRE&gt;&lt;P&gt;and then&amp;nbsp;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;LayerInfos.getInstance(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.map, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.map.itemInfo)
&amp;nbsp; .then(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(layerInfosObj) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.layerInfosObj = layerInfosObj;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;all([&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._getPrintTaskInfo(), &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._getLayerTemplatesInfo()])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .then(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;taksInfo = results[&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; templatesInfo = results[&lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(templatesInfo &amp;amp;&amp;amp; !templatesInfo.error) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;parameters = templatesInfo &amp;amp;&amp;amp; templatesInfo.results;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(parameters &amp;amp;&amp;amp; parameters.length &amp;gt; &lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array.some(parameters, lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(p) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;p &amp;amp;&amp;amp; p.paramName === &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Output_JSON' &lt;/SPAN&gt;?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos = p.value : &lt;SPAN style="color: #000080; font-weight: bold;"&gt;false&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos &amp;amp;&amp;amp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos.length &amp;gt; &lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateNames = array.map(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.templateInfos, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(ti) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;ti.layoutTemplate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.warn(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Get Layout Templates Info Error'&lt;/SPAN&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; templatesInfo &amp;amp;&amp;amp; templatesInfo.error);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(!esriLang.isDefined(taksInfo) || (taksInfo &amp;amp;&amp;amp; taksInfo.error)) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._handleError(taksInfo.error);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;._handlePrintInfo(taksInfo);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }));
&amp;nbsp; })).always(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.shelter.hide();
&amp;nbsp; }));

and&lt;PRE class="lia-code-sample line-numbers language-none"&gt;_getLayerTemplatesInfo: &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;() {
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;def = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;new &lt;/SPAN&gt;Deferred();
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;parts = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.printTaskURL.split(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/'&lt;/SPAN&gt;);
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;pos = parts.indexOf(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'GPServer'&lt;/SPAN&gt;);
&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(pos &amp;gt; -&lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;var &lt;/SPAN&gt;url = &lt;SPAN style="color: #000080; font-weight: bold;"&gt;null&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;(/Utilities\/PrintingTools\/GPServer/.test(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;.printTaskURL)) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = parts.slice(&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;, pos + &lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;).join(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/' &lt;/SPAN&gt;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; encodeURIComponent(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Get Layout Templates Info Task'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/execute'&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = parts.slice(&lt;SPAN style="color: #0000ff;"&gt;0&lt;/SPAN&gt;, pos + &lt;SPAN style="color: #0000ff;"&gt;1&lt;/SPAN&gt;).join(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/' &lt;/SPAN&gt;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; encodeURIComponent(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;'Get Layout Templates Info'&lt;/SPAN&gt;) + &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'/execute'&lt;/SPAN&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; esriRequest({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f: &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"json"
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; callbackParamName: &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"callback"&lt;/SPAN&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handleAs: &lt;SPAN style="color: #008000; font-weight: bold;"&gt;"json"&lt;/SPAN&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timeout: &lt;SPAN style="color: #0000ff;"&gt;60000
&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}).then(lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(info) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def.resolve(info);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }), lang.hitch(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="color: #000080; font-weight: bold;"&gt;function&lt;/SPAN&gt;(err) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def.resolve({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error: err
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; }));
&amp;nbsp; } &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else &lt;/SPAN&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp; def.resolve(&lt;SPAN style="color: #000080; font-weight: bold;"&gt;null&lt;/SPAN&gt;);
&amp;nbsp; }

&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;def;
},&lt;/PRE&gt;&lt;/PRE&gt;&lt;P&gt;to the printplus.js&amp;nbsp;&lt;/P&gt;&lt;P&gt;then the widget fail loading in WAB.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:43:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/need-help-with-modification-of-print-plus-widget/m-p/863649#M12052</guid>
      <dc:creator>QiranLiang</dc:creator>
      <dc:date>2021-12-12T10:43:28Z</dc:date>
    </item>
  </channel>
</rss>

