booksSample.html

<HTML>

<HEAD>

<script>var dFrameFilePath = '../../../../../dFrame/'</script>

<script language="Javascript" src="../../../../../dFrame/dFrame/lib/DFrameAPI.js"></script>

 

<script language="Javascript">          

     //FormBuffer class

     DFrameAPI.include('/dFrame/ext/formBuffer.js')      

    

     //Style

     DFrameAPI.include('dFrame/styles/green/styleGreen.js')

 

     DFrameAPI.onLoad = function(){               

          dFrameStyle.getDefaultBarStyle().setPos('LEFT')                      

          openBooksDemo()

     }

    

//================================ BOOKS =================================

var DFBooksBase

var DFBooksByAuthors

var DFOrder

var booksBuffer

 

function openBooksDemo() {             

     if (!DFBooksBase) {

          //dFrameBuffer

          booksBuffer = new FormBuffer()           

          //bg document for demo

          DFBooksBase=new DFrame([0,0,100,100],'Order Demo',dFrameStyle)

          DFBooksBase.addText([65,15], 'Select books and click \'Refresh Order\'')           

     }

     DFBooksBase.show()      

     openBooksByAuthors()

}

//============================= List of books ================================

function openBooksByAuthors() {       

     if (!DFBooksByAuthors){

          dFrameStyle.setBordersWidth(1)         

          pos=[10,2,60,50]

          DFBooksByAuthors = new DFrame(pos,'List of books',dFrameStyle, DFBooksBase)

 

          DFBooksByAuthors.addButton('Close', 'DFBooksBase.closeFrame()')

          DFBooksByAuthors.addButton('Refresh Order','refreshOrder()')

 

          DFBooksByAuthors.setMultipleTarget(false)

          DFBooksByAuthors.setTarget('openShowBook()')

     }

     DFBooksByAuthors.setURL('./books/books.html')

}

 

//============================== Show one book if selected in the list or the order==

function openShowBook() {

     if (!DFShowBook){

          var DFShowBook=new DFrame([51,10,95,42],'Book detail', dFrameStyle, DFBooksBase)

          DFShowBook.addButton('Close', 'thisDFrame.closeFrame()')

     }

     return DFShowBook

}

//============================== dFrame for order ============================

function refreshOrder() {

     if (!DFOrder) {

          var pos=[10,50,90,97]  

          pos[1] = [DFBooksByAuthors,'BOTTOM',5]       

          DFOrder=new DFrame(pos,'Order',dFrameStyle, DFBooksBase)

          DFOrder.addButton('Close', 'DFBooksBase.closeFrame()')          

          DFOrder.setTarget('openShowBook()')

     }   

     //Javascript code in orderForm.html form will read booksBuffer's datas and write it on the form

     //2nd 'true' parameter: reload form even if already loaded

     DFOrder.setURL('./books/orderForm.html', true , true)

}

 

function updateBothBookForms(parm, fieldName) {

     //launched each time a checkbox of the list or the order is clicked (select or deselect)

     //see HTML code in books.html or orderForm.html for parameters

     if (parm == 'ViewToOrder'){

          //click in the view

          var source = DFBooksByAuthors

          var target = DFOrder

     } else {

          //click in the order

          var source = DFOrder

          var target = DFBooksByAuthors

     }   

     var elt = new FormBufferElement(source, 0, fieldName)

     //update booksBuffer from elt

     booksBuffer.updateElements(elt);

     //update target's form[0]

     booksBuffer.updateForm(target, 0, fieldName)        

}

</script>

</HEAD>

</HTML>