<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>How to create popup modal with fragment ?</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121872425" />
  <subtitle>How to create popup modal with fragment ?</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121872425</id>
  <updated>2026-04-05T18:00:40Z</updated>
  <dc:date>2026-04-05T18:00:40Z</dc:date>
  <entry>
    <title>RE: How to create popup modal with fragment ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121909296" />
    <author>
      <name>Vishal Shah</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121909296</id>
    <updated>2023-07-13T08:28:59Z</updated>
    <published>2023-07-07T09:37:20Z</published>
    <summary type="html">&lt;p&gt;Create Popup Fragment : &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Configuration : &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;{&lt;br&gt;     &amp;quot;fieldSets&amp;quot;: [&lt;br&gt;         {&lt;br&gt;           
     &amp;quot;fields&amp;quot;: [&lt;br&gt;                 {&lt;br&gt;                   
     &amp;quot;dataType&amp;quot;: &amp;quot;string&amp;quot;,&lt;br&gt;                   
     &amp;quot;defaultValue&amp;quot;: &amp;quot;nm&amp;quot;,&lt;br&gt;                   
     &amp;quot;label&amp;quot;: &amp;quot;size&amp;quot;,&lt;br&gt;                   
     &amp;quot;name&amp;quot;: &amp;quot;buttonSize&amp;quot;,&lt;br&gt;                   
     &amp;quot;type&amp;quot;: &amp;quot;select&amp;quot;,&lt;br&gt;                   
     &amp;quot;typeOptions&amp;quot;: {&lt;br&gt;                       
     &amp;quot;validValues&amp;quot;: [&lt;br&gt;                             {&lt;br&gt;   
                                 &amp;quot;label&amp;quot;:
    &amp;quot;small&amp;quot;,&lt;br&gt;                               
     &amp;quot;value&amp;quot;: &amp;quot;sm&amp;quot;&lt;br&gt;                           
     },&lt;br&gt;                             {&lt;br&gt;                           
         &amp;quot;label&amp;quot;: &amp;quot;normal&amp;quot;,&lt;br&gt;                   
                 &amp;quot;value&amp;quot;: &amp;quot;nm&amp;quot;&lt;br&gt;               
                 },&lt;br&gt;                             {&lt;br&gt;               
                     &amp;quot;label&amp;quot;: &amp;quot;large&amp;quot;,&lt;br&gt;       
                             &amp;quot;value&amp;quot;: &amp;quot;lg&amp;quot;&lt;br&gt;   
                             }&lt;br&gt;                         ]&lt;br&gt;       
                 }&lt;br&gt;                 },&lt;br&gt;                 {&lt;br&gt;   
                     &amp;quot;defaultValue&amp;quot;: &amp;quot;false&amp;quot;,&lt;br&gt;   
                     &amp;quot;description&amp;quot;:
    &amp;quot;isButtonIcon&amp;quot;,&lt;br&gt;                     &amp;quot;label&amp;quot;:
    &amp;quot;button-icon-tab&amp;quot;,&lt;br&gt;                   
     &amp;quot;name&amp;quot;: &amp;quot;isButtonIcon&amp;quot;,&lt;br&gt;                   
     &amp;quot;type&amp;quot;: &amp;quot;checkbox&amp;quot;&lt;br&gt;                 },&lt;br&gt;
                    {&lt;br&gt;                     &amp;quot;dataType&amp;quot;:
    &amp;quot;string&amp;quot;,&lt;br&gt;                   
     &amp;quot;defaultValue&amp;quot;: &amp;quot;plus&amp;quot;,&lt;br&gt;                   
     &amp;quot;label&amp;quot;: &amp;quot;icon&amp;quot;,&lt;br&gt;                   
     &amp;quot;name&amp;quot;: &amp;quot;buttonIcon&amp;quot;,&lt;br&gt;                   
     &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;,&lt;br&gt;                   
     &amp;quot;typeOptions&amp;quot;: {&lt;br&gt;                       
     &amp;quot;placeholder&amp;quot;: &amp;quot;icon&amp;quot;&lt;br&gt;                   
     }&lt;br&gt;                 },&lt;br&gt;                 {&lt;br&gt;               
         &amp;quot;dataType&amp;quot;: &amp;quot;string&amp;quot;,&lt;br&gt;               
         &amp;quot;defaultValue&amp;quot;: &amp;quot;primary&amp;quot;,&lt;br&gt;           
             &amp;quot;label&amp;quot;: &amp;quot;footer-button-type&amp;quot;,&lt;br&gt;   
                     &amp;quot;name&amp;quot;: &amp;quot;buttonType&amp;quot;,&lt;br&gt;   
                     &amp;quot;type&amp;quot;: &amp;quot;select&amp;quot;,&lt;br&gt;       
                 &amp;quot;typeOptions&amp;quot;: {&lt;br&gt;                       
     &amp;quot;validValues&amp;quot;: [&lt;br&gt;                             {&lt;br&gt;   
                                 &amp;quot;value&amp;quot;:
    &amp;quot;primary&amp;quot;&lt;br&gt;                             },&lt;br&gt;       
                         {&lt;br&gt;                               
     &amp;quot;value&amp;quot;: &amp;quot;secondary&amp;quot;&lt;br&gt;                       
         },&lt;br&gt;                             {&lt;br&gt;                       
             &amp;quot;value&amp;quot;: &amp;quot;link&amp;quot;&lt;br&gt;                   
             },&lt;br&gt;                             {&lt;br&gt;                   
                 &amp;quot;value&amp;quot;: &amp;quot;outline-primary&amp;quot;&lt;br&gt;   
                             },&lt;br&gt;                             {&lt;br&gt;   
                                 &amp;quot;value&amp;quot;:
    &amp;quot;outline-secondary&amp;quot;&lt;br&gt;                             }&lt;br&gt;
                            ]&lt;br&gt;                     }&lt;br&gt;           
         },&lt;br&gt;                 {&lt;br&gt;                   
     &amp;quot;dataType&amp;quot;: &amp;quot;string&amp;quot;,&lt;br&gt;                   
     &amp;quot;defaultValue&amp;quot;: &amp;quot;&amp;quot;,&lt;br&gt;                   
     &amp;quot;label&amp;quot;: &amp;quot;modal-alignment&amp;quot;,&lt;br&gt;               
         &amp;quot;name&amp;quot;: &amp;quot;modalVerticalAlignment&amp;quot;,&lt;br&gt;   
                     &amp;quot;type&amp;quot;: &amp;quot;select&amp;quot;,&lt;br&gt;       
                 &amp;quot;typeOptions&amp;quot;: {&lt;br&gt;                       
     &amp;quot;validValues&amp;quot;: [&lt;br&gt;                             {&lt;br&gt;   
                                 &amp;quot;label&amp;quot;: &amp;quot;top&amp;quot;,&lt;br&gt;
                                    &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;&lt;br&gt;
                                },&lt;br&gt;                             {&lt;br&gt;
                                    &amp;quot;label&amp;quot;:
    &amp;quot;centered&amp;quot;,&lt;br&gt;                               
     &amp;quot;value&amp;quot;: &amp;quot;modal-dialog-centered&amp;quot;&lt;br&gt;           
                     }&lt;br&gt;                         ]&lt;br&gt;               
         }&lt;br&gt;                 }&lt;br&gt;             ]&lt;br&gt;         }&lt;br&gt;   
     ]&lt;br&gt; }&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
  &lt;li&gt;HTML&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;&amp;lt;div class=&amp;quot;fragment_37&amp;quot;&amp;gt;&lt;br&gt;      &amp;lt;div
    class=&amp;quot;component-button text-break&amp;quot;&amp;gt;&lt;br&gt;       
     &amp;lt;button class=&amp;quot;btn modal-btn
    btn-${configuration.buttonSize}
    btn-${configuration.buttonType}&amp;quot; data-toggle=&amp;quot;modal&amp;quot;
    id=&amp;quot;fragment-${fragmentEntryLinkNamespace}-link-1&amp;quot;&amp;gt;&lt;br&gt;
                [#if configuration.isButtonIcon]&lt;br&gt;               
     [@clay[&amp;quot;icon&amp;quot;]
    symbol=&amp;quot;${configuration.buttonIcon}&amp;quot; /]&lt;br&gt;           
     [#else]&lt;br&gt;                 Go Somewhere&lt;br&gt;             [/#if]&lt;br&gt;
                &lt;br&gt;         &amp;lt;/button&amp;gt;&lt;br&gt;     &amp;lt;/div&amp;gt;&lt;br&gt;   
     &amp;lt;div class=&amp;quot;fragment-modal text-center&amp;quot;&amp;gt;&lt;br&gt;       
     &amp;lt;div aria-hidden=&amp;quot;false&amp;quot;
    aria-labelledby=&amp;quot;fragmentModalLabel&amp;quot; class=&amp;quot;fade
    modal modal-root&amp;quot; role=&amp;quot;dialog&amp;quot; style=&amp;quot;display:
    none&amp;quot; tabindex=&amp;quot;-1&amp;quot;&amp;gt;&lt;br&gt;             &amp;lt;div
    class=&amp;quot;modal-dialog ${configuration.modalVerticalAlignment}
    modal-lg&amp;quot;&amp;gt;&lt;br&gt;                 &amp;lt;div
    class=&amp;quot;modal-content&amp;quot;&amp;gt;&lt;br&gt;                     &amp;lt;div
    class=&amp;quot;modal-header&amp;quot;&amp;gt;&lt;br&gt;                     &amp;lt;div
    class=&amp;quot;modal-title&amp;quot;
    data-lfr-editable-id=&amp;quot;element-text&amp;quot;
    data-lfr-editable-type=&amp;quot;text&amp;quot;
    id=&amp;quot;fragmentModalLabel&amp;quot;&amp;gt;&lt;br&gt;                           
     Raise Exception&lt;br&gt;                         &amp;lt;/div&amp;gt;&lt;/p&gt;
  &lt;p&gt;                    &amp;lt;button aria-labelledby=&amp;quot;Close&amp;quot;
    class=&amp;quot;btn btn-unstyled close&amp;quot;
    data-dismiss=&amp;quot;modal&amp;quot; role=&amp;quot;button&amp;quot;
    type=&amp;quot;button&amp;quot;&amp;gt;&lt;br&gt;                           
     [@liferay_ui.icon icon=&amp;quot;times&amp;quot;
    markupView=&amp;quot;lexicon&amp;quot; /]&lt;br&gt;                       
     &amp;lt;/button&amp;gt;&lt;br&gt;                     &amp;lt;/div&amp;gt;&lt;/p&gt;
  &lt;p&gt;                    &amp;lt;div class=&amp;quot;modal-body&amp;quot;&amp;gt;&lt;br&gt;   
                         &amp;lt;lfr-drop-zone
    id=&amp;quot;modal-body&amp;quot;&amp;gt;&amp;lt;/lfr-drop-zone&amp;gt;&lt;br&gt;           
             &amp;lt;/div&amp;gt;&lt;/p&gt;
  &lt;p&gt;                    &lt;br&gt;                 &amp;lt;/div&amp;gt;&lt;br&gt;       
         &amp;lt;/div&amp;gt;&lt;br&gt;         &amp;lt;/div&amp;gt;&lt;br&gt;     &amp;lt;/div&amp;gt;&lt;br&gt; &amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
  &lt;li&gt;JS&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;const editMode = document.body.classList.contains('has-edit-mode-menu');&lt;/p&gt;
  &lt;p&gt;const fragmentButton = fragmentElement.querySelector('.component-button');&lt;/p&gt;
  &lt;p&gt;const fragmentModal = fragmentElement.querySelector('.modal-root');&lt;/p&gt;
  &lt;p&gt;const backdrop = document.createElement('div');&lt;/p&gt;
  &lt;p&gt;const openModal = () =&amp;gt; {&lt;br&gt;     fragmentModal.style.display =
    'block';&lt;br&gt;     fragmentModal.classList.add('show');&lt;/p&gt;
  &lt;p&gt;    backdrop.className = 'modal-backdrop fade show';&lt;/p&gt;
  &lt;p&gt;    document.body.appendChild(backdrop);&lt;/p&gt;
  &lt;p&gt;  
     fragmentModal.querySelectorAll('[data-dismiss=&amp;quot;modal&amp;quot;]').forEach(item
    =&amp;gt; {&lt;br&gt;         item.addEventListener(&lt;br&gt;           
     'click',&lt;br&gt;             event =&amp;gt; {&lt;br&gt;               
     closeModal();&lt;br&gt;             }&lt;br&gt;         )&lt;br&gt;     });&lt;br&gt; }&lt;/p&gt;
  &lt;p&gt;const closeModal = () =&amp;gt; {&lt;br&gt;     document.body.removeChild(backdrop);&lt;/p&gt;
  &lt;p&gt;    fragmentModal.classList.remove('show');&lt;/p&gt;
  &lt;p&gt;    fragmentModal.style.display = 'none'&lt;br&gt; }&lt;/p&gt;

  &lt;p&gt;fragmentButton.querySelectorAll('[data-toggle=&amp;quot;modal&amp;quot;]').forEach(item
    =&amp;gt; {&lt;br&gt;     item.addEventListener(&lt;br&gt;         'click',&lt;br&gt;   
         event =&amp;gt; {&lt;br&gt;             openModal();&lt;br&gt;         }&lt;br&gt;   
     )&lt;br&gt; });&lt;/p&gt;
  &lt;p&gt;if (editMode) {&lt;br&gt;     fragmentModal.style.display = 'block';&lt;br&gt;
        fragmentModal.classList.remove('fade', 'modal');&lt;br&gt; }&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
  &lt;li&gt;CSS&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;.fragment_37 {&lt;br&gt; } &lt;/p&gt;
&lt;/blockquote&gt;</summary>
    <dc:creator>Vishal Shah</dc:creator>
    <dc:date>2023-07-07T09:37:20Z</dc:date>
  </entry>
  <entry>
    <title>RE: RE: How to create popup modal with fragment ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121881884" />
    <author>
      <name>Vishal Shah</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121881884</id>
    <updated>2023-06-23T05:58:03Z</updated>
    <published>2023-06-23T05:58:02Z</published>
    <summary type="html">&lt;ol&gt;
  &lt;li&gt;Create Basic Fragment from Design (Left side menu bar)&lt;/li&gt;
  &lt;li&gt;HTML Code -  &lt;pre&gt;
&lt;code class="language-html"&gt;&amp;lt;div class=&amp;quot;fragment_37&amp;quot;&amp;gt;
	 &amp;lt;button
	class=&amp;quot;btn btn-primary&amp;quot;
	data-target=&amp;quot;#claySmallModal-${fragmentEntryLinkNamespace}&amp;quot;
	data-toggle=&amp;quot;modal&amp;quot;
	type=&amp;quot;button&amp;quot;
&amp;gt;
	Small Modal
&amp;lt;/button&amp;gt;
&amp;lt;div
	aria-labelledby=&amp;quot;claySmallModalLabel&amp;quot;
	class=&amp;quot;fade modal&amp;quot;
	id=&amp;quot;claySmallModal-${fragmentEntryLinkNamespace}&amp;quot;
	role=&amp;quot;dialog&amp;quot;
	tabindex=&amp;quot;-1&amp;quot;
	aria-hidden=&amp;quot;true&amp;quot;
	style=&amp;quot;display: none;&amp;quot;
&amp;gt;
	&amp;lt;div class=&amp;quot;modal-dialog modal-sm&amp;quot;&amp;gt;
		&amp;lt;div class=&amp;quot;modal-content&amp;quot;&amp;gt;
			&amp;lt;div class=&amp;quot;modal-header&amp;quot;&amp;gt;
				&amp;lt;div class=&amp;quot;modal-title&amp;quot; id=&amp;quot;claySmallModalLabel&amp;quot;&amp;gt;
					Modal Title
				&amp;lt;/div&amp;gt;
				&amp;lt;button
					aria-label=&amp;quot;Close&amp;quot;
					title=&amp;quot;Close&amp;quot;
					class=&amp;quot;close&amp;quot;
					data-dismiss=&amp;quot;modal&amp;quot;
					role=&amp;quot;button&amp;quot;
					type=&amp;quot;button&amp;quot;
				&amp;gt;
					&amp;lt;svg
						class=&amp;quot;lexicon-icon lexicon-icon-times&amp;quot;
						focusable=&amp;quot;false&amp;quot;
						role=&amp;quot;presentation&amp;quot;
					&amp;gt;
						&amp;lt;use href=&amp;quot;/images/icons/icons.svg#times&amp;quot;&amp;gt;&amp;lt;/use&amp;gt;
					&amp;lt;/svg&amp;gt;
				&amp;lt;/button&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&amp;quot;modal-body&amp;quot;&amp;gt;
				&amp;lt;h4&amp;gt;Modal Body&amp;lt;/h4&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&amp;quot;modal-footer&amp;quot;&amp;gt;
				&amp;lt;div class=&amp;quot;modal-item-last&amp;quot;&amp;gt;
					&amp;lt;div class=&amp;quot;btn-group&amp;quot;&amp;gt;
						&amp;lt;div class=&amp;quot;btn-group-item&amp;quot;&amp;gt;
							&amp;lt;button
								class=&amp;quot;btn btn-secondary&amp;quot;
								data-dismiss=&amp;quot;modal&amp;quot;
								type=&amp;quot;button&amp;quot;
							&amp;gt;
								Close
							&amp;lt;/button&amp;gt;
						&amp;lt;/div&amp;gt;
						&amp;lt;div class=&amp;quot;btn-group-item&amp;quot;&amp;gt;
							&amp;lt;button class=&amp;quot;btn btn-primary&amp;quot; type=&amp;quot;button&amp;quot;&amp;gt;
								Primary
							&amp;lt;/button&amp;gt;
						&amp;lt;/div&amp;gt;
					&amp;lt;/div&amp;gt;
				&amp;lt;/div&amp;gt;
			&amp;lt;/div&amp;gt;
		&amp;lt;/div&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;
    &lt;p&gt; &lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;Add Fragment in any of Page, and click on Button, Popup modal is
    not opening.&lt;/li&gt;
&lt;/ol&gt;</summary>
    <dc:creator>Vishal Shah</dc:creator>
    <dc:date>2023-06-23T05:58:02Z</dc:date>
  </entry>
  <entry>
    <title>RE: How to create popup modal with fragment ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121880736" />
    <author>
      <name>Olaf Kock</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121880736</id>
    <updated>2023-06-22T14:22:20Z</updated>
    <published>2023-06-22T14:22:19Z</published>
    <summary type="html">&lt;p&gt;well - the code that you link to obviously works (as demonstrated on
  that site). How about you provide some more details about what you
  actually did? Please provide some minimal actual code sample and
  instructions how to reproduce what you're experiences:
  &lt;em&gt;Where&lt;/em&gt; did you use that sample code? &lt;em&gt;How exactiy&lt;/em&gt;​​​​​​​?&lt;/p&gt;</summary>
    <dc:creator>Olaf Kock</dc:creator>
    <dc:date>2023-06-22T14:22:19Z</dc:date>
  </entry>
  <entry>
    <title>How to create popup modal with fragment ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121872424" />
    <author>
      <name>Vishal Shah</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121872424</id>
    <updated>2023-06-19T15:19:20Z</updated>
    <published>2023-06-19T14:56:13Z</published>
    <summary type="html">&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I tried to use from Clay site to take sample markup for modal to open
  via button, but popup modal not going to open.&lt;/p&gt;
&lt;p&gt;Reference for Markup - &lt;a href="https://clayui.com/docs/components/modal/markup.html"&gt;https://clayui.com/docs/components/modal/markup.html&lt;/a&gt;&lt;/p&gt;</summary>
    <dc:creator>Vishal Shah</dc:creator>
    <dc:date>2023-06-19T14:56:13Z</dc:date>
  </entry>
</feed>
