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