<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to UIMenuSearch</title><link>https://sourceforge.net/p/xe-core/wiki/UIMenuSearch/</link><description>Recent changes to UIMenuSearch</description><atom:link href="https://sourceforge.net/p/xe-core/wiki/UIMenuSearch/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 25 Mar 2015 11:08:46 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/xe-core/wiki/UIMenuSearch/feed" rel="self" type="application/rss+xml"/><item><title>UIMenuSearch modified by Anonymous</title><link>https://sourceforge.net/p/xe-core/wiki/UIMenuSearch/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="menu-search"&gt;Menu Search&lt;/h1&gt;
&lt;p&gt;특정 메뉴를 찾아야 할 필요가 있을 때 사용하는 UI 패턴이다. 기존 Module Search/Module Finder와 기능이 유사하나, 1.7부터 XE 사이트 제작/편집 방식이 모듈 기반이 아닌 메뉴 기반으로 변경 되면서 모듈 선택기가 메뉴 선택기로 변경 됐다. 이 UI를 통해 선택할 수 있는 값은 메뉴 종류, 메뉴 아이디(고유 숫자)이다. &lt;/p&gt;
&lt;h2 id="basics"&gt;Basics&lt;/h2&gt;
&lt;p&gt;input 태그에 아래와 같이 module_search 클래스를 할당하면 해당 필드가 아래 이미지와 같은 모양으로 렌더링 되고, 우측 버튼 클릭 시 메뉴 선택기가 레이어로 나타난다. (기존 모듈 선택기와 호환성을 위해서 동일한 클래스 사용) &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_srl"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_search"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img alt="" src="http://xe-core.googlecode.com/svn/wiki/img/AdminUIMenuSearchExample.png" rel="nofollow" /&gt;&lt;/p&gt;
&lt;p&gt;다중 선택을 허용하기 위해서는 아래와 같이 multiple속성을 설정한다. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_srl"&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;multiple&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_search"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;특정 메뉴 타입만 선택하지 못하게 하고 싶다면 아래와 같이 data-disallowedType을 설정한다. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_srl"&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;disallowedType&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"page,faq"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_search"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;특정 메뉴 타입만 선택 가능하게 하고 싶다면 아래와 같이 data-allowedType을 설정한다. data-allowedType를 설정하면 data-allwedType에 정의되지 않은 나머지 타입은 모두 data-disallowedType에 정의된 것과 마찬가지이다. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_srl"&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;allowedType&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"board"&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"module_search"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="jquery-plugin"&gt;jQuery Plugin&lt;/h2&gt;
&lt;p&gt;이 패턴은 페이지를 읽어들일 때 자동으로 실행되기 때문에 페이지 요소를 동적으로 생성하는 경우에는 적용되지 않는 문제가 있다. 다음과 같이 .module_search 요소를 선택한 후 xeMenuSearch 메소드를 실행하면 페이지를 읽어들인 뒤에도 스크립트를 적용할 수 있다. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;module_search&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;xeMenuSearch&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 25 Mar 2015 11:08:46 -0000</pubDate><guid>https://sourceforge.netdab1893962c02fdd52e03d780afeddec182ec4e3</guid></item></channel></rss>