Showing
4 changed files
with
235 additions
and
122 deletions
... | @@ -515,36 +515,42 @@ app:ClassFormBody | ... | @@ -515,36 +515,42 @@ app:ClassFormBody |
515 | ] | 515 | ] |
516 | ] . | 516 | ] . |
517 | 517 | ||
518 | -app:ClassTreeDataProvider | 518 | +app:ClassTreeChildren |
519 | - rdf:type app:QueryTreeDataProvider ; | 519 | + rdf:type spin:SelectTemplate ; |
520 | - rdfs:comment "A data provider for a class tree starting at rdfs:Resource."^^xsd:string ; | 520 | + rdfs:comment "A template that delivers all (named) subclasses of a given parent class, using rdfs:subClassOf."^^xsd:string ; |
521 | - rdfs:label "Class tree data provider"^^xsd:string ; | 521 | + rdfs:label "Class tree children"^^xsd:string ; |
522 | - arg:childrenQuery | 522 | + rdfs:subClassOf app:TreeChildrenTemplates ; |
523 | + spin:body | ||
523 | [ rdf:type sp:Select ; | 524 | [ rdf:type sp:Select ; |
524 | sp:orderBy ([ sp:varName "label"^^xsd:string | 525 | sp:orderBy ([ sp:varName "label"^^xsd:string |
525 | ]) ; | 526 | ]) ; |
526 | - sp:resultVariables ([ sp:varName "child"^^xsd:string | 527 | + sp:resultVariables ([ sp:varName "node"^^xsd:string |
527 | ] [ sp:varName "label"^^xsd:string | 528 | ] [ sp:varName "label"^^xsd:string |
528 | ] [ sp:varName "leaf"^^xsd:string | 529 | ] [ sp:varName "leaf"^^xsd:string |
529 | ] [ sp:varName "icon"^^xsd:string | 530 | ] [ sp:varName "icon"^^xsd:string |
530 | - ] [ sp:varName "type"^^xsd:string | ||
531 | ]) ; | 531 | ]) ; |
532 | sp:where ([ sp:object | 532 | sp:where ([ sp:object |
533 | [ sp:varName "parent"^^xsd:string | 533 | [ sp:varName "parent"^^xsd:string |
534 | ] ; | 534 | ] ; |
535 | sp:predicate rdfs:subClassOf ; | 535 | sp:predicate rdfs:subClassOf ; |
536 | sp:subject | 536 | sp:subject |
537 | - [ sp:varName "child"^^xsd:string | 537 | + [ sp:varName "node"^^xsd:string |
538 | + ] | ||
539 | + ] [ rdf:type sp:Filter ; | ||
540 | + sp:expression | ||
541 | + [ rdf:type sp:isIRI ; | ||
542 | + sp:arg1 [ sp:varName "node"^^xsd:string | ||
543 | + ] | ||
538 | ] | 544 | ] |
539 | ] [ rdf:type sp:Bind ; | 545 | ] [ rdf:type sp:Bind ; |
540 | sp:expression | 546 | sp:expression |
541 | [ rdf:type sp:notExists ; | 547 | [ rdf:type sp:notExists ; |
542 | sp:elements ([ sp:object | 548 | sp:elements ([ sp:object |
543 | - [ sp:varName "child"^^xsd:string | 549 | + [ sp:varName "node"^^xsd:string |
544 | ] ; | 550 | ] ; |
545 | sp:predicate rdfs:subClassOf ; | 551 | sp:predicate rdfs:subClassOf ; |
546 | sp:subject | 552 | sp:subject |
547 | - [ sp:varName "grandChild"^^xsd:string | 553 | + [ sp:varName "child"^^xsd:string |
548 | ] | 554 | ] |
549 | ]) | 555 | ]) |
550 | ] ; | 556 | ] ; |
... | @@ -554,7 +560,7 @@ app:ClassTreeDataProvider | ... | @@ -554,7 +560,7 @@ app:ClassTreeDataProvider |
554 | ] [ rdf:type sp:Bind ; | 560 | ] [ rdf:type sp:Bind ; |
555 | sp:expression | 561 | sp:expression |
556 | [ rdf:type ui:label ; | 562 | [ rdf:type ui:label ; |
557 | - sp:arg1 [ sp:varName "child"^^xsd:string | 563 | + sp:arg1 [ sp:varName "node"^^xsd:string |
558 | ] | 564 | ] |
559 | ] ; | 565 | ] ; |
560 | sp:variable | 566 | sp:variable |
... | @@ -565,39 +571,60 @@ app:ClassTreeDataProvider | ... | @@ -565,39 +571,60 @@ app:ClassTreeDataProvider |
565 | sp:variable | 571 | sp:variable |
566 | [ sp:varName "icon"^^xsd:string | 572 | [ sp:varName "icon"^^xsd:string |
567 | ] | 573 | ] |
568 | - ] [ rdf:type sp:Bind ; | ||
569 | - sp:expression | ||
570 | - [ rdf:type spl:object ; | ||
571 | - sp:arg1 [ sp:varName "child"^^xsd:string | ||
572 | - ] ; | ||
573 | - sp:arg2 rdf:type | ||
574 | - ] ; | ||
575 | - sp:variable | ||
576 | - [ sp:varName "type"^^xsd:string | ||
577 | - ] | ||
578 | ]) | 574 | ]) |
579 | - ] ; | 575 | + ] . |
580 | - arg:id [ sp:varName "id"^^xsd:string | 576 | + |
581 | - ] ; | 577 | +app:ClassTreeDataProvider |
582 | - arg:rootsQuery | 578 | + rdf:type app:TreeDataProvider ; |
579 | + rdfs:comment "A data provider for a class tree starting at rdfs:Resource."^^xsd:string ; | ||
580 | + rdfs:label "Class tree data provider"^^xsd:string ; | ||
581 | + arg:treeChildrenTemplate | ||
582 | + app:ClassTreeChildren ; | ||
583 | + arg:treeRootsTemplate | ||
584 | + app:ClassTreeRoots . | ||
585 | + | ||
586 | +app:ClassTreeRoots | ||
587 | + rdf:type spin:SelectTemplate ; | ||
588 | + rdfs:label "Class tree roots"^^xsd:string ; | ||
589 | + rdfs:subClassOf app:TreeRootsTemplates ; | ||
590 | + spin:body | ||
583 | [ rdf:type sp:Select ; | 591 | [ rdf:type sp:Select ; |
584 | - sp:resultVariables ([ sp:varName "child"^^xsd:string | 592 | + sp:resultVariables ([ sp:varName "node"^^xsd:string |
585 | ] [ sp:varName "label"^^xsd:string | 593 | ] [ sp:varName "label"^^xsd:string |
586 | ] [ sp:varName "leaf"^^xsd:string | 594 | ] [ sp:varName "leaf"^^xsd:string |
587 | ] [ sp:varName "icon"^^xsd:string | 595 | ] [ sp:varName "icon"^^xsd:string |
588 | ]) ; | 596 | ]) ; |
589 | sp:where ([ rdf:type sp:Bind ; | 597 | sp:where ([ rdf:type sp:Bind ; |
590 | - sp:expression rdfs:Resource ; | 598 | + sp:expression |
599 | + [ rdf:type sp:coalesce ; | ||
600 | + sp:arg1 [ sp:varName "root"^^xsd:string | ||
601 | + ] ; | ||
602 | + sp:arg2 rdfs:Resource | ||
603 | + ] ; | ||
591 | sp:variable | 604 | sp:variable |
592 | - [ sp:varName "child"^^xsd:string | 605 | + [ sp:varName "node"^^xsd:string |
593 | ] | 606 | ] |
594 | ] [ rdf:type sp:Bind ; | 607 | ] [ rdf:type sp:Bind ; |
595 | - sp:expression "Resource" ; | 608 | + sp:expression |
609 | + [ rdf:type ui:label ; | ||
610 | + sp:arg1 [ sp:varName "node"^^xsd:string | ||
611 | + ] | ||
612 | + ] ; | ||
596 | sp:variable | 613 | sp:variable |
597 | [ sp:varName "label"^^xsd:string | 614 | [ sp:varName "label"^^xsd:string |
598 | ] | 615 | ] |
599 | ] [ rdf:type sp:Bind ; | 616 | ] [ rdf:type sp:Bind ; |
600 | - sp:expression "false"^^xsd:boolean ; | 617 | + sp:expression |
618 | + [ rdf:type sp:notExists ; | ||
619 | + sp:elements ([ sp:object | ||
620 | + [ sp:varName "node"^^xsd:string | ||
621 | + ] ; | ||
622 | + sp:predicate rdfs:subClassOf ; | ||
623 | + sp:subject | ||
624 | + [ sp:varName "child"^^xsd:string | ||
625 | + ] | ||
626 | + ]) | ||
627 | + ] ; | ||
601 | sp:variable | 628 | sp:variable |
602 | [ sp:varName "leaf"^^xsd:string | 629 | [ sp:varName "leaf"^^xsd:string |
603 | ] | 630 | ] |
... | @@ -3619,86 +3646,6 @@ app:PropertyLabel | ... | @@ -3619,86 +3646,6 @@ app:PropertyLabel |
3619 | ] | 3646 | ] |
3620 | ] . | 3647 | ] . |
3621 | 3648 | ||
3622 | -app:QueryTreeDataProvider | ||
3623 | - rdf:type ui:NodeClass ; | ||
3624 | - rdfs:comment "A TreeDataProvider backed by two SELECT queries - one to get the roots, and one to get the children of a given node."^^xsd:string ; | ||
3625 | - rdfs:label "Query tree data provider"^^xsd:string ; | ||
3626 | - rdfs:subClassOf app:TreeDataProvider ; | ||
3627 | - spin:constraint | ||
3628 | - [ rdf:type spl:Argument ; | ||
3629 | - rdfs:comment "The query to get the children."^^xsd:string ; | ||
3630 | - spl:predicate arg:childrenQuery ; | ||
3631 | - spl:valueType sp:Select | ||
3632 | - ] ; | ||
3633 | - spin:constraint | ||
3634 | - [ rdf:type spl:Argument ; | ||
3635 | - rdfs:comment "The query to get the roots of the tree."^^xsd:string ; | ||
3636 | - spl:predicate arg:rootsQuery ; | ||
3637 | - spl:valueType sp:Select | ||
3638 | - ] ; | ||
3639 | - ui:prototype | ||
3640 | - [ rdf:type ui:group ; | ||
3641 | - ui:child | ||
3642 | - [ rdf:type ui:if ; | ||
3643 | - ui:child | ||
3644 | - [ rdf:type app:QueryTreeDataProviderHelper ; | ||
3645 | - ui:childIndex 0 ; | ||
3646 | - ui:resultSet | ||
3647 | - [ sp:varName "rootsQuery"^^xsd:string | ||
3648 | - ] | ||
3649 | - ] ; | ||
3650 | - ui:childIndex 0 ; | ||
3651 | - ui:condition | ||
3652 | - [ rdf:type sp:or ; | ||
3653 | - sp:arg1 [ rdf:type sp:eq ; | ||
3654 | - sp:arg1 [ sp:varName "id"^^xsd:string | ||
3655 | - ] ; | ||
3656 | - sp:arg2 "1" | ||
3657 | - ] ; | ||
3658 | - sp:arg2 [ rdf:type sp:not ; | ||
3659 | - sp:arg1 [ rdf:type sp:bound ; | ||
3660 | - sp:arg1 [ sp:varName "id"^^xsd:string | ||
3661 | - ] | ||
3662 | - ] | ||
3663 | - ] | ||
3664 | - ] | ||
3665 | - ] ; | ||
3666 | - ui:child | ||
3667 | - [ rdf:type ui:else ; | ||
3668 | - ui:child | ||
3669 | - [ rdf:type ui:group ; | ||
3670 | - let:parent | ||
3671 | - [ rdf:type ui:decodeNode ; | ||
3672 | - sp:arg1 [ rdf:type app:removeUniqueId ; | ||
3673 | - sp:arg1 [ sp:varName "id"^^xsd:string | ||
3674 | - ] | ||
3675 | - ] | ||
3676 | - ] ; | ||
3677 | - ui:child | ||
3678 | - [ rdf:type app:QueryTreeDataProviderHelper ; | ||
3679 | - ui:childIndex 0 ; | ||
3680 | - ui:resultSet | ||
3681 | - [ sp:varName "childrenQuery"^^xsd:string | ||
3682 | - ] | ||
3683 | - ] ; | ||
3684 | - ui:childIndex 0 | ||
3685 | - ] ; | ||
3686 | - ui:childIndex 1 | ||
3687 | - ] | ||
3688 | - ] . | ||
3689 | - | ||
3690 | -app:QueryTreeDataProviderHelper | ||
3691 | - rdf:type ui:NodeClass ; | ||
3692 | - rdfs:label "Query tree data provider helper"^^xsd:string ; | ||
3693 | - rdfs:subClassOf app:TreeElements ; | ||
3694 | - spin:constraint | ||
3695 | - [ rdf:type spl:Argument ; | ||
3696 | - rdfs:comment "The query to execute."^^xsd:string ; | ||
3697 | - spl:predicate ui:resultSet ; | ||
3698 | - spl:valueType sp:Select | ||
3699 | - ] ; | ||
3700 | - ui:prototype <http://appschema.org/imports/queryTreeDataProviderHelper.uispin.html> . | ||
3701 | - | ||
3702 | app:ResourceEnumDropDownEditor | 3649 | app:ResourceEnumDropDownEditor |
3703 | rdf:type app:ObjectEditorClass ; | 3650 | rdf:type app:ObjectEditorClass ; |
3704 | rdfs:label "Resource enum drop down editor"^^xsd:string ; | 3651 | rdfs:label "Resource enum drop down editor"^^xsd:string ; |
... | @@ -5509,11 +5456,30 @@ app:Tree | ... | @@ -5509,11 +5456,30 @@ app:Tree |
5509 | spl:predicate arg:onSelect ; | 5456 | spl:predicate arg:onSelect ; |
5510 | spl:valueType xsd:string | 5457 | spl:valueType xsd:string |
5511 | ] ; | 5458 | ] ; |
5459 | + spin:constraint | ||
5460 | + [ rdf:type spl:Argument ; | ||
5461 | + rdfs:comment "A root node that can overload the default root of the data provider. For example, app:ClassTreeDataProvider starts at rdfs:Resource by default - set arg:root to owl:Thing to start there instead."^^xsd:string ; | ||
5462 | + spl:optional "true"^^xsd:boolean ; | ||
5463 | + spl:predicate arg:root ; | ||
5464 | + spl:valueType rdfs:Resource | ||
5465 | + ] ; | ||
5512 | ui:prototype <http://appschema.org/imports/tree.uispin.html> . | 5466 | ui:prototype <http://appschema.org/imports/tree.uispin.html> . |
5513 | 5467 | ||
5468 | +app:TreeChildrenTemplates | ||
5469 | + rdf:type spin:SelectTemplate ; | ||
5470 | + rdfs:label "Tree children templates"^^xsd:string ; | ||
5471 | + rdfs:subClassOf app:TreeTemplates ; | ||
5472 | + spin:abstract "true"^^xsd:boolean ; | ||
5473 | + spin:constraint | ||
5474 | + [ rdf:type spl:Argument ; | ||
5475 | + rdfs:comment "The parent node to get the children of."^^xsd:string ; | ||
5476 | + spl:predicate arg:parent ; | ||
5477 | + spl:valueType rdfs:Resource | ||
5478 | + ] . | ||
5479 | + | ||
5514 | app:TreeDataProvider | 5480 | app:TreeDataProvider |
5515 | rdf:type ui:NodeClass ; | 5481 | rdf:type ui:NodeClass ; |
5516 | - rdfs:comment "Base class for various kinds of data providers implementing Ajax call-backs to app:Tree components."^^xsd:string ; | 5482 | + rdfs:comment "A TreeDataProvider is backed by two SELECT queries - one to get the roots, and one to get the children of a given node."^^xsd:string ; |
5517 | rdfs:label "Tree data provider"^^xsd:string ; | 5483 | rdfs:label "Tree data provider"^^xsd:string ; |
5518 | rdfs:subClassOf app:TreeElements ; | 5484 | rdfs:subClassOf app:TreeElements ; |
5519 | spin:constraint | 5485 | spin:constraint |
... | @@ -5522,13 +5488,135 @@ app:TreeDataProvider | ... | @@ -5522,13 +5488,135 @@ app:TreeDataProvider |
5522 | spl:predicate arg:id ; | 5488 | spl:predicate arg:id ; |
5523 | spl:valueType xsd:string | 5489 | spl:valueType xsd:string |
5524 | ] ; | 5490 | ] ; |
5525 | - ui:abstract "true"^^xsd:boolean . | 5491 | + spin:constraint |
5492 | + [ rdf:type spl:Argument ; | ||
5493 | + rdfs:comment "The root resource. If none is specified, then the system will use compute the root(s) from the roots template."^^xsd:string ; | ||
5494 | + spl:optional "true"^^xsd:boolean ; | ||
5495 | + spl:predicate arg:root ; | ||
5496 | + spl:valueType rdfs:Resource | ||
5497 | + ] ; | ||
5498 | + spin:constraint | ||
5499 | + [ rdf:type spl:Argument ; | ||
5500 | + rdfs:comment "The subclass of app:TreeChildrenTemplates that delivers the children of a given parent node."^^xsd:string ; | ||
5501 | + spl:predicate arg:treeChildrenTemplate ; | ||
5502 | + spl:valueType spin:Template | ||
5503 | + ] ; | ||
5504 | + spin:constraint | ||
5505 | + [ rdf:type spl:Argument ; | ||
5506 | + rdfs:comment "A subclass of app:TreeRootsTemplates that delivers the roots of the tree. Will be bypassed if the tree itself defined an arg:rootResource."^^xsd:string ; | ||
5507 | + spl:optional "true"^^xsd:boolean ; | ||
5508 | + spl:predicate arg:treeRootsTemplate ; | ||
5509 | + spl:valueType spin:Template | ||
5510 | + ] ; | ||
5511 | + ui:prototype | ||
5512 | + [ rdf:type ui:group ; | ||
5513 | + ui:child | ||
5514 | + [ rdf:type ui:if ; | ||
5515 | + ui:child | ||
5516 | + [ rdf:type ui:call ; | ||
5517 | + arg:root | ||
5518 | + [ sp:varName "root"^^xsd:string | ||
5519 | + ] ; | ||
5520 | + ui:child | ||
5521 | + [ rdf:type app:TreeDataProviderHelper ; | ||
5522 | + ui:childIndex 0 ; | ||
5523 | + ui:resultSet | ||
5524 | + [ sp:varName "rs"^^xsd:string | ||
5525 | + ] | ||
5526 | + ] ; | ||
5527 | + ui:childIndex 0 ; | ||
5528 | + ui:template | ||
5529 | + [ sp:varName "treeRootsTemplate"^^xsd:string | ||
5530 | + ] | ||
5531 | + ] ; | ||
5532 | + ui:childIndex 0 ; | ||
5533 | + ui:condition | ||
5534 | + [ rdf:type sp:or ; | ||
5535 | + sp:arg1 [ rdf:type sp:eq ; | ||
5536 | + sp:arg1 [ sp:varName "id"^^xsd:string | ||
5537 | + ] ; | ||
5538 | + sp:arg2 "1" | ||
5539 | + ] ; | ||
5540 | + sp:arg2 [ rdf:type sp:not ; | ||
5541 | + sp:arg1 [ rdf:type sp:bound ; | ||
5542 | + sp:arg1 [ sp:varName "id"^^xsd:string | ||
5543 | + ] | ||
5544 | + ] | ||
5545 | + ] | ||
5546 | + ] | ||
5547 | + ] ; | ||
5548 | + ui:child | ||
5549 | + [ rdf:type ui:else ; | ||
5550 | + ui:child | ||
5551 | + [ rdf:type ui:call ; | ||
5552 | + arg:parent | ||
5553 | + [ rdf:type ui:decodeNode ; | ||
5554 | + sp:arg1 [ rdf:type app:removeUniqueId ; | ||
5555 | + sp:arg1 [ sp:varName "id"^^xsd:string | ||
5556 | + ] | ||
5557 | + ] | ||
5558 | + ] ; | ||
5559 | + ui:child | ||
5560 | + [ rdf:type app:TreeDataProviderHelper ; | ||
5561 | + ui:childIndex 0 ; | ||
5562 | + ui:resultSet | ||
5563 | + [ sp:varName "rs"^^xsd:string | ||
5564 | + ] | ||
5565 | + ] ; | ||
5566 | + ui:childIndex 0 ; | ||
5567 | + ui:template | ||
5568 | + [ sp:varName "treeChildrenTemplate"^^xsd:string | ||
5569 | + ] | ||
5570 | + ] ; | ||
5571 | + ui:childIndex 1 | ||
5572 | + ] | ||
5573 | + ] . | ||
5574 | + | ||
5575 | +app:TreeDataProviderHelper | ||
5576 | + rdf:type ui:NodeClass ; | ||
5577 | + rdfs:label "Tree data provider helper"^^xsd:string ; | ||
5578 | + rdfs:subClassOf app:TreeElements ; | ||
5579 | + spin:constraint | ||
5580 | + [ rdf:type spl:Argument ; | ||
5581 | + rdfs:comment "The query to execute."^^xsd:string ; | ||
5582 | + spl:predicate ui:resultSet ; | ||
5583 | + spl:valueType sp:Select | ||
5584 | + ] ; | ||
5585 | + ui:prototype <http://appschema.org/imports/treeDataProviderHelper.uispin.html> . | ||
5526 | 5586 | ||
5527 | app:TreeElements | 5587 | app:TreeElements |
5528 | rdf:type ui:NodeClass ; | 5588 | rdf:type ui:NodeClass ; |
5529 | rdfs:label "Tree elements"^^xsd:string ; | 5589 | rdfs:label "Tree elements"^^xsd:string ; |
5530 | rdfs:subClassOf app:Elements . | 5590 | rdfs:subClassOf app:Elements . |
5531 | 5591 | ||
5592 | +app:TreeRootsTemplates | ||
5593 | + rdf:type spin:SelectTemplate ; | ||
5594 | + rdfs:comment "Abstract superclass for queries that can deliver the roots of a tree."^^xsd:string ; | ||
5595 | + rdfs:label "Tree roots templates"^^xsd:string ; | ||
5596 | + rdfs:subClassOf app:TreeTemplates ; | ||
5597 | + spin:constraint | ||
5598 | + [ rdf:type spl:Argument ; | ||
5599 | + rdfs:comment "The node to return as single root - this is bound by the tree if the tree has a dedicated arg:root. Otherwise the node is created by the WHERE clause."^^xsd:string ; | ||
5600 | + spl:optional "true"^^xsd:boolean ; | ||
5601 | + spl:predicate arg:root ; | ||
5602 | + spl:valueType rdfs:Resource | ||
5603 | + ] . | ||
5604 | + | ||
5605 | +app:TreeTemplates | ||
5606 | + rdf:type spin:SelectTemplate ; | ||
5607 | + rdfs:comment """Base class for SELECT templates that are used to populate trees. There are two kinds of queries: | ||
5608 | +a) to find all root nodes | ||
5609 | +b) to find the children of a given parent node. | ||
5610 | + | ||
5611 | +All SELECT queries in subclass of this must return the following result variables: | ||
5612 | +SELECT ?node ?label ?leaf ?icon | ||
5613 | +- ?node: the resource behind the node, e.g. an owl:Class or skos:Concept | ||
5614 | +- ?label (optional): the label for the resource - if not used, the system will call ui:label(?node) | ||
5615 | +- ?leaf: true means no children, i.e. the node cannot be expanded | ||
5616 | +- ?icon (optional): CSS class for the icon"""^^xsd:string ; | ||
5617 | + rdfs:label "Tree templates"^^xsd:string ; | ||
5618 | + rdfs:subClassOf spin:SelectTemplates . | ||
5619 | + | ||
5532 | app:URIResourceEditor | 5620 | app:URIResourceEditor |
5533 | rdf:type app:ObjectEditorClass ; | 5621 | rdf:type app:ObjectEditorClass ; |
5534 | rdfs:comment "The default Editor for resources, consisting of a combo-box with auto-complete."^^xsd:string ; | 5622 | rdfs:comment "The default Editor for resources, consisting of a combo-box with auto-complete."^^xsd:string ; |
... | @@ -7052,6 +7140,11 @@ app:weight | ... | @@ -7052,6 +7140,11 @@ app:weight |
7052 | rdfs:range xsd:integer ; | 7140 | rdfs:range xsd:integer ; |
7053 | rdfs:subPropertyOf app:systemProperty . | 7141 | rdfs:subPropertyOf app:systemProperty . |
7054 | 7142 | ||
7143 | +arg:child | ||
7144 | + rdf:type rdf:Property ; | ||
7145 | + rdfs:label "child"^^xsd:string ; | ||
7146 | + rdfs:subPropertyOf sp:arg . | ||
7147 | + | ||
7055 | arg:childrenQuery | 7148 | arg:childrenQuery |
7056 | rdf:type rdf:Property ; | 7149 | rdf:type rdf:Property ; |
7057 | rdfs:label "children query"^^xsd:string ; | 7150 | rdfs:label "children query"^^xsd:string ; |
... | @@ -7162,6 +7255,11 @@ arg:params | ... | @@ -7162,6 +7255,11 @@ arg:params |
7162 | rdfs:label "params"^^xsd:string ; | 7255 | rdfs:label "params"^^xsd:string ; |
7163 | rdfs:subPropertyOf sp:arg . | 7256 | rdfs:subPropertyOf sp:arg . |
7164 | 7257 | ||
7258 | +arg:parent | ||
7259 | + rdf:type rdf:Property ; | ||
7260 | + rdfs:label "parent"^^xsd:string ; | ||
7261 | + rdfs:subPropertyOf sp:arg . | ||
7262 | + | ||
7165 | arg:predicates | 7263 | arg:predicates |
7166 | rdf:type rdf:Property ; | 7264 | rdf:type rdf:Property ; |
7167 | rdfs:label "predicates"^^xsd:string ; | 7265 | rdfs:label "predicates"^^xsd:string ; |
... | @@ -7192,6 +7290,11 @@ arg:resultsId | ... | @@ -7192,6 +7290,11 @@ arg:resultsId |
7192 | rdfs:label "results id"^^xsd:string ; | 7290 | rdfs:label "results id"^^xsd:string ; |
7193 | rdfs:subPropertyOf sp:arg . | 7291 | rdfs:subPropertyOf sp:arg . |
7194 | 7292 | ||
7293 | +arg:root | ||
7294 | + rdf:type rdf:Property ; | ||
7295 | + rdfs:label "root"^^xsd:string ; | ||
7296 | + rdfs:subPropertyOf sp:arg . | ||
7297 | + | ||
7195 | arg:rootsQuery | 7298 | arg:rootsQuery |
7196 | rdf:type rdf:Property ; | 7299 | rdf:type rdf:Property ; |
7197 | rdfs:label "roots query"^^xsd:string ; | 7300 | rdfs:label "roots query"^^xsd:string ; |
... | @@ -7252,6 +7355,16 @@ arg:topHeight | ... | @@ -7252,6 +7355,16 @@ arg:topHeight |
7252 | rdfs:label "top height"^^xsd:string ; | 7355 | rdfs:label "top height"^^xsd:string ; |
7253 | rdfs:subPropertyOf sp:arg . | 7356 | rdfs:subPropertyOf sp:arg . |
7254 | 7357 | ||
7358 | +arg:treeChildrenTemplate | ||
7359 | + rdf:type rdf:Property ; | ||
7360 | + rdfs:label "tree children template"^^xsd:string ; | ||
7361 | + rdfs:subPropertyOf sp:arg . | ||
7362 | + | ||
7363 | +arg:treeRootsTemplate | ||
7364 | + rdf:type rdf:Property ; | ||
7365 | + rdfs:label "tree roots template"^^xsd:string ; | ||
7366 | + rdfs:subPropertyOf sp:arg . | ||
7367 | + | ||
7255 | arg:type | 7368 | arg:type |
7256 | rdf:type rdf:Property ; | 7369 | rdf:type rdf:Property ; |
7257 | rdfs:label "type"^^xsd:string ; | 7370 | rdfs:label "type"^^xsd:string ; | ... | ... |
... | @@ -2,7 +2,8 @@ | ... | @@ -2,7 +2,8 @@ |
2 | ui:format="json" | 2 | ui:format="json" |
3 | ui:sendQueryGraph="true" | 3 | ui:sendQueryGraph="true" |
4 | ui:snippet="true" | 4 | ui:snippet="true" |
5 | - ui:view="{= ?dataProvider }"> | 5 | + ui:view="{= ?dataProvider }" |
6 | + arg:root="{= ?root }"> | ||
6 | 7 | ||
7 | <!-- The div that will be turned into a jsTree below --> | 8 | <!-- The div that will be turned into a jsTree below --> |
8 | <div id="{= ?id }" /> | 9 | <div id="{= ?id }" /> | ... | ... |
1 | <ui:group xmlns:ui="http://uispin.org/ui#"> | 1 | <ui:group xmlns:ui="http://uispin.org/ui#"> |
2 | [ | 2 | [ |
3 | - <ui:if ui:condition="{= spr:rowCount(?resultSet) > 0 }"> | 3 | + <ui:forEach ui:indexVar="index" ui:resultSet="{= ?resultSet }" ui:separator=","> |
4 | - <ui:forEach ui:indexVar="index" ui:resultSet="{= ?resultSet }"> | ||
5 | - <ui:if ui:condition="{= ?index > 0 }">,</ui:if> | ||
6 | { | 4 | { |
7 | "data" : { | 5 | "data" : { |
8 | - "title" : "{= IF(bound(?label), ?label, ui:label(?child)) }" | 6 | + "title" : "{= COALESCE(?label, ui:label(?node)) }" |
9 | <ui:if ui:condition="{= bound(?icon) }">, | 7 | <ui:if ui:condition="{= bound(?icon) }">, |
10 | "icon" : "{= ?icon }" | 8 | "icon" : "{= ?icon }" |
11 | </ui:if> | 9 | </ui:if> |
12 | }, | 10 | }, |
13 | "attr" : { | 11 | "attr" : { |
14 | - "id": "{= ui:encodeNode(?child) }::{= ui:uniqueId() }", | 12 | + "id": "{= ui:encodeNode(?node) }::{= ui:uniqueId() }", |
15 | - "resource" : "{= IRI(?child) }" | 13 | + "resource" : "{= IRI(?node) }" |
16 | }, | 14 | }, |
17 | <ui:if ui:condition="{= ?leaf }"> | 15 | <ui:if ui:condition="{= ?leaf }"> |
18 | "children" : [] | 16 | "children" : [] |
... | @@ -20,7 +18,7 @@ | ... | @@ -20,7 +18,7 @@ |
20 | <ui:else> | 18 | <ui:else> |
21 | "state" : "closed" | 19 | "state" : "closed" |
22 | </ui:else> | 20 | </ui:else> |
23 | - }</ui:forEach> | 21 | + } |
24 | - </ui:if> | 22 | + </ui:forEach> |
25 | ] | 23 | ] |
26 | </ui:group> | 24 | </ui:group> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -48,9 +48,10 @@ log:LogBrowser | ... | @@ -48,9 +48,10 @@ log:LogBrowser |
48 | html:class "ui-layout-content"^^xsd:string ; | 48 | html:class "ui-layout-content"^^xsd:string ; |
49 | ui:child | 49 | ui:child |
50 | [ rdf:type app:Tree ; | 50 | [ rdf:type app:Tree ; |
51 | - arg:dataProvider log:LogEventClassTreeDataProvider ; | 51 | + arg:dataProvider app:ClassTreeDataProvider ; |
52 | arg:id "classTree"^^xsd:string ; | 52 | arg:id "classTree"^^xsd:string ; |
53 | arg:onSelect "appLoadWithResource('form', 'resourceType', resource)"^^xsd:string ; | 53 | arg:onSelect "appLoadWithResource('form', 'resourceType', resource)"^^xsd:string ; |
54 | + arg:root "log:LogEvent"^^xsd:string ; | ||
54 | ui:childIndex 0 | 55 | ui:childIndex 0 |
55 | ] ; | 56 | ] ; |
56 | ui:childIndex 1 | 57 | ui:childIndex 1 | ... | ... |
-
Please register or login to post a comment