Holger Knublauch

Added popup dialog when user clicks on log table

...@@ -378,65 +378,15 @@ app:AutoCompleteCallback ...@@ -378,65 +378,15 @@ app:AutoCompleteCallback
378 ] ; 378 ] ;
379 ui:private "true"^^xsd:boolean ; 379 ui:private "true"^^xsd:boolean ;
380 ui:prototype 380 ui:prototype
381 - [ rdf:type ui:group ; 381 + [ rdf:type swon:RSObjectArray ;
382 - ui:child 382 + arg:resultSet
383 - [ rdf:type ui:TextNode ;
384 - ui:childIndex 0 ;
385 - ui:text """
386 - [
387 - """^^xsd:string
388 - ] ;
389 - ui:child
390 - [ rdf:type ui:forEach ;
391 - ui:child
392 - [ rdf:type ui:TextNode ;
393 - ui:childIndex 0 ;
394 - ui:text """{
395 - \"label\" : \""""^^xsd:string
396 - ] ;
397 - ui:child
398 - [ rdf:type ui:TextNode ;
399 - ui:childIndex 1 ;
400 - ui:text [ sp:varName "label"^^xsd:string
401 - ]
402 - ] ;
403 - ui:child
404 - [ rdf:type ui:TextNode ;
405 - ui:childIndex 2 ;
406 - ui:text """\",
407 - \"resource\" : \""""^^xsd:string
408 - ] ;
409 - ui:child
410 - [ rdf:type ui:TextNode ;
411 - ui:childIndex 3 ;
412 - ui:text [ rdf:type ui:encodeNode ;
413 - sp:arg1 [ sp:varName "resource"^^xsd:string
414 - ]
415 - ]
416 - ] ;
417 - ui:child
418 - [ rdf:type ui:TextNode ;
419 - ui:childIndex 4 ;
420 - ui:text """\",
421 - \"value\" : \""""^^xsd:string
422 - ] ;
423 - ui:child
424 - [ rdf:type ui:TextNode ;
425 - ui:childIndex 5 ;
426 - ui:text [ sp:varName "label"^^xsd:string
427 - ]
428 - ] ;
429 - ui:child
430 - [ rdf:type ui:TextNode ;
431 - ui:childIndex 6 ;
432 - ui:text """\"
433 - }"""^^xsd:string
434 - ] ;
435 - ui:childIndex 1 ;
436 - ui:resultSet
437 [ rdf:type sp:Select ; 383 [ rdf:type sp:Select ;
438 sp:resultVariables ([ sp:varName "resource"^^xsd:string 384 sp:resultVariables ([ sp:varName "resource"^^xsd:string
439 ] [ sp:varName "label"^^xsd:string 385 ] [ sp:varName "label"^^xsd:string
386 + ] [ sp:expression
387 + [ sp:varName "label"^^xsd:string
388 + ] ;
389 + sp:varName "value"^^xsd:string
440 ]) ; 390 ]) ;
441 sp:where ([ sp:object 391 sp:where ([ sp:object
442 [ sp:varName "type"^^xsd:string 392 [ sp:varName "type"^^xsd:string
...@@ -498,15 +448,6 @@ app:AutoCompleteCallback ...@@ -498,15 +448,6 @@ app:AutoCompleteCallback
498 [ sp:varName "?3"^^xsd:string 448 [ sp:varName "?3"^^xsd:string
499 ] 449 ]
500 ]) 450 ])
501 - ] ;
502 - ui:separator ","^^xsd:string
503 - ] ;
504 - ui:child
505 - [ rdf:type ui:TextNode ;
506 - ui:childIndex 2 ;
507 - ui:text """
508 - ]
509 -"""^^xsd:string
510 ] 451 ]
511 ] . 452 ] .
512 453
...@@ -1098,7 +1039,8 @@ app:CustomEditForm ...@@ -1098,7 +1039,8 @@ app:CustomEditForm
1098 ui:childIndex 0 ; 1039 ui:childIndex 0 ;
1099 ui:class 1040 ui:class
1100 [ rdf:type app:resourceType 1041 [ rdf:type app:resourceType
1101 - ] 1042 + ] ;
1043 + ui:matchIds "edit,*"^^xsd:string
1102 ] ; 1044 ] ;
1103 ui:childIndex 1 1045 ui:childIndex 1
1104 ] ; 1046 ] ;
...@@ -1464,6 +1406,13 @@ app:DateRangeFacet ...@@ -1464,6 +1406,13 @@ app:DateRangeFacet
1464 ] 1406 ]
1465 ] . 1407 ] .
1466 1408
1409 +app:DialogElements
1410 + rdf:type ui:NodeClass ;
1411 + rdfs:comment "Abstract superclass for dialog-related elements."^^xsd:string ;
1412 + rdfs:label "Dialog elements"^^xsd:string ;
1413 + rdfs:subClassOf app:Elements ;
1414 + ui:abstract "true"^^xsd:boolean .
1415 +
1467 app:EditForm 1416 app:EditForm
1468 rdf:type app:FormClass ; 1417 rdf:type app:FormClass ;
1469 rdfs:comment "A form that can be used to create a new or edit an existing resource. It has an option to switch to view mode, as well as Save Changes and Cancel buttons."^^xsd:string ; 1418 rdfs:comment "A form that can be used to create a new or edit an existing resource. It has an option to switch to view mode, as well as Save Changes and Cancel buttons."^^xsd:string ;
...@@ -4089,6 +4038,54 @@ app:ResourceSubjectFacet ...@@ -4089,6 +4038,54 @@ app:ResourceSubjectFacet
4089 ] 4038 ]
4090 ] . 4039 ] .
4091 4040
4041 +app:ResourceViewDialog
4042 + rdf:type ui:NodeClass ;
4043 + rdfs:comment "A dialog that shows the default view of a given resource. This needs to be inserted into the document and will remain initially invisible. The JavaScript call appOpenResourceViewDialog() must be called with the provided loadId and the URI of a resource."^^xsd:string ;
4044 + rdfs:label "Resource view dialog"^^xsd:string ;
4045 + rdfs:subClassOf app:DialogElements ;
4046 + spin:constraint
4047 + [ rdf:type spl:Argument ;
4048 + rdfs:comment "The ui:loadId of the ui:loadable that will be placed around the dialog."^^xsd:string ;
4049 + spl:predicate arg:loadId ;
4050 + spl:valueType xsd:string
4051 + ] ;
4052 + ui:prototype
4053 + [ rdf:type ui:loadable ;
4054 + ui:child
4055 + [ rdf:type ui:if ;
4056 + ui:child
4057 + [ rdf:type html:Div ;
4058 + html:id [ rdf:type ui:concat ;
4059 + sp:arg1 "div-"^^xsd:string ;
4060 + sp:arg2 [ sp:varName "loadId"^^xsd:string
4061 + ]
4062 + ] ;
4063 + html:title
4064 + [ rdf:type ui:label ;
4065 + sp:arg1 [ sp:varName "resource"^^xsd:string
4066 + ]
4067 + ] ;
4068 + ui:child
4069 + [ rdf:type ui:resourceView ;
4070 + ui:childIndex 0 ;
4071 + ui:resource
4072 + [ sp:varName "resource"^^xsd:string
4073 + ]
4074 + ] ;
4075 + ui:childIndex 0
4076 + ] ;
4077 + ui:childIndex 0 ;
4078 + ui:condition
4079 + [ rdf:type sp:bound ;
4080 + sp:arg1 [ sp:varName "resource"^^xsd:string
4081 + ]
4082 + ]
4083 + ] ;
4084 + ui:loadId
4085 + [ sp:varName "loadId"^^xsd:string
4086 + ]
4087 + ] .
4088 +
4092 app:ResultSetGrid 4089 app:ResultSetGrid
4093 rdf:type ui:NodeClass ; 4090 rdf:type ui:NodeClass ;
4094 rdfs:comment "A tabular component to display the results of an existing SPARQL result set. This does not do lazy loading but constructs a static data table from all entries in the result set. Use this only for small data sets."^^xsd:string ; 4091 rdfs:comment "A tabular component to display the results of an existing SPARQL result set. This does not do lazy loading but constructs a static data table from all entries in the result set. Use this only for small data sets."^^xsd:string ;
...@@ -4288,7 +4285,8 @@ app:SearchForm ...@@ -4288,7 +4285,8 @@ app:SearchForm
4288 ui:childIndex 0 ; 4285 ui:childIndex 0 ;
4289 ui:class 4286 ui:class
4290 [ rdf:type app:resourceType 4287 [ rdf:type app:resourceType
4291 - ] 4288 + ] ;
4289 + ui:matchIds "search,*"^^xsd:string
4292 ] ; 4290 ] ;
4293 ui:childIndex 4 4291 ui:childIndex 4
4294 ] ; 4292 ] ;
...@@ -6247,6 +6245,7 @@ app:ViewForm ...@@ -6247,6 +6245,7 @@ app:ViewForm
6247 ui:child 6245 ui:child
6248 [ rdf:type ui:resourceView ; 6246 [ rdf:type ui:resourceView ;
6249 ui:childIndex 0 ; 6247 ui:childIndex 0 ;
6248 + ui:matchIds "view,*"^^xsd:string ;
6250 ui:resource 6249 ui:resource
6251 [ sp:varName "resource"^^xsd:string 6250 [ sp:varName "resource"^^xsd:string
6252 ] 6251 ]
...@@ -7540,6 +7539,11 @@ arg:leftWidth ...@@ -7540,6 +7539,11 @@ arg:leftWidth
7540 rdfs:label "left width"^^xsd:string ; 7539 rdfs:label "left width"^^xsd:string ;
7541 rdfs:subPropertyOf sp:arg . 7540 rdfs:subPropertyOf sp:arg .
7542 7541
7542 +arg:loadId
7543 + rdf:type rdf:Property ;
7544 + rdfs:label "load id"^^xsd:string ;
7545 + rdfs:subPropertyOf sp:arg .
7546 +
7543 arg:modeName 7547 arg:modeName
7544 rdf:type rdf:Property ; 7548 rdf:type rdf:Property ;
7545 rdfs:label "mode name"^^xsd:string ; 7549 rdfs:label "mode name"^^xsd:string ;
......
...@@ -35,6 +35,7 @@ body { ...@@ -35,6 +35,7 @@ body {
35 35
36 .appLabeledObjectsTabularLabel { 36 .appLabeledObjectsTabularLabel {
37 width: 160px; 37 width: 160px;
38 + min-width: 160px;
38 } 39 }
39 40
40 .appLabeledObjectsTable { 41 .appLabeledObjectsTable {
...@@ -46,6 +47,7 @@ body { ...@@ -46,6 +47,7 @@ body {
46 47
47 .appLabeledObjectsIconsTD { 48 .appLabeledObjectsIconsTD {
48 width: 16px; 49 width: 16px;
50 + min-width: 16px;
49 vertical-align: top; 51 vertical-align: top;
50 padding-top: 4px; 52 padding-top: 4px;
51 } 53 }
......
...@@ -157,8 +157,9 @@ function appInsertLoadingIndicator(e) { ...@@ -157,8 +157,9 @@ function appInsertLoadingIndicator(e) {
157 * syntax, e.g. '<http://example.org/MyClass>' or '"2011-11-11"^^xsd:date'. 157 * syntax, e.g. '<http://example.org/MyClass>' or '"2011-11-11"^^xsd:date'.
158 * @param id the id of the loadable 158 * @param id the id of the loadable
159 * @param args a JavaScript object with additional parameters 159 * @param args a JavaScript object with additional parameters
160 + * @param callback an optional callback that is called after loading
160 */ 161 */
161 -function appLoad(id, args) { 162 +function appLoad(id, args, callback) {
162 var e = $('#' + id); 163 var e = $('#' + id);
163 var base = e.attr('uistate'); 164 var base = e.attr('uistate');
164 if(!base) { 165 if(!base) {
...@@ -179,6 +180,9 @@ function appLoad(id, args) { ...@@ -179,6 +180,9 @@ function appLoad(id, args) {
179 // TODO: Error handling may not work yet 180 // TODO: Error handling may not work yet
180 e.load(uispinServlet, url, function() { 181 e.load(uispinServlet, url, function() {
181 appLoadPostProcessAll(e); 182 appLoadPostProcessAll(e);
183 + if(callback) {
184 + callback.call();
185 + }
182 }); 186 });
183 } 187 }
184 188
...@@ -266,17 +270,6 @@ function appLoadSearchResultsGrid(formId, targetId, onSelect) { ...@@ -266,17 +270,6 @@ function appLoadSearchResultsGrid(formId, targetId, onSelect) {
266 } 270 }
267 271
268 272
269 -function appResizeGrid(pane, $Pane, paneState) {
270 - /*
271 - if(grid = $('.ui-jqgrid')) { //}-btable:visible')) {
272 - grid.each(function(index) {
273 - var gridId = $(this).attr('id');
274 - $('#' + gridId).setGridWidth(paneState.innerWidth - 2);
275 - });
276 - }*/
277 -}
278 -
279 -
280 /** 273 /**
281 * Loads a given ui:loadable with a given variable pre-bound to 274 * Loads a given ui:loadable with a given variable pre-bound to
282 * a given URI resource. 275 * a given URI resource.
...@@ -320,6 +313,33 @@ function appNavigateToInTab(resourceURI, queryGraphURI) { ...@@ -320,6 +313,33 @@ function appNavigateToInTab(resourceURI, queryGraphURI) {
320 313
321 314
322 /** 315 /**
316 + * Loads and then opens a dialog that was inserted into the current
317 + * document using app:ResourceViewDialog.
318 + * @param loadId the id of the loadable (same as arg:loadId of the app:ResourceViewDialog)
319 + * @param resourceURI the URI of the resource to display
320 + * @param width (optional) the width in pixels
321 + * @param height (optional) the height in pixels
322 + */
323 +function appOpenResourceViewDialog(loadId, resourceURI, width, height) {
324 + appLoad(loadId, { resource: '<' + resourceURI + '>' }, function() {
325 + var div = $('#div-' + loadId);
326 + var title = div.attr('title');
327 + var options = {
328 + modal: true,
329 + title: title
330 + };
331 + if(width) {
332 + options.width = width;
333 + }
334 + if(width) {
335 + options.height = height;
336 + }
337 + div.dialog(options);
338 + });
339 +}
340 +
341 +
342 +/**
323 * Walks up the parents of a 'link' element with a given id until it 343 * Walks up the parents of a 'link' element with a given id until it
324 * finds a form. Then it replaces that form with a new form displaying 344 * finds a form. Then it replaces that form with a new form displaying
325 * a given resource. 345 * a given resource.
...@@ -338,6 +358,18 @@ function appReloadForm(resourceURI, queryGraphURI, linkElementId) { ...@@ -338,6 +358,18 @@ function appReloadForm(resourceURI, queryGraphURI, linkElementId) {
338 } 358 }
339 359
340 360
361 +function appResizeGrid(pane, $Pane, paneState) {
362 + // TODO: not working well
363 + /*
364 + if(grid = $('.ui-jqgrid')) { //}-btable:visible')) {
365 + grid.each(function(index) {
366 + var gridId = $(this).attr('id');
367 + $('#' + gridId).setGridWidth(paneState.innerWidth - 2);
368 + });
369 + }*/
370 +}
371 +
372 +
341 /** 373 /**
342 * Selects a given node in a given tree. 374 * Selects a given node in a given tree.
343 * Will expand if necessary, using a server-side shortest path algorithm. 375 * Will expand if necessary, using a server-side shortest path algorithm.
......
...@@ -48,7 +48,8 @@ log:LogEvent ...@@ -48,7 +48,8 @@ log:LogEvent
48 app:keyProperties (<http://purl.org/dc/terms/created> rdf:type log:initiatedBy log:onBehalfOf log:outcome rdfs:comment) ; 48 app:keyProperties (<http://purl.org/dc/terms/created> rdf:type log:initiatedBy log:onBehalfOf log:outcome rdfs:comment) ;
49 ui:instanceView 49 ui:instanceView
50 [ rdf:type log:LogEventFormBody ; 50 [ rdf:type log:LogEventFormBody ;
51 - arg:resource spin:_this 51 + arg:resource spin:_this ;
52 + ui:id "search"^^xsd:string
52 ] ; 53 ] ;
53 ui:view [ rdf:type log:LogBrowser 54 ui:view [ rdf:type log:LogBrowser
54 ] . 55 ] .
...@@ -226,7 +227,8 @@ log:ReportDownloadEvent ...@@ -226,7 +227,8 @@ log:ReportDownloadEvent
226 ui:childIndex 1 227 ui:childIndex 1
227 ] ; 228 ] ;
228 ui:childIndex 1 229 ui:childIndex 1
229 - ] 230 + ] ;
231 + ui:id "search"^^xsd:string
230 ] . 232 ] .
231 233
232 log:ReportEvent 234 log:ReportEvent
...@@ -243,7 +245,8 @@ log:ReportEvent ...@@ -243,7 +245,8 @@ log:ReportEvent
243 arg:label "Report type"^^xsd:string ; 245 arg:label "Report type"^^xsd:string ;
244 arg:predicate log:reportType ; 246 arg:predicate log:reportType ;
245 ui:childIndex 1 247 ui:childIndex 1
246 - ] 248 + ] ;
249 + ui:id "search"^^xsd:string
247 ] . 250 ] .
248 251
249 log:ReportUploadEvent 252 log:ReportUploadEvent
...@@ -273,7 +276,8 @@ log:ReportUploadEvent ...@@ -273,7 +276,8 @@ log:ReportUploadEvent
273 ui:childIndex 1 276 ui:childIndex 1
274 ] ; 277 ] ;
275 ui:childIndex 1 278 ui:childIndex 1
276 - ] 279 + ] ;
280 + ui:id "search"^^xsd:string
277 ] . 281 ] .
278 282
279 log:TableBrowser 283 log:TableBrowser
...@@ -342,6 +346,7 @@ log:TableBrowser ...@@ -342,6 +346,7 @@ log:TableBrowser
342 [ rdf:type app:SearchForm ; 346 [ rdf:type app:SearchForm ;
343 arg:formId "searchForm"^^xsd:string ; 347 arg:formId "searchForm"^^xsd:string ;
344 arg:noBorder "true"^^xsd:boolean ; 348 arg:noBorder "true"^^xsd:boolean ;
349 + arg:onSelect "appOpenResourceViewDialog('viewDialog', resource, 500, 400)"^^xsd:string ;
345 arg:queryGraph 350 arg:queryGraph
346 [ sp:varName "queryGraph"^^xsd:string 351 [ sp:varName "queryGraph"^^xsd:string
347 ] ; 352 ] ;
...@@ -395,6 +400,18 @@ log:TableBrowser ...@@ -395,6 +400,18 @@ log:TableBrowser
395 });"""^^xsd:string 400 });"""^^xsd:string
396 ] ; 401 ] ;
397 ui:childIndex 2 402 ui:childIndex 2
403 + ] ;
404 + ui:child
405 + [ rdf:type ui:setContext ;
406 + ui:child
407 + [ rdf:type app:ResourceViewDialog ;
408 + arg:loadId "viewDialog"^^xsd:string ;
409 + ui:childIndex 0
410 + ] ;
411 + ui:childIndex 3 ;
412 + ui:queryGraph
413 + [ sp:varName "queryGraph"^^xsd:string
414 + ]
398 ] 415 ]
399 ] . 416 ] .
400 417
......
...@@ -22,7 +22,8 @@ report:AbstractDR ...@@ -22,7 +22,8 @@ report:AbstractDR
22 app:keyProperties (<http://purl.org/dc/terms/created> <http://purl.org/dc/terms/date> rdf:type <http://rdfs.org/sioc/ns#id>) ; 22 app:keyProperties (<http://purl.org/dc/terms/created> <http://purl.org/dc/terms/date> rdf:type <http://rdfs.org/sioc/ns#id>) ;
23 ui:instanceView 23 ui:instanceView
24 [ rdf:type report:DRFormBody ; 24 [ rdf:type report:DRFormBody ;
25 - arg:resource spin:_this 25 + arg:resource spin:_this ;
26 + ui:id "search"^^xsd:string
26 ] . 27 ] .
27 28
28 report:DDR 29 report:DDR
...@@ -40,7 +41,8 @@ report:DDR ...@@ -40,7 +41,8 @@ report:DDR
40 arg:label "Well bore id"^^xsd:string ; 41 arg:label "Well bore id"^^xsd:string ;
41 arg:predicate report:wellBoreId ; 42 arg:predicate report:wellBoreId ;
42 ui:childIndex 1 43 ui:childIndex 1
43 - ] 44 + ] ;
45 + ui:id "search"^^xsd:string
44 ] . 46 ] .
45 47
46 report:DPR 48 report:DPR
...@@ -52,7 +54,8 @@ report:DPR ...@@ -52,7 +54,8 @@ report:DPR
52 [ rdf:type report:DRFormBody ; 54 [ rdf:type report:DRFormBody ;
53 arg:resource spin:_this ; 55 arg:resource spin:_this ;
54 ui:childIndex 0 56 ui:childIndex 0
55 - ] 57 + ] ;
58 + ui:id "search"^^xsd:string
56 ] . 59 ] .
57 60
58 report:DRFormBody 61 report:DRFormBody
......