<?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 Re: how to use JSL to edit a modal dialog window in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750274#M93092</link>
    <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/4587"&gt;@danschikore&lt;/a&gt;, thanks a lot&lt;BR /&gt;wonderful :)&lt;/img&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 26 Apr 2024 15:48:24 GMT</pubDate>
    <dc:creator>hogi</dc:creator>
    <dc:date>2024-04-26T15:48:24Z</dc:date>
    <item>
      <title>how to use JSL to edit a modal dialog window</title>
      <link>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750202#M93085</link>
      <description>&lt;P&gt;What is the right approach to edit a modal dialog via JSL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the idea:&lt;/P&gt;&lt;P&gt;- the function &lt;FONT face="courier new,courier"&gt;add update button&lt;/FONT&gt; adds a button to the data filter&lt;/P&gt;&lt;P&gt;- it works if it is executed AFTER the creation of the window&lt;/P&gt;&lt;P&gt;- in the actual use case, the return value of the window is used as input for the subsequent code.&lt;BR /&gt;&amp;nbsp; &amp;nbsp;Therefore, &lt;CODE class=" language-jsl"&gt;&amp;lt;&amp;lt;Type( "Modal Dialog" )&lt;/CODE&gt;&lt;BR /&gt;-&amp;gt; the window will be closed before&amp;nbsp;&lt;FONT face="courier new,courier"&gt;add update button()&amp;nbsp;//post&lt;/FONT&gt;&amp;nbsp;gets executed&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- I tried to add the&amp;nbsp;&lt;FONT face="courier new,courier"&gt;add update button()&lt;/FONT&gt;&amp;nbsp; via&amp;nbsp;&lt;FONT face="courier new,courier"&gt;&amp;lt;&amp;lt; on open (&lt;BR /&gt;&amp;nbsp;&lt;/FONT&gt;... without success&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

dt &amp;lt;&amp;lt; Add Properties to Table(
	{New Script("reread", JSL Quote(caption("reread ...")),	As String( 1 ))});
	
add update button = function ({},
wait();
Current Report()["Local Data Filter",LineUpBox(1)] &amp;lt;&amp;lt;
append(
	b = Button Box( "update",
		b &amp;lt;&amp;lt; close window();
		dt &amp;lt;&amp;lt; run script( "reread" );
		ShowQueryWindow();				
	)
));

ShowQueryWindow = Function({},
	gui = New Window( "test", 
	//&amp;lt;&amp;lt;Type( "Modal Dialog" ),
	&amp;lt;&amp;lt; on open(add update button()), // doesn't work
		dt &amp;lt;&amp;lt; data filter( local )
	)
);

ShowQueryWindow();

add update button()&amp;nbsp;//post: works&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 Apr 2024 15:49:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750202#M93085</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2024-04-26T15:49:16Z</dc:date>
    </item>
    <item>
      <title>Re: how to use JSL to edit a modal dialog window</title>
      <link>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750227#M93088</link>
      <description>&lt;P&gt;One approach for this in JMP 18 is to use a window handler.&amp;nbsp; The window handler is a function wrapper that allows you to access any window created during the execution of the function.&amp;nbsp; We are looking at making modal and non-modal behaviors more consistent in upcoming major releases, which should make this easier to do directly through the New Window() function in the future.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

dt &amp;lt;&amp;lt; Add Properties to Table(
	{New Script("reread", JSL Quote(caption("reread ...")),	As String( 1 ))});
	
add update button = function ({win},
win["Local Data Filter",LineUpBox(1)] &amp;lt;&amp;lt;
append(
	b = Button Box( "update",
		b &amp;lt;&amp;lt; close window();
		dt &amp;lt;&amp;lt; run script( "reread" );
		ShowQueryWindow();				
	)
));

showFilter = Function({},
	With Window Handler(
		New Window( "test", 
			&amp;lt;&amp;lt;Type( "Modal Dialog" ),
			dt &amp;lt;&amp;lt; data filter( local )
		),
		Function({win},
			add update button(win);
		);
	)
);

showFilter();
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 14:44:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750227#M93088</guid>
      <dc:creator>danschikore</dc:creator>
      <dc:date>2024-04-26T14:44:01Z</dc:date>
    </item>
    <item>
      <title>Re: how to use JSL to edit a modal dialog window</title>
      <link>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750274#M93092</link>
      <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/4587"&gt;@danschikore&lt;/a&gt;, thanks a lot&lt;BR /&gt;wonderful :)&lt;/img&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 15:48:24 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750274#M93092</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2024-04-26T15:48:24Z</dc:date>
    </item>
    <item>
      <title>Re: how to use JSL to edit a modal dialog window</title>
      <link>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750275#M93093</link>
      <description>&lt;P&gt;Are you trying to add the update button to the modal window? If you are, I don't think modal window is a report window (it is modal or modal dialog) -&amp;gt; build the modal window in different way&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");

dt &amp;lt;&amp;lt; New Script("reread", JSL Quote(caption("reread ...")), As String(1));


add update button = Function({ref},
	ref["Local Data Filter", Lineup Box(1)] &amp;lt;&amp;lt; append(
		b = Button Box("update",
			b &amp;lt;&amp;lt; close window();
			dt &amp;lt;&amp;lt; run script("reread");
		)
	);
);

showFilter = Function({},
	collector = V List Box(
		dt &amp;lt;&amp;lt; data filter(local)
	);
	add update button(collector);
	gui = New Window("test", &amp;lt;&amp;lt;Type("Modal Dialog"),
		collector,
		Button Box("Windows",
			Show(Get Window(Type("Reports")));
			Show(Current Report());
		);
	);
);

showFilter();&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I would also suggest trying to add {Default Local} (or defined variable names) to your functions to avoid possible issues but it will require some additional scripting.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 16:03:40 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/how-to-use-JSL-to-edit-a-modal-dialog-window/m-p/750275#M93093</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-04-26T16:03:40Z</dc:date>
    </item>
  </channel>
</rss>

