2013-05-15 2 views
0

Я новичок в Dojo, и я пытаюсь создать диалоговое окно (dijit), отображающее сообщение и значок. Я делаю это программно, и мне удалось создать диалоговое окно, но мне не удалось выяснить, как добавить изображение значка в диалог.Добавление значка сообщения в Dijit Dialog

Я нашел решение, которое казалось многообещающим, но оно не работало.

Вот что я пытался

диалоговое заявление в Dialog.js

this.myDialog = new Dialog({ 

         title: this.title, 
         content: "<center>"+this.content+"</center>"+"<br>", 
         doLayout: false, 
         style: "width: 50%" 
         }); 

Icon класс в CSS

.myIcon { 
background: url("fakepath/images/32.png"); 
background-repeat: no-repeat; 
width: 16px; 
height: 16px; 
text-align: left; 
} 

Декларирование диалог в СПЯ

<ui:dialog title="Dialog Box" id="myDialog" content="Hi There" 
    buttonType="OK" iconClass="myIcon"></ui:dialog> 

I получить диалог p оп с сообщением, но без каких-либо иконок или даже намек на один (пустой заполнитель вы получаете, когда образ пути неправильно)

ответ

0

dijit/Dialog не поддерживает iconClass свойства, так что ничего не делаются с установленным значением.

Куда вы ожидаете, что появится значок? В строке заголовка или в окне содержимого?

Если вы хотите его в строке заголовка, вам нужно будет переопределить шаблон, используемый диалоговым окном при создании экземпляра виджета и создать место для значка в переопределенном шаблоне.

См dijit/templates/Dialog.html

Если вы хотите его как часть окна содержимого, то вам нужно написать, что в HTML, который вы установили в качестве контента.

<div class="dialogMessage"> 
    <div class="dijitInline messageIcon error></div> 
    <div class="dijitInline message"> 
     <span>Your message here.</span> 
    </div> 
</div> 
+0

Мне это нужно как часть моего содержания (значок предупреждения/информации/сообщения). Есть ли способ добавить его программно? потому что мне нужно доставить многоразовый виджет с файлом .tag/.js/.css. Поэтому я не могу добавить его из JSP/HTML –

+0

Да, вы можете сделать это программно. Вы можете написать собственный виджет Dialog, который автоматически устанавливает контент на основе свойств, установленных вами в виджетах (например, iconClass). Я сделал что-то подобное (без jsp) здесь -> https://github.com/cswing/evinceframework/tree/master/evf-web-js/src/dojo/evf/dialog Возможно, вы можете использовать это в качестве базы для что вы пытаетесь сделать. См. Util.js –

Смежные вопросы