This is the source code, what you really want to look at is the rendered
DOM. Take a look at the controls with Microsoft Internet Explorer Developer
toolbar:
http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038

This will show you the controls and any associated id, name, etc attributes
which you can then use with Watir.

-Charley

On 4/23/07, Sadeesh Vinoth <[EMAIL PROTECTED]> wrote:

Hi Angrez,

Please find the source of web page developed using smartlcient,
Please let me know weather watir can be used for this.

Source.

<!--------------------------------------------------------------------
    SmartClient SDK
    Component Data Binding example

    Copyright 2001-2007 Isomorphic Software, Inc. (www.isomorphic.com)
---------------------------------------------------------------------->


<HEAD><TITLE>
        SmartClient SDK - Component Data Binding example
</TITLE></HEAD><SCRIPT>window.isomorphicDir='../../isomorphic/';</SCRIPT>
<SCRIPT SRC=../../isomorphic/system/modules/ISC_Core.js?isc_version=5.6.js
></SCRIPT><SCRIPT>isc._lastModule='Core';</SCRIPT>
<SCRIPT SRC=../../isomorphic/system/modules/ISC_Foundation.js?isc_version=
5.6.js></SCRIPT><SCRIPT>isc._lastModule='Foundation';</SCRIPT>
<SCRIPT SRC=../../isomorphic/system/modules/ISC_Containers.js?isc_version=
5.6.js></SCRIPT><SCRIPT>isc._lastModule='Containers';</SCRIPT>
<SCRIPT SRC=../../isomorphic/system/modules/ISC_Grids.js?isc_version=
5.6.js></SCRIPT><SCRIPT>isc._lastModule='Grids';</SCRIPT>

<SCRIPT SRC=../../isomorphic/system/modules/ISC_Forms.js?isc_version=
5.6.js></SCRIPT><SCRIPT>isc._lastModule='Forms';</SCRIPT>
<SCRIPT
SRC=../../isomorphic/system/modules/ISC_DataBinding.js?isc_version=5.6.js
></SCRIPT><SCRIPT>isc._lastModule='DataBinding';</SCRIPT>
<SCRIPT SRC=../../isomorphic/skins/SmartClient/load_skin.js?isc_version=
5.6.js></SCRIPT>

<BODY BGCOLOR=#D3D3D3><SCRIPT>


// load datasources
isc.DataSource.create({
    serverType:"sql",
    fields:{
        itemID:{primaryKey:true, hidden:true, type:"sequence",
name:"itemID"},
        itemName:{
            title:"Item",
            required:true,
            type:"text",
            length:128,
            name:"itemName"
        },
        SKU:{
            title:"SKU",
            required:true,
            type:"text",
            length:10,
            name:"SKU"
        },
        description:{
            title:"Description",
            type:"text",
            length:2000,
            name:"description"
        },
        category:{
            title:"Category",
            required:true,
            type:"text",
            length:128,
            foreignKey:"supplyCategory.itemName",
            name:"category"
        },
        units:{
            title:"Units",
            valueMap:["Roll", "Ea", "Pkt", "Set", "Tube", "Pad", "Ream",
"Tin", "Bag", "Ctn", "Box"],
            type:"enum",
            length:5,
            name:"units"
        },
        unitCost:{
            title:"Unit Cost",
            required:true,
            type:"float",
            validators:[
                {
                    type:"floatRange",
                    min:0,
                    errorMessage:"Please enter a valid (positive) cost"
                },
                {
                    type:"floatPrecision",
                    errorMessage:"The maximum allowed precision is 2",
                    precision:2
                }
            ],
            name:"unitCost"
        },
        inStock:{title:"In Stock", type:"boolean", name:"inStock"},
        nextShipment:{title:"Next Shipment", type:"date",
name:"nextShipment"}
    },
    tableName:"supplyItem",
    testFileName:"supplyItem.data.xml",
    ID:"supplyItem"
})

isc.DataSource.create({
    serverType:"sql",
    fields:{
        Name:{
            title:"Name",
            type:"text",
            length:128,
            name:"Name"
        },
        EmployeeId:{title:"Employee ID", primaryKey:true, required:true,
type:"integer",
                    name:"EmployeeId"},
        ReportsTo:{title:"Manager", required:true, type:"integer",
rootValue:"1",
                   foreignKey:"employees.EmployeeId",name:"ReportsTo"},
        Job:{
            title:"Title",
            type:"text",
            length:128,
            name:"Job"
        },
        Email:{
            title:"Email",
            type:"text",
            length:128,
            name:"Email"
        },
        EmployeeType:{
            title:"Employee Type",
            type:"text",
            length:40,
            name:"EmployeeType"
        },
        EmployeeStatus:{
            title:"Status",
            type:"text",
            length:40,
            name:"EmployeeStatus"
        },
        Salary:{title:"Salary", type:"float", name:"Salary"},
        OrgUnit:{
            title:"Org Unit",
            type:"text",
            length:128,
            name:"OrgUnit"
        },
        Gender:{
            title:"Gender",
            valueMap:["male", "female"],
            type:"text",
            length:7,
            name:"Gender"
        },
        MaritalStatus:{
            title:"Marital Status",
            valueMap:["married", "single"],
            type:"text",
            length:10,
            name:"MaritalStatus"
        }
    },
    tableName:"employeeTable",
    testFileName:"employees.data.xml",
    ID:"employees"
})

