Holger Knublauch

EPIM log progress

...@@ -196,6 +196,44 @@ app:defaultRange ...@@ -196,6 +196,44 @@ app:defaultRange
196 spin:private "true"^^xsd:boolean ; 196 spin:private "true"^^xsd:boolean ;
197 spin:returnType rdfs:Resource . 197 spin:returnType rdfs:Resource .
198 198
199 +app:globalRange
200 + rdf:type spin:Function ;
201 + rdfs:comment "Gets the global range (rdfs:range) of a property. If none is provided, it will walk up super-properties."^^xsd:string ;
202 + rdfs:label "global range"^^xsd:string ;
203 + rdfs:subClassOf app:Functions ;
204 + spin:body
205 + [ rdf:type sp:Select ;
206 + sp:resultVariables ([ sp:varName "range"^^xsd:string
207 + ]) ;
208 + sp:where ([ rdf:type sp:TriplePath ;
209 + sp:object
210 + [ sp:varName "p"^^xsd:string
211 + ] ;
212 + sp:path [ rdf:type sp:ModPath ;
213 + sp:modMax -2 ;
214 + sp:modMin 0 ;
215 + sp:subPath rdfs:subPropertyOf
216 + ] ;
217 + sp:subject
218 + [ sp:varName "property"^^xsd:string
219 + ]
220 + ] [ sp:object
221 + [ sp:varName "range"^^xsd:string
222 + ] ;
223 + sp:predicate rdfs:range ;
224 + sp:subject
225 + [ sp:varName "p"^^xsd:string
226 + ]
227 + ])
228 + ] ;
229 + spin:constraint
230 + [ rdf:type spl:Argument ;
231 + rdfs:comment "The property to get the range of."^^xsd:string ;
232 + spl:predicate arg:property ;
233 + spl:valueType rdf:Property
234 + ] ;
235 + spin:returnType rdfs:Class .
236 +
199 app:googleMapsAPIKey 237 app:googleMapsAPIKey
200 rdf:type spin:Function ; 238 rdf:type spin:Function ;
201 rdfs:comment "Gets the currently registered Google Maps API key."^^xsd:string ; 239 rdfs:comment "Gets the currently registered Google Maps API key."^^xsd:string ;
...@@ -744,7 +782,7 @@ app:localRange ...@@ -744,7 +782,7 @@ app:localRange
744 sp:where ([ rdf:type sp:Bind ; 782 sp:where ([ rdf:type sp:Bind ;
745 sp:expression 783 sp:expression
746 [ rdf:type app:resourceType ; 784 [ rdf:type app:resourceType ;
747 - arg:subject 785 + arg:resource
748 [ sp:varName "subject"^^xsd:string 786 [ sp:varName "subject"^^xsd:string
749 ] 787 ]
750 ] ; 788 ] ;
...@@ -763,11 +801,6 @@ app:localRange ...@@ -763,11 +801,6 @@ app:localRange
763 arg:property 801 arg:property
764 [ sp:varName "predicate"^^xsd:string 802 [ sp:varName "predicate"^^xsd:string
765 ] 803 ]
766 - ] ;
767 - sp:arg3 [ rdf:type app:defaultRange ;
768 - arg:property
769 - [ sp:varName "predicate"^^xsd:string
770 - ]
771 ] 804 ]
772 ] ; 805 ] ;
773 sp:variable 806 sp:variable
...@@ -821,7 +854,7 @@ app:localRange ...@@ -821,7 +854,7 @@ app:localRange
821 854
822 app:localRangeAtClass 855 app:localRangeAtClass
823 rdf:type spin:Function ; 856 rdf:type spin:Function ;
824 - rdfs:comment "Checks (in that order) for declared owl:allValuesFrom restrictions in superclasses, rdfs:range at the property and then spl:valueType in SPIN constraints (spl:Argument and spl:Attribute)."^^xsd:string ; 857 + rdfs:comment "Checks (in that order) for declared owl:allValuesFrom restrictions in superclasses, rdfs:range at the property and then spl:valueType in SPIN constraints (spl:Argument and spl:Attribute). It falls back to app:defaultRange if nothing else is found."^^xsd:string ;
825 rdfs:label "local range at class"^^xsd:string ; 858 rdfs:label "local range at class"^^xsd:string ;
826 rdfs:subClassOf app:Functions ; 859 rdfs:subClassOf app:Functions ;
827 spin:body 860 spin:body
...@@ -835,10 +868,10 @@ app:localRangeAtClass ...@@ -835,10 +868,10 @@ app:localRangeAtClass
835 sp:arg4 [ sp:varName "property"^^xsd:string 868 sp:arg4 [ sp:varName "property"^^xsd:string
836 ] 869 ]
837 ] ; 870 ] ;
838 - sp:arg2 [ rdf:type spl:object ; 871 + sp:arg2 [ rdf:type app:globalRange ;
839 - sp:arg1 [ sp:varName "property"^^xsd:string 872 + arg:property
840 - ] ; 873 + [ sp:varName "property"^^xsd:string
841 - sp:arg2 rdfs:range 874 + ]
842 ] ; 875 ] ;
843 sp:arg3 [ rdf:type spif:walkObjects ; 876 sp:arg3 [ rdf:type spif:walkObjects ;
844 sp:arg1 [ sp:varName "class"^^xsd:string 877 sp:arg1 [ sp:varName "class"^^xsd:string
...@@ -847,6 +880,11 @@ app:localRangeAtClass ...@@ -847,6 +880,11 @@ app:localRangeAtClass
847 sp:arg3 app:splValueTypeFunctor ; 880 sp:arg3 app:splValueTypeFunctor ;
848 sp:arg4 [ sp:varName "property"^^xsd:string 881 sp:arg4 [ sp:varName "property"^^xsd:string
849 ] 882 ]
883 + ] ;
884 + sp:arg4 [ rdf:type app:defaultRange ;
885 + arg:property
886 + [ sp:varName "property"^^xsd:string
887 + ]
850 ] 888 ]
851 ]) ; 889 ]) ;
852 sp:where () 890 sp:where ()
......
...@@ -771,35 +771,8 @@ app:CustomEditForm ...@@ -771,35 +771,8 @@ app:CustomEditForm
771 ui:child 771 ui:child
772 [ rdf:type ui:setContext ; 772 [ rdf:type ui:setContext ;
773 ui:child 773 ui:child
774 - [ rdf:type ui:group ;
775 - ui:child
776 - [ rdf:type html:Form ;
777 - html:class "appForm"^^xsd:string ;
778 - html:id [ sp:varName "fid"^^xsd:string
779 - ] ;
780 - ui:child
781 [ rdf:type ui:setContext ; 774 [ rdf:type ui:setContext ;
782 ui:child 775 ui:child
783 - [ rdf:type ui:if ;
784 - ui:child
785 - [ rdf:type html:Input ;
786 - html:name "resourceType"^^xsd:string ;
787 - html:type "hidden"^^xsd:string ;
788 - html:value
789 - [ rdf:type app:resourceType
790 - ] ;
791 - ui:childIndex 0
792 - ] ;
793 - ui:childIndex 0 ;
794 - ui:condition
795 - [ rdf:type sp:not ;
796 - sp:arg1 [ rdf:type sp:bound ;
797 - sp:arg1 [ sp:varName "resource"^^xsd:string
798 - ]
799 - ]
800 - ]
801 - ] ;
802 - ui:child
803 [ rdf:type app:FormHeader ; 776 [ rdf:type app:FormHeader ;
804 arg:label "Edit"^^xsd:string ; 777 arg:label "Edit"^^xsd:string ;
805 arg:resource 778 arg:resource
...@@ -835,7 +808,32 @@ app:CustomEditForm ...@@ -835,7 +808,32 @@ app:CustomEditForm
835 ui:childIndex 0 ; 808 ui:childIndex 0 ;
836 ui:into "toolBar"^^xsd:string 809 ui:into "toolBar"^^xsd:string
837 ] ; 810 ] ;
838 - ui:childIndex 1 811 + ui:childIndex 0
812 + ] ;
813 + ui:child
814 + [ rdf:type html:Form ;
815 + html:class "appForm ui-layout-content"^^xsd:string ;
816 + html:id [ sp:varName "fid"^^xsd:string
817 + ] ;
818 + ui:child
819 + [ rdf:type ui:if ;
820 + ui:child
821 + [ rdf:type html:Input ;
822 + html:name "resourceType"^^xsd:string ;
823 + html:type "hidden"^^xsd:string ;
824 + html:value
825 + [ rdf:type app:resourceType
826 + ] ;
827 + ui:childIndex 0
828 + ] ;
829 + ui:childIndex 0 ;
830 + ui:condition
831 + [ rdf:type sp:not ;
832 + sp:arg1 [ rdf:type sp:bound ;
833 + sp:arg1 [ sp:varName "resource"^^xsd:string
834 + ]
835 + ]
836 + ]
839 ] ; 837 ] ;
840 ui:child 838 ui:child
841 [ rdf:type html:Div ; 839 [ rdf:type html:Div ;
...@@ -867,7 +865,7 @@ app:CustomEditForm ...@@ -867,7 +865,7 @@ app:CustomEditForm
867 ] ; 865 ] ;
868 ui:childIndex 1 866 ui:childIndex 1
869 ] ; 867 ] ;
870 - ui:childIndex 2 868 + ui:childIndex 1
871 ] ; 869 ] ;
872 ui:child 870 ui:child
873 [ rdf:type html:Div ; 871 [ rdf:type html:Div ;
...@@ -901,16 +899,14 @@ app:CustomEditForm ...@@ -901,16 +899,14 @@ app:CustomEditForm
901 ] ; 899 ] ;
902 ui:childIndex 1 900 ui:childIndex 1
903 ] ; 901 ] ;
904 - ui:childIndex 3 902 + ui:childIndex 2
903 + ] ;
904 + ui:childIndex 1
905 ] ; 905 ] ;
906 ui:childIndex 0 ; 906 ui:childIndex 0 ;
907 ui:varName "createLinkFunction"^^xsd:string ; 907 ui:varName "createLinkFunction"^^xsd:string ;
908 ui:varValue app:createNewTabLink 908 ui:varValue app:createNewTabLink
909 ] ; 909 ] ;
910 - ui:childIndex 0
911 - ] ;
912 - ui:childIndex 0
913 - ] ;
914 ui:childIndex 0 ; 910 ui:childIndex 0 ;
915 ui:varName 911 ui:varName
916 [ rdf:type sp:if ; 912 [ rdf:type sp:if ;
...@@ -1744,12 +1740,6 @@ app:HSplitLayout ...@@ -1744,12 +1740,6 @@ app:HSplitLayout
1744 rdfs:subClassOf app:LayoutElements ; 1740 rdfs:subClassOf app:LayoutElements ;
1745 spin:constraint 1741 spin:constraint
1746 [ rdf:type spl:Argument ; 1742 [ rdf:type spl:Argument ;
1747 - rdfs:comment "The height of the overall div, e.g. \"300px\""^^xsd:string ;
1748 - spl:predicate arg:height ;
1749 - spl:valueType xsd:string
1750 - ] ;
1751 - spin:constraint
1752 - [ rdf:type spl:Argument ;
1753 rdfs:comment "The width of the left component, e.g. \"30%\"."^^xsd:string ; 1743 rdfs:comment "The width of the left component, e.g. \"30%\"."^^xsd:string ;
1754 spl:optional "true"^^xsd:boolean ; 1744 spl:optional "true"^^xsd:boolean ;
1755 spl:predicate arg:leftWidth ; 1745 spl:predicate arg:leftWidth ;
...@@ -1757,35 +1747,56 @@ app:HSplitLayout ...@@ -1757,35 +1747,56 @@ app:HSplitLayout
1757 ] ; 1747 ] ;
1758 ui:prototype 1748 ui:prototype
1759 [ rdf:type ui:group ; 1749 [ rdf:type ui:group ;
1750 + let:A [ rdf:type ui:uniqueId
1751 + ] ;
1752 + let:B [ rdf:type ui:uniqueId
1753 + ] ;
1760 let:id [ rdf:type ui:uniqueId 1754 let:id [ rdf:type ui:uniqueId
1761 ] ; 1755 ] ;
1762 ui:child 1756 ui:child
1763 [ rdf:type html:Div ; 1757 [ rdf:type html:Div ;
1758 + html:class "appHSplitLayout"^^xsd:string ;
1764 html:id [ sp:varName "id"^^xsd:string 1759 html:id [ sp:varName "id"^^xsd:string
1765 ] ; 1760 ] ;
1761 + ui:child
1762 + [ rdf:type html:Div ;
1763 + html:class "appHSplitLayoutChild"^^xsd:string ;
1764 + html:id [ sp:varName "A"^^xsd:string
1765 + ] ;
1766 html:style 1766 html:style
1767 - [ rdf:type fn:concat ; 1767 + [ rdf:type ui:concat ;
1768 - sp:arg1 "height:"^^xsd:string ; 1768 + sp:arg1 "float: left; "^^xsd:string ;
1769 - sp:arg2 [ sp:varName "height"^^xsd:string 1769 + sp:arg2 [ rdf:type sp:if ;
1770 + sp:arg1 [ rdf:type sp:bound ;
1771 + sp:arg1 [ sp:varName "leftWidth"^^xsd:string
1772 + ]
1773 + ] ;
1774 + sp:arg2 [ rdf:type fn:concat ;
1775 + sp:arg1 "width:" ;
1776 + sp:arg2 [ sp:varName "leftWidth"^^xsd:string
1777 + ]
1778 + ] ;
1779 + sp:arg3 [ sp:varName "none"^^xsd:string
1780 + ]
1770 ] 1781 ]
1771 ] ; 1782 ] ;
1772 - ui:child
1773 - [ rdf:type html:Div ;
1774 - html:class "ui-layout-west"^^xsd:string ;
1775 ui:child 1783 ui:child
1776 [ rdf:type ui:insertionPoint ; 1784 [ rdf:type ui:insertionPoint ;
1777 ui:childIndex 0 ; 1785 ui:childIndex 0 ;
1778 - ui:pointId "left"^^xsd:string 1786 + ui:pointId "1"^^xsd:string
1779 ] ; 1787 ] ;
1780 ui:childIndex 0 1788 ui:childIndex 0
1781 ] ; 1789 ] ;
1782 ui:child 1790 ui:child
1783 [ rdf:type html:Div ; 1791 [ rdf:type html:Div ;
1784 - html:class "ui-layout-center"^^xsd:string ; 1792 + html:class "appHSplitLayoutChild"^^xsd:string ;
1793 + html:id [ sp:varName "B"^^xsd:string
1794 + ] ;
1795 + html:style "float: right"^^xsd:string ;
1785 ui:child 1796 ui:child
1786 [ rdf:type ui:insertionPoint ; 1797 [ rdf:type ui:insertionPoint ;
1787 ui:childIndex 0 ; 1798 ui:childIndex 0 ;
1788 - ui:pointId "right"^^xsd:string 1799 + ui:pointId "2"^^xsd:string
1789 ] ; 1800 ] ;
1790 ui:childIndex 1 1801 ui:childIndex 1
1791 ] ; 1802 ] ;
...@@ -1808,40 +1819,33 @@ app:HSplitLayout ...@@ -1808,40 +1819,33 @@ app:HSplitLayout
1808 ui:child 1819 ui:child
1809 [ rdf:type ui:TextNode ; 1820 [ rdf:type ui:TextNode ;
1810 ui:childIndex 2 ; 1821 ui:childIndex 2 ;
1811 - ui:text """').layout({ 1822 + ui:text """').splitter({
1812 - applyDefaultStyles : true, 1823 + A:$('#"""^^xsd:string
1813 - resizable : true,
1814 - slidable : true"""^^xsd:string
1815 ] ; 1824 ] ;
1816 ui:child 1825 ui:child
1817 - [ rdf:type ui:if ;
1818 - ui:child
1819 [ rdf:type ui:TextNode ; 1826 [ rdf:type ui:TextNode ;
1820 - ui:childIndex 0 ; 1827 + ui:childIndex 3 ;
1821 - ui:text ",west__size:'"^^xsd:string 1828 + ui:text [ sp:varName "A"^^xsd:string
1829 + ]
1822 ] ; 1830 ] ;
1823 ui:child 1831 ui:child
1824 [ rdf:type ui:TextNode ; 1832 [ rdf:type ui:TextNode ;
1825 - ui:childIndex 1 ; 1833 + ui:childIndex 4 ;
1826 - ui:text [ sp:varName "leftWidth"^^xsd:string 1834 + ui:text """'),
1827 - ] 1835 + B:$('#"""^^xsd:string
1828 ] ; 1836 ] ;
1829 ui:child 1837 ui:child
1830 [ rdf:type ui:TextNode ; 1838 [ rdf:type ui:TextNode ;
1831 - ui:childIndex 2 ; 1839 + ui:childIndex 5 ;
1832 - ui:text "'"^^xsd:string 1840 + ui:text [ sp:varName "B"^^xsd:string
1833 - ] ;
1834 - ui:childIndex 3 ;
1835 - ui:condition
1836 - [ rdf:type sp:bound ;
1837 - sp:arg1 [ sp:varName "leftWidth"^^xsd:string
1838 - ]
1839 ] 1841 ]
1840 ] ; 1842 ] ;
1841 ui:child 1843 ui:child
1842 [ rdf:type ui:TextNode ; 1844 [ rdf:type ui:TextNode ;
1843 - ui:childIndex 4 ; 1845 + ui:childIndex 6 ;
1844 - ui:text """ 1846 + ui:text """'),
1847 + closeableto:0,
1848 + splitVertical: true
1845 }); 1849 });
1846 });"""^^xsd:string 1850 });"""^^xsd:string
1847 ] ; 1851 ] ;
...@@ -3876,10 +3880,17 @@ app:SearchForm ...@@ -3876,10 +3880,17 @@ app:SearchForm
3876 ui:child 3880 ui:child
3877 [ rdf:type ui:setContext ; 3881 [ rdf:type ui:setContext ;
3878 ui:child 3882 ui:child
3883 + [ rdf:type ui:setContext ;
3884 + ui:child
3885 + [ rdf:type app:FormHeader ;
3886 + arg:label "Search"^^xsd:string ;
3887 + ui:childIndex 0
3888 + ] ;
3889 + ui:child
3879 [ rdf:type html:Form ; 3890 [ rdf:type html:Form ;
3880 html:class 3891 html:class
3881 [ rdf:type ui:concat ; 3892 [ rdf:type ui:concat ;
3882 - sp:arg1 "appForm "^^xsd:string ; 3893 + sp:arg1 "appForm ui-layout-content "^^xsd:string ;
3883 sp:arg2 [ rdf:type sp:if ; 3894 sp:arg2 [ rdf:type sp:if ;
3884 sp:arg1 [ rdf:type sp:or ; 3895 sp:arg1 [ rdf:type sp:or ;
3885 sp:arg1 [ rdf:type sp:not ; 3896 sp:arg1 [ rdf:type sp:not ;
...@@ -3906,13 +3917,6 @@ app:SearchForm ...@@ -3906,13 +3917,6 @@ app:SearchForm
3906 ] 3917 ]
3907 ] ; 3918 ] ;
3908 ui:child 3919 ui:child
3909 - [ rdf:type ui:setContext ;
3910 - ui:child
3911 - [ rdf:type app:FormHeader ;
3912 - arg:label "Search"^^xsd:string ;
3913 - ui:childIndex 0
3914 - ] ;
3915 - ui:child
3916 [ rdf:type html:Input ; 3920 [ rdf:type html:Input ;
3917 html:name "type"^^xsd:string ; 3921 html:name "type"^^xsd:string ;
3918 html:type "hidden"^^xsd:string ; 3922 html:type "hidden"^^xsd:string ;
...@@ -3923,7 +3927,7 @@ app:SearchForm ...@@ -3923,7 +3927,7 @@ app:SearchForm
3923 ] ; 3927 ] ;
3924 sp:arg3 ">"^^xsd:string 3928 sp:arg3 ">"^^xsd:string
3925 ] ; 3929 ] ;
3926 - ui:childIndex 1 3930 + ui:childIndex 0
3927 ] ; 3931 ] ;
3928 ui:child 3932 ui:child
3929 [ rdf:type html:Input ; 3933 [ rdf:type html:Input ;
...@@ -3942,7 +3946,7 @@ app:SearchForm ...@@ -3942,7 +3946,7 @@ app:SearchForm
3942 ] 3946 ]
3943 ] 3947 ]
3944 ] ; 3948 ] ;
3945 - ui:childIndex 2 3949 + ui:childIndex 1
3946 ] ; 3950 ] ;
3947 ui:child 3951 ui:child
3948 [ rdf:type html:Input ; 3952 [ rdf:type html:Input ;
...@@ -3953,7 +3957,7 @@ app:SearchForm ...@@ -3953,7 +3957,7 @@ app:SearchForm
3953 sp:arg1 [ rdf:type ui:currentQueryGraph 3957 sp:arg1 [ rdf:type ui:currentQueryGraph
3954 ] 3958 ]
3955 ] ; 3959 ] ;
3956 - ui:childIndex 3 3960 + ui:childIndex 2
3957 ] ; 3961 ] ;
3958 ui:child 3962 ui:child
3959 [ rdf:type ui:if ; 3963 [ rdf:type ui:if ;
...@@ -3994,7 +3998,7 @@ app:SearchForm ...@@ -3994,7 +3998,7 @@ app:SearchForm
3994 ]) 3998 ])
3995 ] 3999 ]
3996 ] ; 4000 ] ;
3997 - ui:childIndex 4 ; 4001 + ui:childIndex 3 ;
3998 ui:condition 4002 ui:condition
3999 [ rdf:type sp:bound ; 4003 [ rdf:type sp:bound ;
4000 sp:arg1 [ sp:varName "kp"^^xsd:string 4004 sp:arg1 [ sp:varName "kp"^^xsd:string
...@@ -4011,7 +4015,9 @@ app:SearchForm ...@@ -4011,7 +4015,9 @@ app:SearchForm
4011 [ rdf:type app:resourceType 4015 [ rdf:type app:resourceType
4012 ] 4016 ]
4013 ] ; 4017 ] ;
4014 - ui:childIndex 5 4018 + ui:childIndex 4
4019 + ] ;
4020 + ui:childIndex 1
4015 ] ; 4021 ] ;
4016 ui:child 4022 ui:child
4017 [ rdf:type html:Div ; 4023 [ rdf:type html:Div ;
...@@ -4049,14 +4055,12 @@ app:SearchForm ...@@ -4049,14 +4055,12 @@ app:SearchForm
4049 html:value "Reset"^^xsd:string ; 4055 html:value "Reset"^^xsd:string ;
4050 ui:childIndex 2 4056 ui:childIndex 2
4051 ] ; 4057 ] ;
4052 - ui:childIndex 6 4058 + ui:childIndex 2
4053 ] ; 4059 ] ;
4054 ui:childIndex 0 ; 4060 ui:childIndex 0 ;
4055 ui:varName "createLinkFunction"^^xsd:string ; 4061 ui:varName "createLinkFunction"^^xsd:string ;
4056 ui:varValue app:createNewTabLink 4062 ui:varValue app:createNewTabLink
4057 ] ; 4063 ] ;
4058 - ui:childIndex 0
4059 - ] ;
4060 ui:childIndex 0 ; 4064 ui:childIndex 0 ;
4061 ui:varName "resourceType"^^xsd:string ; 4065 ui:varName "resourceType"^^xsd:string ;
4062 ui:varValue 4066 ui:varValue
...@@ -5568,12 +5572,6 @@ app:VSplitLayout ...@@ -5568,12 +5572,6 @@ app:VSplitLayout
5568 rdfs:subClassOf app:LayoutElements ; 5572 rdfs:subClassOf app:LayoutElements ;
5569 spin:constraint 5573 spin:constraint
5570 [ rdf:type spl:Argument ; 5574 [ rdf:type spl:Argument ;
5571 - rdfs:comment "The height of the overall div, e.g. \"300px\""^^xsd:string ;
5572 - spl:predicate arg:height ;
5573 - spl:valueType xsd:string
5574 - ] ;
5575 - spin:constraint
5576 - [ rdf:type spl:Argument ;
5577 rdfs:comment "The height of the top component, e.g. \"30%\"."^^xsd:string ; 5575 rdfs:comment "The height of the top component, e.g. \"30%\"."^^xsd:string ;
5578 spl:optional "true"^^xsd:boolean ; 5576 spl:optional "true"^^xsd:boolean ;
5579 spl:predicate arg:topHeight ; 5577 spl:predicate arg:topHeight ;
...@@ -5581,21 +5579,37 @@ app:VSplitLayout ...@@ -5581,21 +5579,37 @@ app:VSplitLayout
5581 ] ; 5579 ] ;
5582 ui:prototype 5580 ui:prototype
5583 [ rdf:type ui:group ; 5581 [ rdf:type ui:group ;
5582 + let:A [ rdf:type ui:uniqueId
5583 + ] ;
5584 + let:B [ rdf:type ui:uniqueId
5585 + ] ;
5584 let:id [ rdf:type ui:uniqueId 5586 let:id [ rdf:type ui:uniqueId
5585 ] ; 5587 ] ;
5586 ui:child 5588 ui:child
5587 [ rdf:type html:Div ; 5589 [ rdf:type html:Div ;
5590 + html:class "appVSplitLayout"^^xsd:string ;
5588 html:id [ sp:varName "id"^^xsd:string 5591 html:id [ sp:varName "id"^^xsd:string
5589 ] ; 5592 ] ;
5593 + html:style "height:100%"^^xsd:string ;
5594 + ui:child
5595 + [ rdf:type html:Div ;
5596 + html:class "appVSplitLayoutChild"^^xsd:string ;
5597 + html:id [ sp:varName "A"^^xsd:string
5598 + ] ;
5590 html:style 5599 html:style
5591 - [ rdf:type fn:concat ; 5600 + [ rdf:type sp:if ;
5592 - sp:arg1 "height:"^^xsd:string ; 5601 + sp:arg1 [ rdf:type sp:bound ;
5593 - sp:arg2 [ sp:varName "height"^^xsd:string 5602 + sp:arg1 [ sp:varName "topHeight"^^xsd:string
5603 + ]
5604 + ] ;
5605 + sp:arg2 [ rdf:type fn:concat ;
5606 + sp:arg1 "height:" ;
5607 + sp:arg2 [ sp:varName "topHeight"^^xsd:string
5608 + ]
5609 + ] ;
5610 + sp:arg3 [ sp:varName "none"^^xsd:string
5594 ] 5611 ]
5595 ] ; 5612 ] ;
5596 - ui:child
5597 - [ rdf:type html:Div ;
5598 - html:class "ui-layout-north"^^xsd:string ;
5599 ui:child 5613 ui:child
5600 [ rdf:type ui:insertionPoint ; 5614 [ rdf:type ui:insertionPoint ;
5601 ui:childIndex 0 ; 5615 ui:childIndex 0 ;
...@@ -5605,7 +5619,9 @@ app:VSplitLayout ...@@ -5605,7 +5619,9 @@ app:VSplitLayout
5605 ] ; 5619 ] ;
5606 ui:child 5620 ui:child
5607 [ rdf:type html:Div ; 5621 [ rdf:type html:Div ;
5608 - html:class "ui-layout-center"^^xsd:string ; 5622 + html:class "appVSplitLayoutChild"^^xsd:string ;
5623 + html:id [ sp:varName "B"^^xsd:string
5624 + ] ;
5609 ui:child 5625 ui:child
5610 [ rdf:type ui:insertionPoint ; 5626 [ rdf:type ui:insertionPoint ;
5611 ui:childIndex 0 ; 5627 ui:childIndex 0 ;
...@@ -5632,40 +5648,33 @@ app:VSplitLayout ...@@ -5632,40 +5648,33 @@ app:VSplitLayout
5632 ui:child 5648 ui:child
5633 [ rdf:type ui:TextNode ; 5649 [ rdf:type ui:TextNode ;
5634 ui:childIndex 2 ; 5650 ui:childIndex 2 ;
5635 - ui:text """').layout({ 5651 + ui:text """').splitter({
5636 - applyDefaultStyles : true, 5652 + A:$('#"""^^xsd:string
5637 - resizable : true,
5638 - slidable : true"""^^xsd:string
5639 ] ; 5653 ] ;
5640 ui:child 5654 ui:child
5641 - [ rdf:type ui:if ;
5642 - ui:child
5643 [ rdf:type ui:TextNode ; 5655 [ rdf:type ui:TextNode ;
5644 - ui:childIndex 0 ; 5656 + ui:childIndex 3 ;
5645 - ui:text ",north__size:'"^^xsd:string 5657 + ui:text [ sp:varName "A"^^xsd:string
5658 + ]
5646 ] ; 5659 ] ;
5647 ui:child 5660 ui:child
5648 [ rdf:type ui:TextNode ; 5661 [ rdf:type ui:TextNode ;
5649 - ui:childIndex 1 ; 5662 + ui:childIndex 4 ;
5650 - ui:text [ sp:varName "topHeight"^^xsd:string 5663 + ui:text """'),
5651 - ] 5664 + B:$('#"""^^xsd:string
5652 ] ; 5665 ] ;
5653 ui:child 5666 ui:child
5654 [ rdf:type ui:TextNode ; 5667 [ rdf:type ui:TextNode ;
5655 - ui:childIndex 2 ; 5668 + ui:childIndex 5 ;
5656 - ui:text "'"^^xsd:string 5669 + ui:text [ sp:varName "B"^^xsd:string
5657 - ] ;
5658 - ui:childIndex 3 ;
5659 - ui:condition
5660 - [ rdf:type sp:bound ;
5661 - sp:arg1 [ sp:varName "topHeight"^^xsd:string
5662 - ]
5663 ] 5670 ]
5664 ] ; 5671 ] ;
5665 ui:child 5672 ui:child
5666 [ rdf:type ui:TextNode ; 5673 [ rdf:type ui:TextNode ;
5667 - ui:childIndex 4 ; 5674 + ui:childIndex 6 ;
5668 - ui:text """ 5675 + ui:text """'),
5676 + closeableto:0,
5677 + splitHorizontal: true
5669 }); 5678 });
5670 });"""^^xsd:string 5679 });"""^^xsd:string
5671 ] ; 5680 ] ;
...@@ -5690,11 +5699,6 @@ app:ViewForm ...@@ -5690,11 +5699,6 @@ app:ViewForm
5690 [ rdf:type ui:uniqueId 5699 [ rdf:type ui:uniqueId
5691 ] ; 5700 ] ;
5692 ui:child 5701 ui:child
5693 - [ rdf:type html:Form ;
5694 - html:class "appForm"^^xsd:string ;
5695 - html:id [ sp:varName "formId"^^xsd:string
5696 - ] ;
5697 - ui:child
5698 [ rdf:type ui:setContext ; 5702 [ rdf:type ui:setContext ;
5699 ui:child 5703 ui:child
5700 [ rdf:type app:FormHeader ; 5704 [ rdf:type app:FormHeader ;
...@@ -5731,6 +5735,11 @@ app:ViewForm ...@@ -5731,6 +5735,11 @@ app:ViewForm
5731 ui:childIndex 0 5735 ui:childIndex 0
5732 ] ; 5736 ] ;
5733 ui:child 5737 ui:child
5738 + [ rdf:type html:Form ;
5739 + html:class "appForm ui-layout-content"^^xsd:string ;
5740 + html:id [ sp:varName "formId"^^xsd:string
5741 + ] ;
5742 + ui:child
5734 [ rdf:type html:Div ; 5743 [ rdf:type html:Div ;
5735 html:class "appFormBody"^^xsd:string ; 5744 html:class "appFormBody"^^xsd:string ;
5736 ui:child 5745 ui:child
...@@ -5740,14 +5749,14 @@ app:ViewForm ...@@ -5740,14 +5749,14 @@ app:ViewForm
5740 [ sp:varName "resource"^^xsd:string 5749 [ sp:varName "resource"^^xsd:string
5741 ] 5750 ]
5742 ] ; 5751 ] ;
5752 + ui:childIndex 0
5753 + ] ;
5743 ui:childIndex 1 5754 ui:childIndex 1
5744 ] ; 5755 ] ;
5745 ui:childIndex 0 ; 5756 ui:childIndex 0 ;
5746 ui:varName "createLinkFunction"^^xsd:string ; 5757 ui:varName "createLinkFunction"^^xsd:string ;
5747 ui:varValue app:createReplaceViewFormLink 5758 ui:varValue app:createReplaceViewFormLink
5748 ] ; 5759 ] ;
5749 - ui:childIndex 0
5750 - ] ;
5751 ui:varName "mode"^^xsd:string ; 5760 ui:varName "mode"^^xsd:string ;
5752 ui:varValue "view"^^xsd:string 5761 ui:varValue "view"^^xsd:string
5753 ] . 5762 ] .
......
1 @CHARSET "UTF-8"; 1 @CHARSET "UTF-8";
2 2
3 body { 3 body {
4 - font-family: sans-serif; 4 + font-family: Arial, Helvetica, sans-serif;
5 } 5 }
6 6
7 .appAddRowButton { 7 .appAddRowButton {
...@@ -18,8 +18,8 @@ body { ...@@ -18,8 +18,8 @@ body {
18 .appAutoComplete { 18 .appAutoComplete {
19 } 19 }
20 20
21 -.appBaseFont, .appObjectWidget { 21 +.appBaseFont, .appObjectWidget, .appLabeledObjectsLabelTD {
22 - font-size: 14px; 22 + font-size: 12px;
23 } 23 }
24 24
25 .appErrorIndicator { 25 .appErrorIndicator {
...@@ -47,7 +47,6 @@ body { ...@@ -47,7 +47,6 @@ body {
47 } 47 }
48 48
49 .appLabeledObjectsLabelTD { 49 .appLabeledObjectsLabelTD {
50 - font-size: 14px;
51 font-weight: bold; 50 font-weight: bold;
52 padding-bottom: 0px; 51 padding-bottom: 0px;
53 padding-left: 0px; 52 padding-left: 0px;
...@@ -100,7 +99,6 @@ body { ...@@ -100,7 +99,6 @@ body {
100 padding-top: 5px; 99 padding-top: 5px;
101 } 100 }
102 101
103 -
104 .appEditorHiddenField { 102 .appEditorHiddenField {
105 } 103 }
106 104
...@@ -120,8 +118,14 @@ body { ...@@ -120,8 +118,14 @@ body {
120 } 118 }
121 119
122 .appFormFooter { 120 .appFormFooter {
123 - padding: 4px; 121 + border-top-width: 1px;
124 - margin-top: 8px; 122 + border-top-style: solid;
123 + border-top-color: #b0b0b0;
124 + background-color: #f0f0f0;
125 + padding-top: 2px;
126 + padding-left: 4px;
127 + padding-right: 4px;
128 + padding-bottom: 4px;
125 } 129 }
126 130
127 .appFormHeaderLink { 131 .appFormHeaderLink {
...@@ -145,8 +149,10 @@ a:active.appFormHeaderLink { ...@@ -145,8 +149,10 @@ a:active.appFormHeaderLink {
145 } 149 }
146 150
147 .appHeader { 151 .appHeader {
148 - background-color: darkGray; 152 + background-color: #303030;
149 color: white; 153 color: white;
154 + font-size: 15px;
155 + font-weight: bold;
150 padding-left: 4px; 156 padding-left: 4px;
151 padding-top: 2px; 157 padding-top: 2px;
152 padding-bottom: 2px; 158 padding-bottom: 2px;
...@@ -242,14 +248,15 @@ td.appPropertyWidgetObjectTD { ...@@ -242,14 +248,15 @@ td.appPropertyWidgetObjectTD {
242 font-size: 11px; 248 font-size: 11px;
243 } 249 }
244 250
245 -.ui-layout-north { 251 +.ui-layout-content {
246 padding: 0 !important; 252 padding: 0 !important;
247 } 253 }
248 254
249 -.ui-layout-west { 255 +.ui-layout-north, .ui-layout-south, .ui-layout-west, .ui-layout-east, .ui-layout-center {
256 + border: 0px !important;
250 padding: 0 !important; 257 padding: 0 !important;
251 } 258 }
252 259
253 -.ui-layout-center { 260 +.jstree {
254 - padding: 0 !important; 261 + font-size: 12px !important;
255 } 262 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -174,8 +174,26 @@ function appLoad(id, args) { ...@@ -174,8 +174,26 @@ function appLoad(id, args) {
174 var p = jQuery.param(c); 174 var p = jQuery.param(c);
175 url = p + "&" + base; 175 url = p + "&" + base;
176 } 176 }
177 + url += '&_snippet=true';
177 appInsertLoadingIndicator(e); 178 appInsertLoadingIndicator(e);
178 - e.load(uispinServlet, url); 179 + // TODO: Error handling may not work yet
180 + e.load(uispinServlet, url, function() {
181 + appLoadPostProcess(e, 'north');
182 + appLoadPostProcess(e, 'east');
183 + appLoadPostProcess(e, 'south');
184 + appLoadPostProcess(e, 'west');
185 + appLoadPostProcess(e, 'center');
186 + });
187 +}
188 +
189 +
190 +// Private function to make sure that the scrollbars are
191 +// updated if a ui:loadable has been loaded into a layout pane
192 +function appLoadPostProcess(e, pane) {
193 + // TODO: Test if this also works for panes that don't have a ui-layout-content
194 + if(e.hasClass('ui-layout-' + pane)) {
195 + e.parent().layout().initContent(pane);
196 + }
179 } 197 }
180 198
181 199
...@@ -221,6 +239,13 @@ function appLoadForm(formId, mode, resourceURI, resourceTypeURI, queryGraphURI) ...@@ -221,6 +239,13 @@ function appLoadForm(formId, mode, resourceURI, resourceTypeURI, queryGraphURI)
221 * @param onSelect the value for onSelect of the generated grid 239 * @param onSelect the value for onSelect of the generated grid
222 */ 240 */
223 function appLoadSearchResultsGrid(formId, targetId, onSelect) { 241 function appLoadSearchResultsGrid(formId, targetId, onSelect) {
242 +
243 + // TODO: jQuery's serialize method has problems with attributes such as
244 + // _base="<http://example.org/>" - it will convert those to something
245 + // like _base=<http://example.org></http:>. There may be other problems
246 + // with special characters etc, but the specific bug above can be
247 + // worked around by not having URIs end with '/'.
248 +
224 var params = $('#' + formId).serialize(); 249 var params = $('#' + formId).serialize();
225 var escaped = '&params=' + escape(params); 250 var escaped = '&params=' + escape(params);
226 if(onSelect) { 251 if(onSelect) {
......
...@@ -53,13 +53,24 @@ ...@@ -53,13 +53,24 @@
53 {= ?onSelect } 53 {= ?onSelect }
54 }, 54 },
55 </ui:if> 55 </ui:if>
56 + autoWidth: true,
57 + height: '100%',
56 rowNum: 10, 58 rowNum: 10,
57 rowList:[5,10,20], 59 rowList:[5,10,20],
58 pager: '#{= ?pagerId }', 60 pager: '#{= ?pagerId }',
59 - viewrecords: true, 61 + shrinkToFit: false,
60 - sortorder: "asc", 62 + sortorder: 'asc',
61 - height: "100%", 63 + viewrecords: true
62 - width: "100%" 64 + //width: '100%'
63 - }).jqGrid('navGrid', '#{= ?pagerId }', { add:false, edit:false, del:false}); 65 + }).jqGrid('navGrid', '#{= ?pagerId }', {
66 + add:false,
67 + del:false,
68 + edit:false,
69 + search: false
70 + });
71 +
72 + $("#{= ?tableId }").parent().resize(function() {
73 + alert('Resized');
74 + });
64 </script> 75 </script>
65 </ui:group> 76 </ui:group>
...\ No newline at end of file ...\ No newline at end of file
......
1 -# baseURI: http://appschema.org/skapp
2 -# imports: http://appschema.org
3 -# imports: http://www.w3.org/2004/02/skos/core
4 -
5 -@prefix app: <http://appschema.org/> .
6 -@prefix arg: <http://spinrdf.org/arg#> .
7 -@prefix default: <http://uispin.org/default#> .
8 -@prefix html: <http://uispin.org/html#> .
9 -@prefix let: <http://uispin.org/let#> .
10 -@prefix letrs: <http://uispin.org/letrs#> .
11 -@prefix owl: <http://www.w3.org/2002/07/owl#> .
12 -@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
13 -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
14 -@prefix skapp: <http://appschema.org/skapp#> .
15 -@prefix sp: <http://spinrdf.org/sp#> .
16 -@prefix spin: <http://spinrdf.org/spin#> .
17 -@prefix spl: <http://spinrdf.org/spl#> .
18 -@prefix ui: <http://uispin.org/ui#> .
19 -@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
20 -
21 -app:skapp
22 - rdf:type owl:Ontology ;
23 - owl:imports <http://appschema.org> , <http://www.w3.org/2004/02/skos/core> ;
24 - owl:versionInfo "0.1.0"^^xsd:string .
25 -
26 -skapp:ConceptClassTreeDataProvider
27 - rdf:type app:QueryTreeDataProvider ;
28 - rdfs:label "Concept class tree data provider"^^xsd:string ;
29 - arg:childrenQuery
30 - [ rdf:type sp:Select ;
31 - sp:orderBy ([ sp:varName "label"^^xsd:string
32 - ]) ;
33 - sp:resultVariables ([ sp:varName "child"^^xsd:string
34 - ] [ sp:varName "label"^^xsd:string
35 - ] [ sp:varName "leaf"^^xsd:string
36 - ] [ sp:varName "icon"^^xsd:string
37 - ] [ sp:varName "type"^^xsd:string
38 - ]) ;
39 - sp:where ([ sp:object
40 - [ sp:varName "parent"^^xsd:string
41 - ] ;
42 - sp:predicate rdfs:subClassOf ;
43 - sp:subject
44 - [ sp:varName "child"^^xsd:string
45 - ]
46 - ] [ rdf:type sp:Bind ;
47 - sp:expression
48 - [ rdf:type sp:notExists ;
49 - sp:elements ([ sp:object
50 - [ sp:varName "child"^^xsd:string
51 - ] ;
52 - sp:predicate rdfs:subClassOf ;
53 - sp:subject
54 - [ sp:varName "grandChild"^^xsd:string
55 - ]
56 - ])
57 - ] ;
58 - sp:variable
59 - [ sp:varName "leaf"^^xsd:string
60 - ]
61 - ] [ rdf:type sp:Bind ;
62 - sp:expression
63 - [ rdf:type ui:label ;
64 - sp:arg1 [ sp:varName "child"^^xsd:string
65 - ]
66 - ] ;
67 - sp:variable
68 - [ sp:varName "label"^^xsd:string
69 - ]
70 - ] [ rdf:type sp:Bind ;
71 - sp:expression "appIconClass" ;
72 - sp:variable
73 - [ sp:varName "icon"^^xsd:string
74 - ]
75 - ] [ rdf:type sp:Bind ;
76 - sp:expression
77 - [ rdf:type spl:object ;
78 - sp:arg1 [ sp:varName "child"^^xsd:string
79 - ] ;
80 - sp:arg2 rdf:type
81 - ] ;
82 - sp:variable
83 - [ sp:varName "type"^^xsd:string
84 - ]
85 - ])
86 - ] ;
87 - arg:id [ sp:varName "id"^^xsd:string
88 - ] ;
89 - arg:rootsQuery
90 - [ rdf:type sp:Select ;
91 - sp:resultVariables ([ sp:varName "child"^^xsd:string
92 - ] [ sp:varName "label"^^xsd:string
93 - ] [ sp:varName "leaf"^^xsd:string
94 - ] [ sp:varName "icon"^^xsd:string
95 - ]) ;
96 - sp:where ([ rdf:type sp:Bind ;
97 - sp:expression <http://www.w3.org/2004/02/skos/core#Concept> ;
98 - sp:variable
99 - [ sp:varName "child"^^xsd:string
100 - ]
101 - ] [ rdf:type sp:Bind ;
102 - sp:expression "Any Concept" ;
103 - sp:variable
104 - [ sp:varName "label"^^xsd:string
105 - ]
106 - ] [ rdf:type sp:Bind ;
107 - sp:expression "false"^^xsd:boolean ;
108 - sp:variable
109 - [ sp:varName "leaf"^^xsd:string
110 - ]
111 - ] [ rdf:type sp:Bind ;
112 - sp:expression "appIconClass" ;
113 - sp:variable
114 - [ sp:varName "icon"^^xsd:string
115 - ]
116 - ])
117 - ] .
118 -
119 -skapp:ConceptSearchView
120 - rdf:type ui:NodeClass ;
121 - rdfs:comment "A vertical split pane with a search form on top and a search results grid at the bottom."^^xsd:string ;
122 - rdfs:label "Concept search view"^^xsd:string ;
123 - rdfs:subClassOf skapp:Elements ;
124 - ui:prototype
125 - [ rdf:type app:VSplitLayout ;
126 - arg:height "500px"^^xsd:string ;
127 - arg:topHeight "30%"^^xsd:string ;
128 - ui:child
129 - [ rdf:type app:VSplitLayout ;
130 - arg:height "300px"^^xsd:string ;
131 - ui:child
132 - [ rdf:type html:Div ;
133 - ui:child
134 - [ rdf:type app:Header ;
135 - arg:label "Concept Type"^^xsd:string ;
136 - ui:childIndex 0
137 - ] ;
138 - ui:child
139 - [ rdf:type app:Tree ;
140 - arg:dataProvider skapp:ConceptClassTreeDataProvider ;
141 - arg:id "classTree"^^xsd:string ;
142 - arg:onSelect "appLoadWithResource('searchFormDiv', 'resourceType', resource)"^^xsd:string ;
143 - ui:childIndex 1
144 - ] ;
145 - ui:childIndex 0
146 - ] ;
147 - ui:child
148 - [ rdf:type ui:loadable ;
149 - ui:child
150 - [ rdf:type app:SearchForm ;
151 - arg:formId "searchForm"^^xsd:string ;
152 - arg:noBorder "true"^^xsd:boolean ;
153 - arg:onSelect "appLoadWithResource('conceptForm', 'concept', resource)"^^xsd:string ;
154 - arg:resourceType
155 - [ rdf:type sp:coalesce ;
156 - sp:arg1 [ sp:varName "resourceType"^^xsd:string
157 - ] ;
158 - sp:arg2 <http://www.w3.org/2004/02/skos/core#Concept>
159 - ] ;
160 - arg:resultsId "results"^^xsd:string ;
161 - ui:childIndex 0
162 - ] ;
163 - ui:childIndex 1 ;
164 - ui:loadId "searchFormDiv"^^xsd:string
165 - ] ;
166 - ui:childIndex 0
167 - ] ;
168 - ui:child
169 - [ rdf:type html:Div ;
170 - ui:child
171 - [ rdf:type app:Header ;
172 - arg:label "Matching Concepts"^^xsd:string ;
173 - ui:childIndex 0
174 - ] ;
175 - ui:child
176 - [ rdf:type html:Div ;
177 - html:id "results"^^xsd:string ;
178 - ui:childIndex 1
179 - ] ;
180 - ui:childIndex 1
181 - ]
182 - ] .
183 -
184 -skapp:ConceptTreeBrowser
185 - rdf:type ui:NodeClass ;
186 - rdfs:comment "A horizontal split pane with a Concept tree on the left and a form for the selected concept on the right."^^xsd:string ;
187 - rdfs:label "Concept tree browser"^^xsd:string ;
188 - rdfs:subClassOf skapp:Elements ;
189 - ui:prototype
190 - [ rdf:type app:HSplitLayout ;
191 - arg:height "500px"^^xsd:string ;
192 - arg:leftWidth "30%"^^xsd:string ;
193 - ui:child
194 - [ rdf:type html:Div ;
195 - ui:child
196 - [ rdf:type app:Header ;
197 - arg:label "Concept Hierarchy"^^xsd:string ;
198 - ui:childIndex 0
199 - ] ;
200 - ui:child
201 - [ rdf:type app:Tree ;
202 - arg:dataProvider skapp:ConceptTreeDataProvider ;
203 - arg:id "conceptTree"^^xsd:string ;
204 - arg:onSelect "appLoadWithResource('conceptForm', 'concept', resource)"^^xsd:string ;
205 - ui:childIndex 1
206 - ] ;
207 - ui:childIndex 0
208 - ] ;
209 - ui:child
210 - [ rdf:type html:Div ;
211 - ui:child
212 - [ rdf:type ui:loadable ;
213 - ui:child
214 - [ rdf:type ui:if ;
215 - ui:child
216 - [ rdf:type app:ViewForm ;
217 - arg:resource
218 - [ sp:varName "concept"^^xsd:string
219 - ] ;
220 - ui:childIndex 0
221 - ] ;
222 - ui:childIndex 0 ;
223 - ui:condition
224 - [ rdf:type sp:bound ;
225 - sp:arg1 [ sp:varName "concept"^^xsd:string
226 - ]
227 - ]
228 - ] ;
229 - ui:child
230 - [ rdf:type ui:else ;
231 - ui:child
232 - [ rdf:type ui:TextNode ;
233 - ui:childIndex 0 ;
234 - ui:text """
235 - Please select a concept in the tree.
236 - """^^xsd:string
237 - ] ;
238 - ui:childIndex 1
239 - ] ;
240 - ui:childIndex 0 ;
241 - ui:loadId "conceptForm"^^xsd:string
242 - ] ;
243 - ui:childIndex 1
244 - ]
245 - ] .
246 -
247 -skapp:ConceptTreeDataProvider
248 - rdf:type app:QueryTreeDataProvider ;
249 - rdfs:comment "A data provider for a SKOS Concept tree, walking down skos:broader."^^xsd:string ;
250 - rdfs:label "Concept tree data provider"^^xsd:string ;
251 - arg:childrenQuery
252 - [ rdf:type sp:Select ;
253 - sp:orderBy ([ sp:varName "label"^^xsd:string
254 - ]) ;
255 - sp:resultVariables ([ sp:varName "child"^^xsd:string
256 - ] [ sp:varName "label"^^xsd:string
257 - ] [ sp:varName "leaf"^^xsd:string
258 - ] [ sp:varName "icon"^^xsd:string
259 - ] [ sp:varName "type"^^xsd:string
260 - ]) ;
261 - sp:where ([ sp:object
262 - [ sp:varName "parent"^^xsd:string
263 - ] ;
264 - sp:predicate <http://www.w3.org/2004/02/skos/core#broader> ;
265 - sp:subject
266 - [ sp:varName "child"^^xsd:string
267 - ]
268 - ] [ rdf:type sp:Bind ;
269 - sp:expression
270 - [ rdf:type sp:notExists ;
271 - sp:elements ([ sp:object
272 - [ sp:varName "child"^^xsd:string
273 - ] ;
274 - sp:predicate <http://www.w3.org/2004/02/skos/core#broader> ;
275 - sp:subject
276 - [ sp:varName "grandChild"^^xsd:string
277 - ]
278 - ])
279 - ] ;
280 - sp:variable
281 - [ sp:varName "leaf"^^xsd:string
282 - ]
283 - ] [ rdf:type sp:Bind ;
284 - sp:expression
285 - [ rdf:type ui:label ;
286 - sp:arg1 [ sp:varName "child"^^xsd:string
287 - ]
288 - ] ;
289 - sp:variable
290 - [ sp:varName "label"^^xsd:string
291 - ]
292 - ] [ rdf:type sp:Bind ;
293 - sp:expression "appIconConcept" ;
294 - sp:variable
295 - [ sp:varName "icon"^^xsd:string
296 - ]
297 - ] [ rdf:type sp:Bind ;
298 - sp:expression
299 - [ rdf:type spl:object ;
300 - sp:arg1 [ sp:varName "child"^^xsd:string
301 - ] ;
302 - sp:arg2 rdf:type
303 - ] ;
304 - sp:variable
305 - [ sp:varName "type"^^xsd:string
306 - ]
307 - ])
308 - ] ;
309 - arg:id [ sp:varName "id"^^xsd:string
310 - ] ;
311 - arg:rootsQuery
312 - [ rdf:type sp:Select ;
313 - sp:distinct "true"^^xsd:boolean ;
314 - sp:orderBy ([ sp:varName "label"^^xsd:string
315 - ]) ;
316 - sp:resultVariables ([ sp:varName "child"^^xsd:string
317 - ] [ sp:varName "label"^^xsd:string
318 - ] [ sp:varName "leaf"^^xsd:string
319 - ] [ sp:varName "icon"^^xsd:string
320 - ]) ;
321 - sp:where ([ rdf:type sp:TriplePath ;
322 - sp:object <http://www.w3.org/2004/02/skos/core#Concept> ;
323 - sp:path [ rdf:type sp:ModPath ;
324 - sp:modMax -2 ;
325 - sp:modMin 0 ;
326 - sp:subPath rdfs:subClassOf
327 - ] ;
328 - sp:subject
329 - [ sp:varName "type"^^xsd:string
330 - ]
331 - ] [ sp:object
332 - [ sp:varName "type"^^xsd:string
333 - ] ;
334 - sp:predicate rdf:type ;
335 - sp:subject
336 - [ sp:varName "child"^^xsd:string
337 - ]
338 - ] [ rdf:type sp:Filter ;
339 - sp:expression
340 - [ rdf:type sp:notExists ;
341 - sp:elements ([ sp:object
342 - [ sp:varName "parent"^^xsd:string
343 - ] ;
344 - sp:predicate <http://www.w3.org/2004/02/skos/core#broader> ;
345 - sp:subject
346 - [ sp:varName "child"^^xsd:string
347 - ]
348 - ])
349 - ]
350 - ] [ rdf:type sp:Bind ;
351 - sp:expression
352 - [ rdf:type sp:notExists ;
353 - sp:elements ([ sp:object
354 - [ sp:varName "child"^^xsd:string
355 - ] ;
356 - sp:predicate <http://www.w3.org/2004/02/skos/core#broader> ;
357 - sp:subject
358 - [ sp:varName "grandChild"^^xsd:string
359 - ]
360 - ])
361 - ] ;
362 - sp:variable
363 - [ sp:varName "leaf"^^xsd:string
364 - ]
365 - ] [ rdf:type sp:Bind ;
366 - sp:expression
367 - [ rdf:type ui:label ;
368 - sp:arg1 [ sp:varName "child"^^xsd:string
369 - ]
370 - ] ;
371 - sp:variable
372 - [ sp:varName "label"^^xsd:string
373 - ]
374 - ] [ rdf:type sp:Bind ;
375 - sp:expression "appIconConcept" ;
376 - sp:variable
377 - [ sp:varName "icon"^^xsd:string
378 - ]
379 - ])
380 - ] .
381 -
382 -skapp:Elements
383 - rdf:type ui:NodeClass ;
384 - rdfs:comment "Base class of SKOS related SWP elements."^^xsd:string ;
385 - rdfs:label "Elements"^^xsd:string ;
386 - rdfs:subClassOf ui:Element ;
387 - ui:abstract "true"^^xsd:boolean .
388 -
389 -skapp:SearchableConceptTreeBrowser
390 - rdf:type ui:NodeClass ;
391 - rdfs:comment "A horizontal split pane with a search view on the left and a ConceptTreeBrowser on the right."^^xsd:string ;
392 - rdfs:label "Searchable concept tree browser"^^xsd:string ;
393 - rdfs:subClassOf skapp:Elements ;
394 - ui:prototype
395 - [ rdf:type app:HSplitLayout ;
396 - arg:height "500px"^^xsd:string ;
397 - ui:child
398 - [ rdf:type skapp:ConceptSearchView ;
399 - ui:childIndex 0
400 - ] ;
401 - ui:child
402 - [ rdf:type skapp:ConceptTreeBrowser ;
403 - ui:childIndex 1
404 - ]
405 - ] .
...@@ -26,34 +26,40 @@ log:LogBrowser ...@@ -26,34 +26,40 @@ log:LogBrowser
26 rdfs:subClassOf ui:Element ; 26 rdfs:subClassOf ui:Element ;
27 ui:prototype 27 ui:prototype
28 [ rdf:type html:Div ; 28 [ rdf:type html:Div ;
29 - html:style "width:900px"^^xsd:string ; 29 + html:id "logBrowserMainPanel"^^xsd:string ;
30 + html:style "width:880px; height: 500px; border-width: 1px; border-style: solid; border-color: black;"^^xsd:string ;
30 ui:child 31 ui:child
31 - [ rdf:type app:VSplitLayout ; 32 + [ rdf:type html:Div ;
32 - arg:height "500px"^^xsd:string ; 33 + html:class "ui-layout-north"^^xsd:string ;
33 - arg:topHeight "30%"^^xsd:string ; 34 + html:id "logBrowserNorthPanel"^^xsd:string ;
35 + html:style "height: 120px"^^xsd:string ;
34 ui:child 36 ui:child
35 [ rdf:type ui:setContext ; 37 [ rdf:type ui:setContext ;
36 ui:child 38 ui:child
37 - [ rdf:type app:HSplitLayout ;
38 - arg:height "200px"^^xsd:string ;
39 - ui:child
40 [ rdf:type html:Div ; 39 [ rdf:type html:Div ;
40 + html:class "ui-layout-west"^^xsd:string ;
41 ui:child 41 ui:child
42 [ rdf:type app:Header ; 42 [ rdf:type app:Header ;
43 arg:label "Event Type"^^xsd:string ; 43 arg:label "Event Type"^^xsd:string ;
44 ui:childIndex 0 44 ui:childIndex 0
45 ] ; 45 ] ;
46 ui:child 46 ui:child
47 + [ rdf:type html:Div ;
48 + html:class "ui-layout-content"^^xsd:string ;
49 + ui:child
47 [ rdf:type app:Tree ; 50 [ rdf:type app:Tree ;
48 arg:dataProvider log:LogEventClassTreeDataProvider ; 51 arg:dataProvider log:LogEventClassTreeDataProvider ;
49 arg:id "classTree"^^xsd:string ; 52 arg:id "classTree"^^xsd:string ;
50 arg:onSelect "appLoadWithResource('form', 'resourceType', resource)"^^xsd:string ; 53 arg:onSelect "appLoadWithResource('form', 'resourceType', resource)"^^xsd:string ;
54 + ui:childIndex 0
55 + ] ;
51 ui:childIndex 1 56 ui:childIndex 1
52 ] ; 57 ] ;
53 ui:childIndex 0 58 ui:childIndex 0
54 ] ; 59 ] ;
55 ui:child 60 ui:child
56 [ rdf:type ui:loadable ; 61 [ rdf:type ui:loadable ;
62 + html:class "ui-layout-center"^^xsd:string ;
57 ui:child 63 ui:child
58 [ rdf:type app:SearchForm ; 64 [ rdf:type app:SearchForm ;
59 arg:formId "searchForm"^^xsd:string ; 65 arg:formId "searchForm"^^xsd:string ;
...@@ -71,16 +77,18 @@ log:LogBrowser ...@@ -71,16 +77,18 @@ log:LogBrowser
71 ui:childIndex 1 ; 77 ui:childIndex 1 ;
72 ui:loadId "form"^^xsd:string 78 ui:loadId "form"^^xsd:string
73 ] ; 79 ] ;
74 - ui:childIndex 0
75 - ] ;
76 ui:childIndex 0 ; 80 ui:childIndex 0 ;
77 ui:queryGraph 81 ui:queryGraph
78 [ rdf:type ui:graphWithImports ; 82 [ rdf:type ui:graphWithImports ;
79 sp:arg1 <http://www.reportinghub.no/system/schema/logging> 83 sp:arg1 <http://www.reportinghub.no/system/schema/logging>
80 ] 84 ]
81 ] ; 85 ] ;
86 + ui:childIndex 0
87 + ] ;
82 ui:child 88 ui:child
83 [ rdf:type html:Div ; 89 [ rdf:type html:Div ;
90 + html:class "ui-layout-center"^^xsd:string ;
91 + html:style "height: 300px"^^xsd:string ;
84 ui:child 92 ui:child
85 [ rdf:type app:Header ; 93 [ rdf:type app:Header ;
86 arg:label "Matching Events"^^xsd:string ; 94 arg:label "Matching Events"^^xsd:string ;
...@@ -88,12 +96,25 @@ log:LogBrowser ...@@ -88,12 +96,25 @@ log:LogBrowser
88 ] ; 96 ] ;
89 ui:child 97 ui:child
90 [ rdf:type html:Div ; 98 [ rdf:type html:Div ;
99 + html:class "ui-layout-content"^^xsd:string ;
91 html:id "results"^^xsd:string ; 100 html:id "results"^^xsd:string ;
92 ui:childIndex 1 101 ui:childIndex 1
93 ] ; 102 ] ;
94 ui:childIndex 1 103 ui:childIndex 1
95 ] ; 104 ] ;
96 - ui:childIndex 0 105 + ui:child
106 + [ rdf:type html:Script ;
107 + ui:child
108 + [ rdf:type ui:TextNode ;
109 + ui:childIndex 0 ;
110 + ui:text """$('#logBrowserMainPanel').layout({
111 + applyDefaultStyles: true
112 + });
113 + $('#logBrowserNorthPanel').layout({
114 + applyDefaultStyles: true
115 + });"""^^xsd:string
116 + ] ;
117 + ui:childIndex 2
97 ] 118 ]
98 ] . 119 ] .
99 120
......