Adobe Extending Dreamweaver CS4 User Manual
Page 256
250
EXTENDING DREAMWEAVER CS4
Server behaviors
When the
findServerBehaviors()
function creates a behavior object, it usually sets the four properties
(
incomplete
,
participants
,
selectedNode
, and
title
). However, it is sometimes easier to delay setting some
of the properties until all the other server behaviors find instances of themselves. For example, the Move To Next
Record behavior has two participants: a link object and a recordset object. Rather than finding the recordset object
in its
findServerBehaviors()
function, wait until the recordset behavior’s
findServerBehaviors()
function
runs because the recordset finds all instances of itself.
When the Move To Next Record behavior’s
analyzeServerBehavior()
function is called, it gets an array that
contains all the server behavior objects in the document. The function can look through the array for its recordset
object.
Sometimes, during analysis, a single tag in the user’s document is identified by two or more behaviors as being an
instance of that behavior. For example, the
findServerBehaviors()
function for the Dynamic Attribute behavior
might detect an instance of the Dynamic Attribute behavior that is associated with an
input
tag in the user’s
document. At the same time, the
findServerBehaviors()
function for the Dynamic Textfield behavior might
look at the same
input
tag and detect an instance of the Dynamic Textfield behavior. As a result, the Server
Behaviors panel shows the Dynamic Attribute block and the Dynamic Textfield. To correct this problem, the
analyzeServerBehavior()
functions need to delete all but one of these redundant server behaviors.
To delete a server behavior, an
analyzeServerBehavior()
function can set the
deleted
property of any server
behavior to the value
true
. If the
deleted
property still has the value
true
when Dreamweaver finishes calling the
analyzeServerBehavior()
functions, the behavior is deleted from the list.
•
When the user clicks the Plus (+) button in the Server Behaviors panel, the pop-up menu appears.
To determine the content of the menu, Dreamweaver first looks for a ServerBehaviors.xml file in the same folder
as the behaviors. ServerBehaviors.xml references the HTML files that should appear in the menu.
If the referenced HTML file contains a title tag, the contents of the title tag appear in the menu. For example, if the
ServerBehaviors/ASP_Js/ GetRecords.htm file contains the tag
, the text Get
More Records appears in the menu.
If the file does not contain a title tag, the filename appears in the menu. For example, if GetRecords.htm does not
contain a title tag, the text GetRecords appears in the menu.
If there is no ServerBehaviors.xml file or the folder contains one or more HTML files that are not mentioned in
ServerBehaviors.xml, Dreamweaver checks each file for a title tag and uses the title tag or filename to populate the
menu.
If you do not want a file that is in the ServerBehaviors folder to appear in the menu, put the following statement on
the first line in the HTML file:
•
When the user selects an item from the menu, the
canApplyServerBehavior()
function is called. If that function
returns a
true
value, a dialog box appears. When the user clicks OK, the
applyServerBehavior()
function is
called.
•
If the user edits an existing server behavior by double-clicking it, Dreamweaver displays the dialog box, executes
the
onLoad
handler on the
body
tag, if one exists, and then calls the
inspectServerBehavior()
function. The
inspectServerBehavior()
function populates the form elements with the current argument values. When the
user clicks OK, Dreamweaver calls the
applyServerBehavior()
function again.
•
If the user clicks the Minus (-) button, the
deleteServerBehavior()
function is called. The
deleteServerBehavior()
function removes the behavior from the document.