isc.DataSource.create({
    serverType:"sql",
    fields:{
        commonName:{title:"Animal", type:"text", name:"commonName"},
        scientificName:{title:"Scientific Name", primaryKey:true,
required:true, type:"text",
                        name:"scientificName"},
        lifeSpan:{title:"Life Span", type:"text", name:"lifeSpan"},
        status:{title:"Endangered Status", type:"text", name:"status"},
        diet:{title:"Diet", type:"text", name:"diet"},
        information:{
            title:"Interesting Facts",
            type:"text",
            length:1000,
            name:"information"
        }
    },
    tableName:"animals",
    testFileName:"animals.data.xml",
    ID:"animals"
})



// create clickable list of datasources
//    This is a good example of a small, read-only list of data for which
//    it is appropriate to set the listGrid.data property directly.
ListGrid.create({
    ID:"dsList",
    left:20, top:75, width:130,
    leaveScrollbarGap:false,
    showSortArrow:"none",
    canSort:false,
    fields:[
        {title:"Select a DataSource", name:"dsTitle"}
    ],
    data:[
        {dsTitle:"Animals", dsName:"animals"},
        {dsTitle:"Office Supplies", dsName:"supplyItem"},
        {dsTitle:"Employees", dsName:"employees"}
    ],
    selectionType:"single",
    recordClick:"bindComponents(record.dsName)"
});


// bind components to the selected datasource, and execute
// a fetch operation with no criteria to populate the boundList
function bindComponents(ds) {
    boundList.setDataSource(ds);
    boundViewer.setDataSource(ds);
    boundForm.setDataSource(ds);
    boundList.fetchData();
    newBtn.enable(); // can't create a new record until a datasource is
selected
    saveBtn.disable(); // no record selected for editing, so disable save
button
}


// create ListGrid, DetailViewer, & DynamicForm components to bind to
datasources
// (nested inside a VStack to manage layout)
VStack.create({
    left:170, top:75,
    width:"70%",
    membersMargin:20,
    members:[

        Label.create({
            ID:"helpText",
            contents:"<ul>" +
                "<li>select a datasource from the list at left to bind to
these components</li>" +
                "<li>click a record in the grid to view and edit that
record in the form</li>" +
                "<li>click <b>New</b> to start editing a new record in the
form</li>" +
                "<li>click <b>Save</b> to save changes to a new or edited
record in the form</li>" +
                "<li>click <b>Clear</b> to clear all fields in the
form</li>" +
                "<li>click <b>Filter</b> to filter (substring match) the
grid based on form values</li>" +
                "<li>click <b>Fetch</b> to fetch records (exact match) for
the grid based on form values</li>" +
                "<li>double-click a record in the grid to edit inline
(press Return, or arrow/tab to another record, to save)</li>" +
                "</ul>"
        }),

        // databound ListGrid
        //   * click records to edit in boundForm and view in boundViewer
        //   * double-click record to edit inline (Return or arrow/tab off
current row to save)
        ListGrid.create({
            ID:"boundList",
            height:200,
            canEdit:true,
            recordClick:"boundForm.editRecord(record); saveBtn.enable();
boundViewer.viewSelectedData(boundList)"
        }),

        // databound DynamicForm
        //   * click boundList records to edit
        DynamicForm.create({
            ID:"boundForm",
            numCols:"6",
            autoFocus:false
        }),

        // toolbar to perform various actions using the boundForm values
(see helpText above)
        Toolbar.create({
            autoDraw:false,
            membersMargin:10,
            buttonConstructor: "IButton",
            height: 22,
            buttons:[
                // click can be defined as a function or a string of
script to execute.
                {title:"Save", click: function () {
                                    boundForm.saveData();
                                    if (!boundForm.hasErrors()) {
                                        boundForm.clearValues();
                                        this.disable();
                                    }
                                },
                 ID:"saveBtn", disabled:true},
                {title:"New", click:"boundForm.editNewRecord();
saveBtn.enable()", ID:"newBtn", disabled:true},
                {title:"Clear", click:"boundForm.clearValues();
saveBtn.disable()"},
                {title:"Filter", click:"boundList.filterData(
boundForm.getValuesAsCriteria()); saveBtn.disable()"},
                {title:"Fetch", click:"boundList.fetchData(
boundForm.getValuesAsCriteria()); saveBtn.disable()"}
            ]
        }),

        // databound DetailViewer
        //   * click boundList records to display
        DetailViewer.create({
            ID:"boundViewer"
        })
    ]
});



</SCRIPT>
</BODY></HTML>


Thanks,
Sadeesh
_______________________________________________
Wtr-general mailing list
Wtr-general@rubyforge.org
http://rubyforge.org/mailman/listinfo/wtr-general

_______________________________________________
Wtr-general mailing list
Wtr-general@rubyforge.org
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to