source: SMC/trunk/SMC/src/web/scripts/js/ui_settings.js @ 2459

Last change on this file since 2459 was 2459, checked in by vronk, 11 years ago

reorganized code,
ui-related in separate files

File size: 8.6 KB
Line 
1
2/**
3 * @fileOverview this is copy of mdservice/mdservice_ui_settings.js
4    It includes all variables and possibilities of app settings concerning following areas:
5 * data loading  - actions - possible to set details of data loading (uri)
6 * pane structure
7 *      - layout_settings[pane_name], layoutBaseSettings - sets the properties of particular panes (ui-layout plugin settings )
8 *      - layout_initialisation - structure of particular pane placement
9 * app functionality - blocks_settings - the properties of particular ui blocks (type of detail-window display, commands-TODO)
10 * @author
11 * @version
12 */
13
14//VARIABLES
15//var jsonw, json_admin;
16var workspace;
17var json_admin;
18var url_params;
19var local_collections = false;
20
21var  element_autocomplete = new Array();
22var  element_autocomplete_explain = new Array();
23var  elements_hashtable =  {};
24
25var outerLayout, middleLayout, innerLayout;
26var block_positions = ["center","north","south","east","west"];
27
28
29// LOAD DATA SEETTINGS
30var actions = {
31                        base: {
32                        base_uri: "/MDService2/"
33                },
34                collections: {
35                        base_uri: "/MDService2/collections/",                   
36                        current:'olac'},
37                elements: {
38                                base_uri: "/MDService2/element/",                       
39                                current:''},
40                terms: {
41                        base_uri: "/MDService2/terms/",                 
42                        current:'all',
43                        maxdepth: 8},
44                terms_autocomplete: {
45                                base_uri: "/MDService2/terms/", 
46                                current:''},
47                components: {
48                                base_uri: "/MDService2/comp/",                         
49                                current:''},
50                                /* current:'cmdi-corpus-aac2'}, */             
51                compprofiles: {
52                                base_uri: "/MDService2/compprofile/",                           
53                                        current:''},
54                                        /* current:'cmdi-corpus-aac2'}, */             
55                               
56                search: {
57                                base_uri: "/MDService2/search/"
58                                },
59
60                isocat: {
61                                base_uri: "/MDService2/datcats/",
62                                current:5
63                                },
64                sru: {
65                                base_uri: "/MDService2/sru/"
66                         },
67                pazpar: {
68                                        base_uri: "/MDService2/pazpar2/"
69                                 },
70                smc: {
71                                        base_uri: "/MDService2/smc/"
72                                },
73                fcs: {
74                                        base_uri: "/MDService2/fcs"
75                                }       
76
77        };
78
79
80
81// LAYOUT SETTING
82var layoutBaseSettings = { 
83               
84                //      center__paneSelector:   ".base-center"
85                //,     west__paneSelector:             ".base-west"
86                //,     east__paneSelector:             ".base-east"
87                //,     north__paneSelector:    ".base-north"
88                    size:                                       "auto"
89                  ,     west__size:                             140 
90                  ,     east__size:                             280 
91                //,     north__size:                    200
92                  ,     spacing_open:                   4//8 // ALL panes
93                //,     spacing_closed:                 12//12 // ALL panes
94                //,     north__spacing_open:    0
95                //,     south__spacing_closed:  0
96                //,     north__maxSize:                 200
97                //,     south__maxSize:                 200
98                  , contentSelector:            ".content"
99};
100
101var layoutSettings_querysearch_advanced = { 
102                north__size:                    200
103        ,       north__spacing_open:    2
104};
105var layoutSettings_columns_collections = { 
106                west__size:                     300
107        ,       west__spacing_open:     2
108};
109var layoutSettings_coll_block = { 
110                north__size:                    60
111        ,       north__spacing_open:    2
112};
113
114/* layout sample
115var layoutSettings_Outer = {
116                name: "outerLayout" // NO FUNCTIONAL USE, but could be used by custom code to 'identify' a layout
117                // options.defaults apply to ALL PANES - but overridden by pane-specific settings
118        ,       defaults: {
119                        size:                                   "auto"
120                ,       minSize:                                50
121                ,       paneClass:                              "pane"          // default = 'ui-layout-pane'
122                ,       resizerClass:                   "resizer"       // default = 'ui-layout-resizer'
123                ,       togglerClass:                   "toggler"       // default = 'ui-layout-toggler'
124                ,       buttonClass:                    "button"        // default = 'ui-layout-button'
125                ,       contentSelector:                ".content"      // inner div to auto-size so only it scrolls, not the entire pane!
126                ,       contentIgnoreSelector:  "span"          // 'paneSelector' for content to 'ignore' when measuring room for content
127                ,       togglerLength_open:             35                      // WIDTH of toggler on north/south edges - HEIGHT on east/west edges
128                ,       togglerLength_closed:   35                      // "100%" OR -1 = full height
129                ,       hideTogglerOnSlide:             true            // hide the toggler when pane is 'slid open'
130                ,       togglerTip_open:                "Close This Pane"
131                ,       togglerTip_closed:              "Open This Pane"
132                ,       resizerTip:                             "Resize This Pane"
133                //      effect defaults - overridden on some panes
134                ,       fxName:                                 "slide"         // none, slide, drop, scale
135                ,       fxSpeed_open:                   750
136                ,       fxSpeed_close:                  1500
137                ,       fxSettings_open:                { easing: "easeInQuint" }
138                ,       fxSettings_close:               { easing: "easeOutQuint" }
139        }
140        ,       north: {
141                        spacing_open:                   1                       // cosmetic spacing
142                ,       togglerLength_open:             0                       // HIDE the toggler button
143                ,       togglerLength_closed:   -1                      // "100%" OR -1 = full width of pane
144                ,       resizable:                              false
145                ,       slidable:                               false
146                //      override default effect
147                ,       fxName:                                 "none"
148                }
149        ,       south: {
150                        maxSize:                                200
151                ,       spacing_closed:                 0                       // HIDE resizer & toggler when 'closed'
152                ,       slidable:                               false           // REFERENCE - cannot slide if spacing_closed = 0
153                ,       initClosed:                             true
154                //      CALLBACK TESTING...
155                ,       onhide_start:                   function () { return confirm("START South pane hide \n\n onhide_start callback \n\n Allow pane to hide?"); }
156                ,       onhide_end:                             function () { alert("END South pane hide \n\n onhide_end callback"); }
157                ,       onshow_start:                   function () { return confirm("START South pane show \n\n onshow_start callback \n\n Allow pane to show?"); }
158                ,       onshow_end:                             function () { alert("END South pane show \n\n onshow_end callback"); }
159                ,       onopen_start:                   function () { return confirm("START South pane open \n\n onopen_start callback \n\n Allow pane to open?"); }
160                ,       onopen_end:                             function () { alert("END South pane open \n\n onopen_end callback"); }
161                ,       onclose_start:                  function () { return confirm("START South pane close \n\n onclose_start callback \n\n Allow pane to close?"); }
162                ,       onclose_end:                    function () { alert("END South pane close \n\n onclose_end callback"); }
163                //,     onresize_start:                 function () { return confirm("START South pane resize \n\n onresize_start callback \n\n Allow pane to be resized?)"); }
164                ,       onresize_end:                   function () { alert("END South pane resize \n\n onresize_end callback \n\n NOTE: onresize_start event was skipped."); }
165                }
166        ,       west: {
167                        size:                                   250
168                ,       spacing_closed:                 21                      // wider space when closed
169                ,       togglerLength_closed:   21                      // make toggler 'square' - 21x21
170                ,       togglerAlign_closed:    "top"           // align to top of resizer
171                ,       togglerLength_open:             0                       // NONE - using custom togglers INSIDE west-pane
172                ,       togglerTip_open:                "Close West Pane"
173                ,       togglerTip_closed:              "Open West Pane"
174                ,       resizerTip_open:                "Resize West Pane"
175                ,       slideTrigger_open:              "click"         // default
176                ,       initClosed:                             true
177                //      add 'bounce' option to default 'slide' effect
178                ,       fxSettings_open:                { easing: "easeOutBounce" }
179                }
180        ,       east: {
181                        size:                                   250
182                ,       spacing_closed:                 21                      // wider space when closed
183                ,       togglerLength_closed:   21                      // make toggler 'square' - 21x21
184                ,       togglerAlign_closed:    "top"           // align to top of resizer
185                ,       togglerLength_open:             0                       // NONE - using custom togglers INSIDE east-pane
186                ,       togglerTip_open:                "Close East Pane"
187                ,       togglerTip_closed:              "Open East Pane"
188                ,       resizerTip_open:                "Resize East Pane"
189                ,       slideTrigger_open:              "mouseover"
190                ,       initClosed:                             true
191                //      override default effect, speed, and settings
192                ,       fxName:                                 "drop"
193                ,       fxSpeed:                                "normal"
194                ,       fxSettings:                             { easing: "" } // nullify default easing
195                }
196        ,       center: {
197                        paneSelector:                   "#mainContent"                  // sample: use an ID to select pane instead of a class
198                ,       onresize:                               "innerLayout.resizeAll" // resize INNER LAYOUT when center pane resizes
199                ,       minWidth:                               200
200                ,       minHeight:                              200
201                }
202};
203*/
204
205//BLOCKS LAYOUT
206var layout_initialisation = {
207        base: {
208                layout: "",
209                parent: 'body',
210                model_settings: layoutBaseSettings,
211                settings: "",
212                center: ['base_center_p'],
213                west: ['#index-container'],
214                east: ['#detail-container'],
215                north: ['#header']
216                 },
217    base_center_p: {
218                         layout: "",
219                        parent: "",
220                        model_settings: layoutBaseSettings,
221                        settings: "",
222                        center: ["#infovis-wrapper"],
223                        north: ["#navigate"]
224                },
225               
226};
227
228
229// type = [floating, pane, inline]
230var blocks_settings = {
231        querysearch:{
232                id: "#querysearch",
233                //sublayouts: ['querysearch_advanced'],
234                commands: {
235                        block:['cmd_advanced']
236                }
237        },
238        querylist:{
239                id: "#querylistblock",
240                //sublayouts: [],
241                commands: {
242                        block:['cmd_close']
243                }
244        },
245        collections:{
246                id: "#collections",
247                detail: {
248                        parent: "",
249                        type: "floating"
250                }
251        },
252        terms:{
253                id: "#terms",
254                detail: {
255                        parent: "",
256                        type: "pane"
257                }
258        },
259        index:{
260                id: "",
261                detail: {
262                        parent: "",
263                        type: "pane"
264                }
265        },
266        values:{
267                id: "#values",
268                detail: {
269                        parent: "",
270                        type: "floating"
271                }
272        },
273        query:{
274                id: "#query",
275                detail: {
276                        parent: "",
277                        type: "pane"
278                }
279        },
280        record:{
281                id: "#records",
282                detail: {
283                        parent: "",
284                        type: "pane"
285                }
286        },
287        info:{
288                id: "#info",
289                detail: {
290                        parent: "",
291                        type: "pane"
292                }
293        }
294};
Note: See TracBrowser for help on using the repository browser.