2 "name" : "Roo.form.DayPicker",
9 "desc" : "A Day picker show [M] [T] [W] ....",
10 "isSingleton" : false,
17 "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
18 "memberOf" : "Roo.form.Field",
25 "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n listeners : { \n 'click' : function(e) {\n ..... \n } ,\n .... \n } \n </code></pre>",
26 "memberOf" : "Roo.util.Observable",
33 "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
34 "memberOf" : "Roo.form.Field",
39 "name" : "fieldLabel",
41 "desc" : "Label to use when rendering a form.",
42 "memberOf" : "Roo.form.Field",
47 "name" : "validationDelay",
49 "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
50 "memberOf" : "Roo.form.Field",
57 "desc" : "The location where error text should display. Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue Description\n----------- ----------------------------------------------------------------------\nqtip Display a quick tip when the user hovers over the field\ntitle Display a default browser title attribute popup\nunder Add a block div beneath the field containing the error text\nside Add an error icon to the right of the field with a popup on hover\n[element id] Add the error text directly to the innerHTML of the specified element\n</pre>",
58 "memberOf" : "Roo.form.Field",
65 "desc" : "How this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
66 "memberOf" : "Roo.Component",
75 "desc" : "True to disable the field (defaults to false).",
76 "memberOf" : "Roo.form.Field",
83 "desc" : "A value to initialize this field with.",
84 "memberOf" : "Roo.form.Field",
89 "name" : "allowDomMove",
91 "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
92 "memberOf" : "Roo.Component",
99 "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
100 "memberOf" : "Roo.form.Field",
107 "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
108 "memberOf" : "Roo.form.Field",
113 "name" : "invalidClass",
115 "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
116 "memberOf" : "Roo.form.Field",
123 "desc" : "A CSS class to apply to the field's underlying element.",
124 "memberOf" : "Roo.form.Field",
129 "name" : "autoCreate",
130 "type" : "String/Object",
131 "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
132 "memberOf" : "Roo.form.DayPicker",
137 "name" : "invalidText",
139 "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
140 "memberOf" : "Roo.form.Field",
145 "name" : "actionMode",
147 "desc" : "which property holds the element that used for hide() / show() / disable() / enable()\ndefault is 'el'",
148 "memberOf" : "Roo.Component",
155 "desc" : "width (optional) size of component",
156 "memberOf" : "Roo.BoxComponent",
161 "name" : "validateOnBlur",
163 "desc" : "Whether the field should validate when it loses focus (defaults to true).",
164 "memberOf" : "Roo.form.Field",
169 "name" : "validationEvent",
170 "type" : "String/Boolean",
171 "desc" : "The event that should initiate field validation. Set to false to disable\n automatic validation (defaults to \"keyup\").",
172 "memberOf" : "Roo.form.Field",
177 "name" : "fieldClass",
179 "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
180 "memberOf" : "Roo.form.DayPicker",
185 "name" : "focusClass",
187 "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
188 "memberOf" : "Roo.form.DayPicker",
195 "desc" : "The field's HTML name attribute.",
196 "memberOf" : "Roo.form.Field",
203 "desc" : "Mouse over tip",
204 "memberOf" : "Roo.form.Field",
211 "desc" : "height (optional) size of component",
212 "memberOf" : "Roo.BoxComponent",
217 "name" : "disableClass",
219 "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
220 "memberOf" : "Roo.Component",
228 "desc" : "Returns the checked state of the checkbox.",
230 "isConstructor" : false,
232 "memberOf" : "Roo.form.DayPicker",
243 "desc" : "True if checked, else false"
249 "desc" : "Sets the checked state of the checkbox.\nOn is always based on a string comparison between inputValue and the param.",
251 "isConstructor" : false,
253 "memberOf" : "Roo.form.DayPicker",
261 "type" : "Boolean/String",
262 "desc" : "- the value to set",
266 "name" : "suppressEvent",
267 "type" : "Boolean/String",
268 "desc" : "- whether to suppress the checkchange event.",
277 "desc" : "Validates the field value",
279 "isConstructor" : false,
281 "memberOf" : "Roo.form.Field",
292 "desc" : "True if the value is valid, else false"
298 "desc" : "Returns the name attribute of the field if available",
300 "isConstructor" : false,
302 "memberOf" : "Roo.form.Field",
313 "desc" : "name The field name"
318 "name" : "markInvalid",
319 "desc" : "Mark this field as invalid",
321 "isConstructor" : false,
323 "memberOf" : "Roo.form.Field",
332 "desc" : "The validation message",
340 "name" : "getRawValue",
341 "desc" : "Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see {@link #getValue}.",
343 "isConstructor" : false,
345 "memberOf" : "Roo.form.Field",
356 "desc" : "value The field value"
362 "desc" : "Apply the behaviors of this component to an existing element. <b>This is used instead of render().</b>",
364 "isConstructor" : false,
366 "memberOf" : "Roo.form.Field",
374 "type" : "String/HTMLElement/Element",
375 "desc" : "The id of the node, a DOM node or an existing Element",
382 "type" : "Roo.form.Field",
388 "name" : "resetHasChanged",
389 "desc" : "stores the current value in loadedValue",
391 "isConstructor" : false,
393 "memberOf" : "Roo.form.Field",
405 "desc" : "Returns true if this field has been changed since it was originally loaded and is not disabled.\nDEPRICATED - it never worked well - use hasChanged/resetHasChanged.",
407 "isConstructor" : false,
409 "memberOf" : "Roo.form.Field",
420 "name" : "setRawValue",
421 "desc" : "Sets the underlying DOM field's value directly, bypassing validation. To set the value with validation see {@link #setValue}.",
423 "isConstructor" : false,
425 "memberOf" : "Roo.form.Field",
434 "desc" : "The value to set",
442 "name" : "clearInvalid",
443 "desc" : "Clear any invalid styles/messages for this field",
445 "isConstructor" : false,
447 "memberOf" : "Roo.form.Field",
459 "desc" : "Returns whether or not the field value is currently valid",
461 "isConstructor" : false,
463 "memberOf" : "Roo.form.Field",
470 "name" : "preventMark",
472 "desc" : "True to disable marking the field invalid",
480 "desc" : "True if the value is valid, else false"
486 "desc" : "Resets the current field value to the originally loaded value and clears any validation messages",
488 "isConstructor" : false,
490 "memberOf" : "Roo.form.Field",
501 "name" : "hasChanged",
502 "desc" : "checks the current value against the 'loaded' value.\nNote - will return false if 'resetHasChanged' has not been called first.",
504 "isConstructor" : false,
506 "memberOf" : "Roo.form.Field",
517 "name" : "updateBox",
518 "desc" : "Sets the current box measurements of the component's underlying element.",
520 "isConstructor" : false,
522 "memberOf" : "Roo.BoxComponent",
531 "desc" : "An object in the format {x, y, width, height}",
539 "name" : "setPagePosition",
540 "desc" : "Sets the page XY position of the component. To set the left and top instead, use {@link #setPosition}.\nThis method fires the move event.",
542 "isConstructor" : false,
544 "memberOf" : "Roo.BoxComponent",
553 "desc" : "The new x position",
559 "desc" : "The new y position",
568 "desc" : "Force the component's size to recalculate based on the underlying element's current height and width.",
570 "isConstructor" : false,
572 "memberOf" : "Roo.BoxComponent",
584 "desc" : "Sets the width and height of the component. This method fires the resize event. This method can accept\neither width and height as separate numeric arguments, or you can pass a size object like {width:10, height:20}.",
586 "isConstructor" : false,
588 "memberOf" : "Roo.BoxComponent",
596 "type" : "Number/Object",
597 "desc" : "The new width to set, or a size object in the format {width, height}",
603 "desc" : "The new height to set (not required if a size object is passed as the first arg)",
610 "type" : "Roo.BoxComponent",
616 "name" : "getPosition",
617 "desc" : "Gets the current XY position of the component's underlying element.",
619 "isConstructor" : false,
621 "memberOf" : "Roo.BoxComponent",
630 "desc" : "(optional) If true the element's left and top are returned instead of page XY (defaults to false)",
638 "desc" : "The XY position of the element (e.g., [100, 200])"
644 "desc" : "Called after the component is resized, this method is empty by default but can be implemented by any\nsubclass that needs to perform custom logic after a resize occurs.",
646 "isConstructor" : false,
648 "memberOf" : "Roo.BoxComponent",
657 "desc" : "The box-adjusted width that was set",
661 "name" : "adjHeight",
663 "desc" : "The box-adjusted height that was set",
669 "desc" : "The width that was originally specified",
673 "name" : "rawHeight",
675 "desc" : "The height that was originally specified",
684 "desc" : "Gets the current box measurements of the component's underlying element.",
686 "isConstructor" : false,
688 "memberOf" : "Roo.BoxComponent",
697 "desc" : "(optional) If true the element's left and top are returned instead of page XY (defaults to false)",
706 "desc" : "Gets the current size of the component's underlying element.",
708 "isConstructor" : false,
710 "memberOf" : "Roo.BoxComponent",
721 "desc" : "An object containing the element's size {width: (element width), height: (element height)}"
726 "name" : "onPosition",
727 "desc" : "Called after the component is moved, this method is empty by default but can be implemented by any\nsubclass that needs to perform custom logic after a move occurs.",
729 "isConstructor" : false,
731 "memberOf" : "Roo.BoxComponent",
740 "desc" : "The new x position",
746 "desc" : "The new y position",
754 "name" : "setPosition",
755 "desc" : "Sets the left and top of the component. To set the page XY position instead, use {@link #setPagePosition}.\nThis method fires the move event.",
757 "isConstructor" : false,
759 "memberOf" : "Roo.BoxComponent",
768 "desc" : "The new left",
774 "desc" : "The new top",
783 "desc" : "Returns the id of this component.",
785 "isConstructor" : false,
787 "memberOf" : "Roo.Component",
804 "desc" : "If this is a lazy rendering component, render it to its container element.",
806 "isConstructor" : false,
808 "memberOf" : "Roo.Component",
815 "name" : "container",
816 "type" : "String/HTMLElement/Element",
817 "desc" : "(optional) The element this component should be rendered into. If it is being applied to existing markup, this should be left off.",
826 "desc" : "Destroys this component by purging any event listeners, removing the component's element from the DOM,\nremoving the component from its {@link Roo.Container} (if applicable) and unregistering it from {@link Roo.ComponentMgr}.",
828 "isConstructor" : false,
830 "memberOf" : "Roo.Component",
841 "name" : "isVisible",
842 "desc" : "Returns true if this component is visible.",
844 "isConstructor" : false,
846 "memberOf" : "Roo.Component",
857 "name" : "setDisabled",
858 "desc" : "Convenience function for setting disabled/enabled by boolean.",
860 "isConstructor" : false,
862 "memberOf" : "Roo.Component",
880 "desc" : "Hide this component.",
882 "isConstructor" : false,
884 "memberOf" : "Roo.Component",
894 "type" : "Roo.Component",
901 "desc" : "Try to focus this component.",
903 "isConstructor" : false,
905 "memberOf" : "Roo.Component",
912 "name" : "selectText",
914 "desc" : "True to also select the text in this component (if applicable)",
921 "type" : "Roo.Component",
928 "desc" : "Show this component.",
930 "isConstructor" : false,
932 "memberOf" : "Roo.Component",
942 "type" : "Roo.Component",
949 "desc" : "Enable this component.",
951 "isConstructor" : false,
953 "memberOf" : "Roo.Component",
963 "type" : "Roo.Component",
969 "name" : "setVisible",
970 "desc" : "Convenience function to hide or show this component by boolean.",
972 "isConstructor" : false,
974 "memberOf" : "Roo.Component",
983 "desc" : "True to show, false to hide",
990 "type" : "Roo.Component",
997 "desc" : "Disable this component.",
999 "isConstructor" : false,
1000 "isPrivate" : false,
1001 "memberOf" : "Roo.Component",
1011 "type" : "Roo.Component",
1018 "desc" : "Returns the underlying {@link Roo.Element}.",
1020 "isConstructor" : false,
1021 "isPrivate" : false,
1022 "memberOf" : "Roo.Component",
1032 "type" : "Roo.Element",
1033 "desc" : "The element"
1038 "name" : "purgeListeners",
1039 "desc" : "Removes all listeners for this object",
1041 "isConstructor" : false,
1042 "isPrivate" : false,
1043 "memberOf" : "Roo.util.Observable",
1055 "desc" : "Appends an event handler to this element (shorthand for addListener)",
1057 "isConstructor" : false,
1058 "isPrivate" : false,
1059 "memberOf" : "Roo.util.Observable",
1066 "name" : "eventName",
1068 "desc" : "The type of event to listen for",
1069 "isOptional" : false
1073 "type" : "Function",
1074 "desc" : "The method the event invokes",
1075 "isOptional" : false
1080 "desc" : "(optional) The scope in which to execute the handler\nfunction. The handler function's \"this\" context.",
1081 "isOptional" : false
1086 "desc" : "(optional)",
1087 "isOptional" : false
1095 "desc" : "Removes a listener (shorthand for removeListener)",
1097 "isConstructor" : false,
1098 "isPrivate" : false,
1099 "memberOf" : "Roo.util.Observable",
1106 "name" : "eventName",
1108 "desc" : "The type of event to listen for",
1109 "isOptional" : false
1113 "type" : "Function",
1114 "desc" : "The handler to remove",
1115 "isOptional" : false
1120 "desc" : "(optional) The scope (this object) for the handler",
1121 "isOptional" : false
1128 "name" : "addEvents",
1129 "desc" : "Used to define events on this Observable",
1131 "isConstructor" : false,
1132 "isPrivate" : false,
1133 "memberOf" : "Roo.util.Observable",
1142 "desc" : "The object with the events defined",
1143 "isOptional" : false
1150 "name" : "releaseCapture",
1151 "desc" : "Removes <b>all</b> added captures from the Observable.",
1153 "isConstructor" : false,
1154 "isPrivate" : false,
1155 "memberOf" : "Roo.util.Observable",
1163 "type" : "Observable",
1164 "desc" : "The Observable to release",
1165 "isOptional" : false
1172 "name" : "removeListener",
1173 "desc" : "Removes a listener",
1175 "isConstructor" : false,
1176 "isPrivate" : false,
1177 "memberOf" : "Roo.util.Observable",
1184 "name" : "eventName",
1186 "desc" : "The type of event to listen for",
1187 "isOptional" : false
1191 "type" : "Function",
1192 "desc" : "The handler to remove",
1193 "isOptional" : false
1198 "desc" : "(optional) The scope (this object) for the handler",
1199 "isOptional" : false
1206 "name" : "fireEvent",
1207 "desc" : "Fires the specified event with the passed parameters (minus the event name).",
1209 "isConstructor" : false,
1210 "isPrivate" : false,
1211 "memberOf" : "Roo.util.Observable",
1218 "name" : "eventName",
1221 "isOptional" : false
1225 "type" : "Object...",
1226 "desc" : "Variable number of parameters are passed to handlers",
1227 "isOptional" : false
1234 "desc" : "returns false if any of the handlers return false otherwise it returns true"
1239 "name" : "hasListener",
1240 "desc" : "Checks to see if this object has any listeners for a specified event",
1242 "isConstructor" : false,
1243 "isPrivate" : false,
1244 "memberOf" : "Roo.util.Observable",
1251 "name" : "eventName",
1253 "desc" : "The name of the event to check for",
1254 "isOptional" : false
1261 "desc" : "True if the event is being listened for, else false"
1267 "desc" : "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\n<b>before</b> the event is fired. If the supplied function returns false,\nthe event will not fire.",
1269 "isConstructor" : false,
1270 "isPrivate" : false,
1271 "memberOf" : "Roo.util.Observable",
1279 "type" : "Observable",
1280 "desc" : "The Observable to capture",
1281 "isOptional" : false
1285 "type" : "Function",
1286 "desc" : "The function to call",
1287 "isOptional" : false
1292 "desc" : "(optional) The scope (this object) for the fn",
1293 "isOptional" : false
1300 "name" : "addListener",
1301 "desc" : "Appends an event handler to this component",
1303 "isConstructor" : false,
1304 "isPrivate" : false,
1305 "memberOf" : "Roo.util.Observable",
1312 "name" : "eventName",
1314 "desc" : "The type of event to listen for",
1315 "isOptional" : false
1319 "type" : "Function",
1320 "desc" : "The method the event invokes",
1321 "isOptional" : false
1326 "desc" : "(optional) The scope in which to execute the handler\nfunction. The handler function's \"this\" context.",
1327 "isOptional" : false
1332 "desc" : "(optional) An object containing handler configuration\nproperties. This may contain any of the following properties:<ul>\n<li>scope {Object} The scope in which to execute the handler function. The handler function's \"this\" context.</li>\n<li>delay {Number} The number of milliseconds to delay the invocation of the handler after te event fires.</li>\n<li>single {Boolean} True to add a handler to handle just the next firing of the event, and then remove itself.</li>\n<li>buffer {Number} Causes the handler to be scheduled to run in an {@link Roo.util.DelayedTask} delayed\nby the specified number of milliseconds. If the event fires again within that time, the original\nhandler is <em>not</em> invoked, but the new handler is scheduled in its place.</li>\n</ul><br>\n<p>\n<b>Combining Options</b><br>\nUsing the options argument, it is possible to combine different types of listeners:<br>\n<br>\nA normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)\n\t\t<pre><code>\n\t\tel.on('click', this.onClick, this, {\n \t\t\tsingle: true,\n \t\tdelay: 100,\n \t\tforumId: 4\n\t\t});\n\t\t</code></pre>\n<p>\n<b>Attaching multiple handlers in 1 call</b><br>\nThe method also allows for a single argument to be passed which is a config object containing properties\nwhich specify multiple handlers.\n<pre><code>\n\t\tel.on({\n\t\t\t'click': {\n \t\tfn: this.onClick,\n \t\tscope: this,\n \t\tdelay: 100\n \t\t}, \n \t\t'mouseover': {\n \t\tfn: this.onMouseOver,\n \t\tscope: this\n \t\t},\n \t\t'mouseout': {\n \t\tfn: this.onMouseOut,\n \t\tscope: this\n \t\t}\n\t\t});\n\t\t</code></pre>\n<p>\nOr a shorthand syntax which passes the same scope object to all handlers:\n \t<pre><code>\n\t\tel.on({\n\t\t\t'click': this.onClick,\n \t\t'mouseover': this.onMouseOver,\n \t\t'mouseout': this.onMouseOut,\n \t\tscope: this\n\t\t});\n\t\t</code></pre>",
1333 "isOptional" : false
1343 "desc" : "Fires when this field loses input focus.",
1344 "memberOf" : "Roo.form.Field",
1352 "type" : "Roo.form.Field",
1354 "isOptional" : false
1362 "desc" : "Fires after the field has been validated with no errors.",
1363 "memberOf" : "Roo.form.Field",
1371 "type" : "Roo.form.Field",
1373 "isOptional" : false
1380 "name" : "specialkey",
1381 "desc" : "Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed. You can check\n{@link Roo.EventObject#getKey} to determine which key was pressed.",
1382 "memberOf" : "Roo.form.Field",
1390 "type" : "Roo.form.Field",
1392 "isOptional" : false
1396 "type" : "Roo.EventObject",
1397 "desc" : "The event object",
1398 "isOptional" : false
1406 "desc" : "Fires when this field receives input focus.",
1407 "memberOf" : "Roo.form.Field",
1415 "type" : "Roo.form.Field",
1417 "isOptional" : false
1425 "desc" : "Fires after the key up",
1426 "memberOf" : "Roo.form.Field",
1434 "type" : "Roo.form.Field",
1436 "isOptional" : false
1440 "type" : "Roo.EventObject",
1441 "desc" : "The event Object",
1442 "isOptional" : false
1450 "desc" : "Fires after the field has been marked as invalid.",
1451 "memberOf" : "Roo.form.Field",
1459 "type" : "Roo.form.Field",
1461 "isOptional" : false
1466 "desc" : "The validation message",
1467 "isOptional" : false
1475 "desc" : "Fires just before the field blurs if the field value has changed.",
1476 "memberOf" : "Roo.form.Field",
1484 "type" : "Roo.form.Field",
1486 "isOptional" : false
1489 "name" : "newValue",
1491 "desc" : "The new value",
1492 "isOptional" : false
1495 "name" : "oldValue",
1497 "desc" : "The original value",
1498 "isOptional" : false
1506 "desc" : "Fires after the component is moved.",
1507 "memberOf" : "Roo.BoxComponent",
1515 "type" : "Roo.Component",
1517 "isOptional" : false
1522 "desc" : "The new x position",
1523 "isOptional" : false
1528 "desc" : "The new y position",
1529 "isOptional" : false
1537 "desc" : "Fires after the component is resized.",
1538 "memberOf" : "Roo.BoxComponent",
1546 "type" : "Roo.Component",
1548 "isOptional" : false
1551 "name" : "adjWidth",
1553 "desc" : "The box-adjusted width that was set",
1554 "isOptional" : false
1557 "name" : "adjHeight",
1559 "desc" : "The box-adjusted height that was set",
1560 "isOptional" : false
1563 "name" : "rawWidth",
1565 "desc" : "The width that was originally specified",
1566 "isOptional" : false
1569 "name" : "rawHeight",
1571 "desc" : "The height that was originally specified",
1572 "isOptional" : false
1579 "name" : "beforerender",
1580 "desc" : "Fires before the component is rendered. Return false to stop the render.",
1581 "memberOf" : "Roo.Component",
1589 "type" : "Roo.Component",
1591 "isOptional" : false
1599 "desc" : "Fires after the component is disabled.",
1600 "memberOf" : "Roo.Component",
1608 "type" : "Roo.Component",
1610 "isOptional" : false
1618 "desc" : "Fires after the component is rendered.",
1619 "memberOf" : "Roo.Component",
1627 "type" : "Roo.Component",
1629 "isOptional" : false
1637 "desc" : "Fires after the component is destroyed.",
1638 "memberOf" : "Roo.Component",
1646 "type" : "Roo.Component",
1648 "isOptional" : false
1656 "desc" : "Fires after the component is hidden.",
1657 "memberOf" : "Roo.Component",
1665 "type" : "Roo.Component",
1667 "isOptional" : false
1674 "name" : "beforehide",
1675 "desc" : "Fires before the component is hidden. Return false to stop the hide.",
1676 "memberOf" : "Roo.Component",
1684 "type" : "Roo.Component",
1686 "isOptional" : false
1694 "desc" : "Fires after the component is shown.",
1695 "memberOf" : "Roo.Component",
1703 "type" : "Roo.Component",
1705 "isOptional" : false
1712 "name" : "beforeshow",
1713 "desc" : "Fires before the component is shown. Return false to stop the show.",
1714 "memberOf" : "Roo.Component",
1722 "type" : "Roo.Component",
1724 "isOptional" : false
1732 "desc" : "Fires after the component is enabled.",
1733 "memberOf" : "Roo.Component",
1741 "type" : "Roo.Component",
1743 "isOptional" : false
1750 "name" : "beforedestroy",
1751 "desc" : "Fires before the component is destroyed. Return false to stop the destroy.",
1752 "memberOf" : "Roo.Component",
1760 "type" : "Roo.Component",
1762 "isOptional" : false