Changeset 25544

Show
Ignore:
Timestamp:
08.05.2012 15:16:34 (7 years ago)
Author:
sjm84
Message:

Fixed document creation

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/oran/js/documentmaker_scripts.js

    r25363 r25544  
    9191    //Create the container list and add it to the Document Basket div 
    9292    var containerUL = document.createElement("UL"); 
    93     containerUL.setAttribute("class", "topLevel"); 
     93    containerUL.setAttribute("class", "topLevelItem"); 
    9494    dbDiv.appendChild(containerUL); 
    9595 
     
    147147        newItem.sectionTitle = title; 
    148148        newItem.appendChild(title); 
    149         newItem.setAttribute("class", depth == 0 ? "dragItem topLevel" : "dragItem"); 
     149        newItem.setAttribute("class", depth == 0 ? "dragItem topLevelItem" : "dragItem"); 
    150150        newItem.textDiv = renderedDiv; 
    151151        renderedDiv.parentItem = newItem; 
     
    222222function createNewDocumentArea() 
    223223{ 
    224     //Create the necessary elements 
    225     var topLevelUL = document.createElement("UL"); 
    226     var topLevelLI = document.createElement("LI"); 
    227     var contentUL = document.createElement("UL"); 
    228      
    229     //Append the top-level list item to the top-level list 
    230     topLevelUL.appendChild(topLevelLI); 
    231     topLevelUL.setAttribute("class", "topLevel"); 
    232      
    233     //Set up the top-level item  
    234     topLevelLI.setAttribute("class", "dragItem topLevel"); 
    235     topLevelLI.childList = contentUL; 
    236     contentUL.parentItem = topLevelLI; 
    237      
    238     //Add a textDiv to the top-level item 
    239     var textDiv = createSectionTextDiv(null); 
    240     topLevelLI.textDiv = textDiv; 
    241     topLevelUL.appendChild(textDiv); 
    242      
    243     //Create a blank metadata table 
    244     //TODO: INSERT THIS! 
    245      
    246     //Add a title to the top-level item 
    247     var title = createSectionTitle(gs.text.dse.untitled); 
    248     topLevelLI.appendChild(title); 
    249     topLevelLI.sectionTitle = title; 
    250      
    251     createSectionMenu(topLevelLI); 
    252     setMouseOverAndOutFunctions(topLevelLI); 
    253      
    254     //Set up the placeholder for the first section 
    255     contentUL.setAttribute("class", "dragList"); 
    256     new YAHOO.util.DDTarget(contentUL); 
    257      
    258     //Create a placeholder and add it to first section 
    259     var placeHolder = createPlaceholder(null, contentUL, false); 
    260     contentUL.appendChild(placeHolder); 
    261      
    262     var dbDiv = document.getElementById("dbDiv"); 
    263      
    264     //Add elements to the page 
    265     if(dbDiv.firstChild) 
    266     { 
    267         dbDiv.insertBefore(topLevelUL, dbDiv.firstChild); 
    268     } 
    269     else 
    270     { 
    271         dbDiv.appendChild(topLevelUL); 
    272     } 
    273     insertAfter(contentUL, topLevelLI.textDiv); 
    274      
    275     //Correct any issues 
    276     updateFromTop(); 
     224    var createButton = document.getElementById("createNewDocumentButton"); 
     225    createButton.disabled = true; 
     226     
     227    var saveButton = document.getElementById("saveButton"); 
     228    saveButton.disabled = true; 
     229     
     230    var statusID = _statusBar.addStatus("Creating document..."); 
     231 
     232    var newID = "HASH" + gs.functions.hashString("" + (new Date()).getTime()); 
     233 
     234    var ajax = new gs.functions.ajaxRequest(); 
     235    ajax.open("POST", gs.xsltParams.library_name, true); 
     236    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
     237    ajax.onreadystatechange = function() 
     238    { 
     239        if(ajax.readyState == 4 && ajax.status == 200) 
     240        { 
     241            buildCollections([gs.cgiParams.p_c], [newID], function() 
     242            { 
     243                //Create the necessary elements 
     244                var topLevelUL = document.createElement("UL"); 
     245                var topLevelLI = document.createElement("LI"); 
     246                var contentUL = document.createElement("UL"); 
     247                 
     248                //Append the top-level list item to the top-level list 
     249                topLevelUL.appendChild(topLevelLI); 
     250                topLevelUL.setAttribute("class", "topLevelItem"); 
     251                 
     252                //Set up the top-level item  
     253                topLevelLI.setAttribute("class", "dragItem topLevelItem"); 
     254                topLevelLI.childList = contentUL; 
     255                topLevelLI.collection = gs.cgiParams.p_c; 
     256                topLevelLI.nodeID = newID; 
     257                contentUL.parentItem = topLevelLI; 
     258                 
     259                //Add a textDiv to the top-level item 
     260                var textDiv = createSectionTextDiv(null); 
     261                textDiv.parentItem = topLevelLI; 
     262                topLevelLI.textDiv = textDiv; 
     263                topLevelUL.appendChild(textDiv); 
     264                 
     265                //Create a blank metadata table 
     266                var metaTable = document.createElement("TABLE"); 
     267                metaTable.setAttribute("id", "meta" + newID); 
     268                textDiv.insertBefore(metaTable, textDiv.firstChild); 
     269                var titleMetaRow = document.createElement("TR"); 
     270                var titleMetaNameCell = document.createElement("TD"); 
     271                titleMetaNameCell.innerHTML = "dc.Title"; 
     272                titleMetaNameCell.setAttribute("class", "metaTableCellName"); 
     273                var titleMetaValueCell = document.createElement("TD"); 
     274                titleMetaValueCell.setAttribute("class", "metaTableCell editable"); 
     275                titleMetaValueCell.innerHTML = "UNTITLED DOCUMENT"; 
     276                titleMetaRow.appendChild(titleMetaNameCell); 
     277                titleMetaRow.appendChild(titleMetaValueCell); 
     278                metaTable.appendChild(titleMetaRow); 
     279                addFunctionalityToTable(metaTable); 
     280 
     281                //Add a title to the top-level item 
     282                var title = createSectionTitle(gs.text.dse.untitled); 
     283                topLevelLI.appendChild(title); 
     284                topLevelLI.sectionTitle = title; 
     285 
     286                createSectionMenu(topLevelLI); 
     287                setMouseOverAndOutFunctions(topLevelLI); 
     288 
     289                //Set up the placeholder for the first section 
     290                contentUL.setAttribute("class", "dragList"); 
     291                new YAHOO.util.DDTarget(contentUL); 
     292 
     293                //Create a placeholder and add it to first section 
     294                var placeHolder = createPlaceholder(null, contentUL, false); 
     295                contentUL.appendChild(placeHolder); 
     296 
     297                //Add elements to the page 
     298                var dbDiv = document.getElementById("dbDiv"); 
     299                if(dbDiv.firstChild) 
     300                { 
     301                    dbDiv.insertBefore(topLevelUL, dbDiv.firstChild); 
     302                } 
     303                else 
     304                { 
     305                    dbDiv.appendChild(topLevelUL); 
     306                } 
     307                insertAfter(contentUL, topLevelLI.textDiv); 
     308 
     309                //Correct any issues 
     310                updateFromTop(); 
     311            }); 
     312            createButton.disabled = false; 
     313            saveButton.disabled = false; 
     314            _statusBar.removeStatus(statusID); 
     315        } 
     316        else if (ajax.readyState == 4) 
     317        { 
     318            createButton.disabled = false; 
     319            saveButton.disabled = false; 
     320            _statusBar.removeStatus(statusID); 
     321        } 
     322    } 
     323    console.log('[{"operation":"createDocument", "oid":"' + newID + '", "collection":"' + gs.cgiParams.p_c + '"}]'); 
     324    ajax.send('a=g&rt=r&s=DocumentExecuteTransaction&s1.transactions=[{"operation":"createDocument", "oid":"' + newID + '", "collection":"' + gs.cgiParams.p_c + '"}]'); 
    277325} 
    278326 
     
    640688            } 
    641689             
    642             if(!gs.functions.hasClass(current, "topLevel")) 
     690            if(!gs.functions.hasClass(current, "topLevelItem")) 
    643691            { 
    644692                current.nodeID = currentDocument + "." + pos;