starting work on folder-specific window framework
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 26 Sep 2006 21:34:51 +0000 (21:34 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 26 Sep 2006 21:34:51 +0000 (21:34 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6226 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/reports/oils_rpt.css
Open-ILS/web/reports/oils_rpt.xhtml
Open-ILS/web/reports/oils_rpt_common.xhtml
Open-ILS/web/reports/oils_rpt_folder_window.js [new file with mode: 0644]
Open-ILS/web/reports/oils_rpt_folders.js

index a46c901..483a4e0 100644 (file)
@@ -149,6 +149,16 @@ button {
        padding: 0px; margin: -3px;
 }
 
-#oils_rpt_main_table {
+#oils_rpt_folder_table {
        margin-top: 15px;
+       width: 100%;
+}
+
+#oils_rpt_folder_table_left_td {
+       width: 25%;
 }
+
+#oils_rpt_folder_table_right_td {
+       border-left: 2px solid #E0E0E0; 
+}
+
index 3d63b2b..431b540 100644 (file)
                </div>
 
 
-               <table id='oils_rpt_main_table'>
+               <table id='oils_rpt_folder_table'>
                        <tbody>
                                <tr>
-                                       <td>
+                                       <td id='oils_rpt_folder_table_left_td'>
                                                <div id='oils_rpt_folder_tree_div'>
                                                </div>
                                        </td>
+                                       <td id='oils_rpt_folder_table_right_td'>
+                                               <div id='oils_rpt_folder_window_div'>
+                                               </div>
+                                       </td>
                                </tr>
                        </tbody>
                </table>
index 72b0f52..abb5f55 100644 (file)
@@ -35,6 +35,7 @@
 <script type="text/javascript" src="oils_rpt_builder.js"></script>
 <script type="text/javascript" src="oils_rpt_builder_widgets.js"></script>
 <script type="text/javascript" src="oils_rpt_folders.js"></script>
+<script type="text/javascript" src="oils_rpt_folder_window.js"></script>
 <script type="text/javascript" src="oils_rpt.js"></script>
 
 <link rel="stylesheet" type="text/css" href="oils_rpt.css"> </link>
diff --git a/Open-ILS/web/reports/oils_rpt_folder_window.js b/Open-ILS/web/reports/oils_rpt_folder_window.js
new file mode 100644 (file)
index 0000000..e05a0f7
--- /dev/null
@@ -0,0 +1,30 @@
+
+function oilsRptDrawFolderWindow( type, folderId ) {
+       var node = oilsRptCurrentFolderManager.findNode(type, folderId);
+       _debug('drawing folder window for folder ' + node.folder.name());
+
+       var div = DOM.oils_rpt_folder_window_div;
+
+       switch(type) {
+               case 'template': 
+                       oilsRptDrawTemplateWindow(node);
+                       break;
+               case 'report':
+                       oilsRptDrawReportWindow(node);
+                       break;
+               case 'output':
+                       oilsRptDrawOutputWindow(node);
+                       break;
+       }
+}
+
+
+function oilsRptDrawTemplateWindow(node) {
+}
+
+function oilsRptDrawReportWindow(node) {
+}
+
+function oilsRptDrawOutputWindow(node) {
+}
+
index fcea6f1..3d01007 100644 (file)
@@ -1,3 +1,5 @@
+var oilsRptFolderNodeCache = {};
+
 function oilsRptFolderManager(node) {
        this.node = node;
        this.folderTree = {};
@@ -60,16 +62,20 @@ oilsRptFolderManager.prototype.makeTree = function(type, folders, node, parentId
        } else {
                _debug("making subtree with folder "+node.folder.name());
 
+               var c = oilsRptFolderNodeCache;
+               if(!c[type]) c[type] = {};
+               c[type][node.folder.id()] = node;
+
                id = oilsNextId();
-               oilsRptFolderTree.addNode(id, parentId, node.folder.name());
+
+               var action = 'javascript:oilsRptDrawFolderWindow("'+
+                       type+'","'+node.folder.id()+'");oilsRptFolderTree.toggle("'+id+'");';
+
+               oilsRptFolderTree.addNode(id, parentId, node.folder.name(), action);
                node.treeId = id;
                node.children = [];
                childNodes = grep(folders, 
                        function(i){return (i.parent() == node.folder.id())});
-
-               var req = new Request(OILS_RPT_FETCH_FOLDER_DATA,SESSION,type,node.folder.id());
-               req.callback
-
        } 
 
        if(!childNodes) return;
@@ -77,7 +83,10 @@ oilsRptFolderManager.prototype.makeTree = function(type, folders, node, parentId
                this.makeTree( type, folders, { folder : childNodes[i] }, id );
 }
 
-//oilsRptFolderManager.prototype.make
+oilsRptFolderManager.prototype.findNode = function(type, id) {
+       return oilsRptFolderNodeCache[type][id];
+}
+