Creating Custom Dialogs
The Ajax File Browser provides API for creating custom dialogs. You can find a complete example of a custom dialog here.
To show a custom dialog use the ShowDialog method call:
ajaxFileBrowser.ShowDialog(html, { width: '500px' }, 'My Custom Dialog');
It has hollowing parameters:
html - HTML to display in the dialog.
style - style of the dialog. You will usually specify only the width of the dialog here.
title - Title of the dialog.
To close the dialog call ITHit.WebDAV.Client.AjaxFileBrowser.Controller.HideDialog() static method.
The following example creates a custom dialog that display folder selected in Folders Panel, items selected in Files Panel and items under the context menu:
function showMyDialog(aContextMenuHierarchyItems) { // Get item(s) selected under context menu. var contextItemsText = ''; if (aContextMenuHierarchyItems != null) { for (var i = 0; i < aContextMenuHierarchyItems.length; i++) { contextItemsText += aContextMenuHierarchyItems[i].Href + '<br/>'; } } // Get Folder selected in Folders Panel. var folderHierarchyItem = ajaxFileBrowser.GetSelectedFolder(); // Get item(s) selected in Files View Panel. var aSelectedHierarchyItems = ajaxFileBrowser.GetSelectedItems(); var selectedItemsText = ''; for (var i = 0; i < aSelectedHierarchyItems.length; i++) { selectedItemsText += aSelectedHierarchyItems[i].Href + '<br/>'; } var html = '<table cellspacing="10" style="width:100%">' + '<tr><td style="width:60px; vertical-align:top" nowrap="">Context Menu Item(s):</td><td nowrap="">' + contextItemsText + '</td></tr>' + '<tr><td nowrap="">Selected Folder:</td><td nowrap="">' + folderHierarchyItem.Href + '</td></tr>' + '<tr><td style="vertical-align:top" nowrap="">Selected Item(s) in Files View Panel:</td><td nowrap="">' + selectedItemsText + '</td></tr>' + '<tr><td>Some Field:</td><td><input type="text1" id="test" ihDojoType="dijit.form.TextBox" style="width:100%; margin:0;" /></td></tr>' + '<tr><td colspan="2" style="padding-top: 15px; text-align: right; ">' + '<button type="button" ihDojoType="dijit.form.Button" class="ihDialogButton" iconClass="iconOk" onclick="okHandler();" >Submit</button>' + '<button type="button" ihDojoType="dijit.form.Button" class="ihDialogButton" iconClass="iconCancel" onclick="ITHit.WebDAV.Client.AjaxFileBrowser.Controller.HideDialog();" >' + ITHit.Phrases.AjaxFileBrowser.Interface.Cancel + '</button>' + '</td></tr>' + '</table>'; ajaxFileBrowser.ShowDialog(html, { width: '500px' }, 'My Custom Dialog'); }