beautypg.com

Adobe Extending Dreamweaver CS4 User Manual

Page 256

background image

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

Get More Records

, 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.

This manual is related to the following products: