1 /* This file is purely for documentation purposes, in order to 2 get documentation in jsdoc form. Therefore it's a function 3 that itself does nothing. */ 4 5 6 /** 7 * This class is typically only instantiated by Content Studio. 8 * @class 9 * Identifies an editor. Instances of this class are passed as 10 * arguments to the <code>editor-active</code> and related events. 11 * Its sole function is to identify the editor and to provide a 12 * human readable name of editors. 13 */ 14 15 function EditorControl() { 16 /** 17 * The (full) URI of the editor in question. 18 * @type String 19 */ 20 this.uri = ""; 21 22 /** 23 * The display name of the editor in question 24 * @type String 25 */ 26 this.displayName = ""; 27 } 28 29 30 /** 31 * This class is typically only instantiated by Content Studio. 32 * @class 33 * Identifies a panel, and provides a UI construction facility. 34 * Instances of this class are passed as arguments to the 35 * <code>panel-*</code> events from <code>content-studio</code>. 36 * It allows extensions to identify panel events, and to 37 * initialize a UI inside a particular panel. 38 */ 39 function PanelControl() { 40 /** 41 * The (full) URI of the panel in question. Used to distinguish 42 * panel events from one another, and for cooperating extensions 43 * that wish to share panels. 44 * @type String 45 */ 46 this.uri = ""; 47 48 49 /** 50 * Initialize the panel with the given type of UI with options provided 51 * in <code>options</code>. Currently, only simple list UIs are 52 * supported. The object returned from the method represents the UI 53 * created, allowing further interaction with the UI. 54 * 55 * @param {String} ui The type of user interface to be shown. Currently, only 56 * <code>"list"</code> is supported. 57 * @param {Object} options an object with configuration options for the UI. 58 * @return An object representing the UI. 59 * @todo: must have more documentation!!! 60 */ 61 this.show = function(ui, options) { 62 } 63 64 } 65 66 /** 67 * This class is typically only instantiated by Content Studio. 68 * @class 69 * Identifies a drop, and provides control for current drop object. 70 * Instances of this class are passed as arguments to the 71 * <code>drop</code> events from <code>content-studio</code>. 72 * It allows extensions to identify the current drop, and get the 73 * drop as <code>String<code> data type. 74 */ 75 function DropControl() { 76 /** 77 * Checks whether current drop supports the given <code>mimeType</code> 78 * 79 * @param {string} mimeType the mime-type to be checked for the dropped content 80 * @return <code>true</code> if the <code>mimeType</code> is supported, 81 * <code>false</code> otherwise 82 */ 83 this.supports = function(mimeType) { 84 } 85 86 /** 87 * Returns the dorpped content for the given <code>mimeType</code>. The 88 * data is returned as a <code>string</code>. 89 * 90 * @param {string} mimeType the <code>mimeType</code> of the dropped content 91 * @return the dropped content as <code>string<code> 92 * @throws ScriptException 93 * if the <code>mimeType</code> is not supported or there is error 94 * reading the dropped content. 95 */ 96 this.getData = function(final String mimeType) { 97 } 98 99 } 100 101 102 /** 103 * Instantiates a new XMLHttpRequest instance. 104 * @constructor 105 * @class A standard implementation of the XMLHttpRequest 106 * interface as defined by w3c. 107 * This class does not strive to be binary compatible with 108 * any specific browser implementation, so using a wrapper 109 * library might not work well. 110 * <p> 111 * Notable things about the XHR implementation inside 112 * Content Studio include: 113 * <ul> 114 * <li>The requests will use the same HTTP proxy as Content Studio 115 * itself. 116 * <li>Any requests to the web service using the same base URI, 117 * host name and port are pre-authenticated as the user logged in 118 * to Content Studio. No need to provide credentials in order to 119 * perform operations on behalf of the user 120 * <li>The base URI for relative URIs is the root of the web 121 * service itself, i.e. <code>/webservice/</code>. This means that 122 * well known starting points in the web service can be accessed 123 * using relative URIs, if needed. 124 * <li>XML responses are decoded and made availabe as E4X elements 125 * <li>JSON responses are decoded and made available as JavaScript objects. 126 * </ul> 127 */ 128 function XMLHttpRequest() { 129 130 /** 131 * Sets a request header. 132 */ 133 this.setRequestHeader = function( name, value ) { 134 } 135 136 137 /** 138 * Prepares the XHR to connect to a specific server. 139 */ 140 this.open = function( Method, URL, Asynchronous, UserName, Password ) { 141 } 142 143 /** 144 * An event listener which is invoked every time the readyState changes. 145 */ 146 this.onreadystatechange = function() {} 147 148 } 149 150 151 152