issue-pane 2.6.1 → 3.0.0-74ef2c20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/board.js +1 -0
- package/dist/csvButton.js +1 -0
- package/dist/issue.js +1 -0
- package/dist/issuePane.js +1 -0
- package/dist/newIssue.js +1 -0
- package/dist/newTracker.js +1 -0
- package/package.json +33 -29
- package/Documentation/Configuration.html +0 -282
- package/Documentation/Configuration.md +0 -245
- package/Documentation/FooTracker/chat.ttl +0 -0
- package/Documentation/FooTracker/index.ttl +0 -84
- package/Documentation/FooTracker/state.ttl +0 -0
- package/Documentation/Makefile +0 -11
- package/Documentation/github-markdown.css +0 -964
- package/Makefile +0 -34
- package/babel.config.js +0 -5
- package/board.js +0 -97
- package/csvButton.js +0 -135
- package/dev/context.js +0 -18
- package/dev/index.html +0 -47
- package/dev/index.js +0 -42
- package/dist/big-tracker.ttl +0 -238
- package/dist/ecosystem-roadmap.ttl +0 -78
- package/dist/state-big-tracker.ttl +0 -64
- package/eslint.config.mjs +0 -32
- package/issue.js +0 -506
- package/issuePane.js +0 -594
- package/newIssue.js +0 -118
- package/newTracker.js +0 -132
- package/tbl-bug-22.png +0 -0
- package/test/big-tracker.ttl +0 -237
- package/test/ecosystem-roadmap.ttl +0 -78
- package/trackerSettingsForm.js +0 -170
- package/trackerSettingsForm.ttl +0 -168
- package/ui.js +0 -310
- package/ui.ttl +0 -308
- package/webpack.dev.config.js +0 -36
- package/wf.js +0 -370
- package/wf.ttl +0 -368
package/trackerSettingsForm.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
export const trackerSettingsFormText = `
|
|
2
|
-
@prefix : <http://www.w3.org/ns/ui#> .
|
|
3
|
-
@prefix core: <http://www.w3.org/2005/01/wf/flow#>.
|
|
4
|
-
@prefix dct: <http://purl.org/dc/terms/>.
|
|
5
|
-
@prefix owl: <http://www.w3.org/2002/07/owl#>.
|
|
6
|
-
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
|
|
7
|
-
@prefix ui: <http://www.w3.org/ns/ui#> .
|
|
8
|
-
@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.
|
|
9
|
-
@prefix wf: <http://www.w3.org/2005/01/wf/flow#> .
|
|
10
|
-
|
|
11
|
-
core:TrackerSettingsForm a :Form;
|
|
12
|
-
<http://purl.org/dc/elements/1.1/title> "Tracker Configuration Form";
|
|
13
|
-
:parts (
|
|
14
|
-
|
|
15
|
-
[ a ui:Heading; ui:contents "About the tracker"@en ]
|
|
16
|
-
|
|
17
|
-
[ a :SingleLineTextField;
|
|
18
|
-
:label "Title of issue tracker";
|
|
19
|
-
:maxLength "128";
|
|
20
|
-
:property dct:title;
|
|
21
|
-
:size "40" ]
|
|
22
|
-
|
|
23
|
-
[ a :MultiLineTextField; :label "Description"; :property wf:description; :size "40" ]
|
|
24
|
-
|
|
25
|
-
[ a ui:Choice; ui:canMintNew true; ui:use core:SuperClassForm; ui:follow true;
|
|
26
|
-
ui:property wf:issueClass;
|
|
27
|
-
ui:label "What states can an issue be in?";
|
|
28
|
-
ui:from rdfs:Class;
|
|
29
|
-
ui:default wf:Task ]
|
|
30
|
-
|
|
31
|
-
[ a ui:Comment; ui:contents """You can optionally sort issues using (one or more) classification systems"""@en ]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
[ a ui:Multiple; ui:canMintNew true; ui:part core:ClassificationForm;
|
|
35
|
-
ui:property wf:issueCategory; ui:label "Sort them into which category?"; ui:from rdfs:Class ]
|
|
36
|
-
|
|
37
|
-
[ a :BooleanField;
|
|
38
|
-
:label "Allow issues to have sub-issues";
|
|
39
|
-
:property wf:allowSubIssues;
|
|
40
|
-
:default false ]
|
|
41
|
-
|
|
42
|
-
[ a ui:Heading; ui:contents "Table view:"@en ]
|
|
43
|
-
|
|
44
|
-
[ a ui:Comment; ui:contents "Any extra properties to include?"@en ]
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
[a ui:Multiple; ui:property wf:propertyList; ui:ordered true; ui:part core:PropertyForm; ui:follow true ]
|
|
48
|
-
|
|
49
|
-
[ a ui:Heading; ui:contents "Details of issues"@en ]
|
|
50
|
-
|
|
51
|
-
# Use a people picker ideally
|
|
52
|
-
[ a ui:Choice; ui:canMintNew true; ui:use core:GroupForm;
|
|
53
|
-
ui:property wf:assigneeGroup;
|
|
54
|
-
ui:label "Assign issues to people from which group?";
|
|
55
|
-
ui:from vcard:Group;
|
|
56
|
-
]
|
|
57
|
-
|
|
58
|
-
# Optionally one form for extras
|
|
59
|
-
|
|
60
|
-
[ a ui:Choice; ui:canMintNew true; ui:use ui:FormForm;
|
|
61
|
-
ui:property wf:extrasEntryForm;
|
|
62
|
-
ui:label "Other things to save about each issue?";
|
|
63
|
-
ui:from ui:Form;
|
|
64
|
-
]
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
) .
|
|
68
|
-
|
|
69
|
-
# Form for the superclass of all states
|
|
70
|
-
# @@ also We must require each state class to be stated to be a subclass of EITHER Open OR Closed.
|
|
71
|
-
core:SuperClassForm a ui:Form; dct:title "Form for managing states";
|
|
72
|
-
ui:parts (
|
|
73
|
-
[ a :SingleLineTextField;
|
|
74
|
-
:label "Name of set of states";
|
|
75
|
-
:defualt "States";
|
|
76
|
-
:maxLength "128";
|
|
77
|
-
:property rdfs:label;
|
|
78
|
-
:size "40" ]
|
|
79
|
-
[a ui:Multiple; ui:property owl:disjointUnionOf; ui:ordered true; ui:part core:StateForm ]
|
|
80
|
-
# [ a ui:Multiple; ui:property rdfs:subClassOf; ui:reverse true; ui:part core:StateForm ]
|
|
81
|
-
) .
|
|
82
|
-
|
|
83
|
-
core:StateForm a ui:Form; dct:title "Form for one state";
|
|
84
|
-
ui:parts (
|
|
85
|
-
[ a :SingleLineTextField;
|
|
86
|
-
:label "Name of state";
|
|
87
|
-
:maxLength "128";
|
|
88
|
-
:property rdfs:label;
|
|
89
|
-
:size "40" ]
|
|
90
|
-
[ a :ColorField; :label "Background color"; :property :backgroundColor ]
|
|
91
|
-
# @@ add icon for state
|
|
92
|
-
|
|
93
|
-
).
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
# Form for Classification
|
|
97
|
-
|
|
98
|
-
core:ClassificationForm a ui:Form; dct:title "Form for a classification by categpry";
|
|
99
|
-
ui:parts (
|
|
100
|
-
[ a :SingleLineTextField;
|
|
101
|
-
:label "Name of classification:";
|
|
102
|
-
:maxLength "128";
|
|
103
|
-
:property rdfs:label;
|
|
104
|
-
:size "40" ]
|
|
105
|
-
[a ui:Multiple; ui:property owl:disjointUnionOf; ui:ordered true; ui:part core:CategoryForm ]
|
|
106
|
-
) .
|
|
107
|
-
|
|
108
|
-
core:CategoryForm a ui:Form; dct:title "Form for a category";
|
|
109
|
-
ui:parts (
|
|
110
|
-
[ a :SingleLineTextField;
|
|
111
|
-
:label "Name of category";
|
|
112
|
-
:maxLength "128";
|
|
113
|
-
:property rdfs:label;
|
|
114
|
-
:size "40" ]
|
|
115
|
-
[ a :ColorField; :label "Background color"; :property :backgroundColor ]
|
|
116
|
-
|
|
117
|
-
).
|
|
118
|
-
|
|
119
|
-
core:PropertyForm a ui:Form; ui:parts ( # Internded for raed only only marking the
|
|
120
|
-
[ a :SingleLineTextField;
|
|
121
|
-
:label "(property name)";
|
|
122
|
-
:maxLength "128";
|
|
123
|
-
:property rdfs:label;
|
|
124
|
-
:size "40" ]
|
|
125
|
-
).
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
# Other ontology stuff we are otherwis missing
|
|
129
|
-
|
|
130
|
-
# we can usde ui:label to give a decent abel when the ontology uses a really bad one
|
|
131
|
-
rdfs:subClassOf ui:label "super class" .
|
|
132
|
-
# We can also add a specific nice label for the inverse
|
|
133
|
-
[] owl:inverse rdfs:subClassOf; rdfs:label "sub class" .
|
|
134
|
-
owl:disjointUnionOf ui:label "option" .
|
|
135
|
-
|
|
136
|
-
# Form for new group
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
core:GroupForm a ui:Form; dct:title "Form for new contacts group"; ui:parts (
|
|
140
|
-
[ a :SingleLineTextField;
|
|
141
|
-
:label "Name of new group";
|
|
142
|
-
:maxLength "128";
|
|
143
|
-
:property vcard:fn;
|
|
144
|
-
:size "60" ]
|
|
145
|
-
|
|
146
|
-
[ a ui:Heading; ui:contents "Members of group"@en ]
|
|
147
|
-
|
|
148
|
-
[ a ui:Multiple; ui:label "contacts in group"; ui:property vcard:member; ui:part core:PersonForm ]
|
|
149
|
-
|
|
150
|
-
).
|
|
151
|
-
|
|
152
|
-
core:PersonForm a ui:Form; dct:title "New contact details form"; ui:parts (
|
|
153
|
-
|
|
154
|
-
[ a :NamedNodeURIField; ui:label "Solid ID"; ui:property owl:sameAs; ui:size 60 ]
|
|
155
|
-
|
|
156
|
-
[ a :SingleLineTextField;
|
|
157
|
-
:label "Name of contact";
|
|
158
|
-
:maxLength "128";
|
|
159
|
-
:property vcard:fn;
|
|
160
|
-
:size "60" ]
|
|
161
|
-
|
|
162
|
-
[ a ui:PhoneField; :label "Phone"; :property vcard:phone; ] # @@ check property]
|
|
163
|
-
|
|
164
|
-
[ a :EmailField; :label "Email"; :property vcard:email ] # @@ check property
|
|
165
|
-
|
|
166
|
-
).
|
|
167
|
-
|
|
168
|
-
# classificattion owl:disjointUnionOf ()
|
|
169
|
-
wf:Tracker :creationForm core:SettingsForm .
|
|
170
|
-
`
|
package/trackerSettingsForm.ttl
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
@prefix : <http://www.w3.org/ns/ui#> .
|
|
2
|
-
@prefix core: <http://www.w3.org/2005/01/wf/flow#>.
|
|
3
|
-
@prefix dct: <http://purl.org/dc/terms/>.
|
|
4
|
-
@prefix owl: <http://www.w3.org/2002/07/owl#>.
|
|
5
|
-
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
|
|
6
|
-
@prefix ui: <http://www.w3.org/ns/ui#> .
|
|
7
|
-
@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.
|
|
8
|
-
@prefix wf: <http://www.w3.org/2005/01/wf/flow#> .
|
|
9
|
-
|
|
10
|
-
core:TrackerSettingsForm a :Form;
|
|
11
|
-
<http://purl.org/dc/elements/1.1/title> "Tracker Configuration Form";
|
|
12
|
-
:parts (
|
|
13
|
-
|
|
14
|
-
[ a ui:Heading; ui:contents "About the tracker"@en ]
|
|
15
|
-
|
|
16
|
-
[ a :SingleLineTextField;
|
|
17
|
-
:label "Title of issue tracker";
|
|
18
|
-
:maxLength "128";
|
|
19
|
-
:property dct:title;
|
|
20
|
-
:size "40" ]
|
|
21
|
-
|
|
22
|
-
[ a :MultiLineTextField; :label "Description"; :property wf:description; :size "40" ]
|
|
23
|
-
|
|
24
|
-
[ a ui:Choice; ui:canMintNew true; ui:use core:SuperClassForm; ui:follow true;
|
|
25
|
-
ui:property wf:issueClass;
|
|
26
|
-
ui:label "What states can an issue be in?";
|
|
27
|
-
ui:from rdfs:Class;
|
|
28
|
-
ui:default wf:Task ]
|
|
29
|
-
|
|
30
|
-
[ a ui:Comment; ui:contents """You can optionally sort issues using (one or more) classification systems"""@en ]
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
[ a ui:Multiple; ui:canMintNew true; ui:part core:ClassificationForm;
|
|
34
|
-
ui:property wf:issueCategory; ui:label "Sort them into which category?"; ui:from rdfs:Class ]
|
|
35
|
-
|
|
36
|
-
[ a :BooleanField;
|
|
37
|
-
:label "Allow issues to have sub-issues";
|
|
38
|
-
:property wf:allowSubIssues;
|
|
39
|
-
:default false ]
|
|
40
|
-
|
|
41
|
-
[ a ui:Heading; ui:contents "Table view:"@en ]
|
|
42
|
-
|
|
43
|
-
[ a ui:Comment; ui:contents "Any extra properties to include?"@en ]
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
[a ui:Multiple; ui:property wf:propertyList; ui:ordered true; ui:part core:PropertyForm; ui:follow true ]
|
|
47
|
-
|
|
48
|
-
[ a ui:Heading; ui:contents "Details of issues"@en ]
|
|
49
|
-
|
|
50
|
-
# Use a people picker ideally
|
|
51
|
-
[ a ui:Choice; ui:canMintNew true; ui:use core:GroupForm;
|
|
52
|
-
ui:property wf:assigneeGroup;
|
|
53
|
-
ui:label "Assign issues to people from which group?";
|
|
54
|
-
ui:from vcard:Group;
|
|
55
|
-
]
|
|
56
|
-
|
|
57
|
-
# Optionally one form for extras
|
|
58
|
-
|
|
59
|
-
[ a ui:Choice; ui:canMintNew true; ui:use ui:FormForm;
|
|
60
|
-
ui:property wf:extrasEntryForm;
|
|
61
|
-
ui:label "Other things to save about each issue?";
|
|
62
|
-
ui:from ui:Form;
|
|
63
|
-
]
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
) .
|
|
67
|
-
|
|
68
|
-
# Form for the superclass of all states
|
|
69
|
-
# @@ also We must require each state class to be stated to be a subclass of EITHER Open OR Closed.
|
|
70
|
-
core:SuperClassForm a ui:Form; dct:title "Form for managing states";
|
|
71
|
-
ui:parts (
|
|
72
|
-
[ a :SingleLineTextField;
|
|
73
|
-
:label "Name of set of states";
|
|
74
|
-
:defualt "States";
|
|
75
|
-
:maxLength "128";
|
|
76
|
-
:property rdfs:label;
|
|
77
|
-
:size "40" ]
|
|
78
|
-
[a ui:Multiple; ui:property owl:disjointUnionOf; ui:ordered true; ui:part core:StateForm ]
|
|
79
|
-
# [ a ui:Multiple; ui:property rdfs:subClassOf; ui:reverse true; ui:part core:StateForm ]
|
|
80
|
-
) .
|
|
81
|
-
|
|
82
|
-
core:StateForm a ui:Form; dct:title "Form for one state";
|
|
83
|
-
ui:parts (
|
|
84
|
-
[ a :SingleLineTextField;
|
|
85
|
-
:label "Name of state";
|
|
86
|
-
:maxLength "128";
|
|
87
|
-
:property rdfs:label;
|
|
88
|
-
:size "40" ]
|
|
89
|
-
[ a :ColorField; :label "Background color"; :property :backgroundColor ]
|
|
90
|
-
# @@ add icon for state
|
|
91
|
-
|
|
92
|
-
).
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
# Form for Classification
|
|
96
|
-
|
|
97
|
-
core:ClassificationForm a ui:Form; dct:title "Form for a classification by categpry";
|
|
98
|
-
ui:parts (
|
|
99
|
-
[ a :SingleLineTextField;
|
|
100
|
-
:label "Name of classification:";
|
|
101
|
-
:maxLength "128";
|
|
102
|
-
:property rdfs:label;
|
|
103
|
-
:size "40" ]
|
|
104
|
-
[a ui:Multiple; ui:property owl:disjointUnionOf; ui:ordered true; ui:part core:CategoryForm ]
|
|
105
|
-
) .
|
|
106
|
-
|
|
107
|
-
core:CategoryForm a ui:Form; dct:title "Form for a category";
|
|
108
|
-
ui:parts (
|
|
109
|
-
[ a :SingleLineTextField;
|
|
110
|
-
:label "Name of category";
|
|
111
|
-
:maxLength "128";
|
|
112
|
-
:property rdfs:label;
|
|
113
|
-
:size "40" ]
|
|
114
|
-
[ a :ColorField; :label "Background color"; :property :backgroundColor ]
|
|
115
|
-
|
|
116
|
-
).
|
|
117
|
-
|
|
118
|
-
core:PropertyForm a ui:Form; ui:parts ( # Internded for raed only only marking the
|
|
119
|
-
[ a :SingleLineTextField;
|
|
120
|
-
:label "(property name)";
|
|
121
|
-
:maxLength "128";
|
|
122
|
-
:property rdfs:label;
|
|
123
|
-
:size "40" ]
|
|
124
|
-
).
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
# Other ontology stuff we are otherwis missing
|
|
128
|
-
|
|
129
|
-
# we can usde ui:label to give a decent abel when the ontology uses a really bad one
|
|
130
|
-
rdfs:subClassOf ui:label "super class" .
|
|
131
|
-
# We can also add a specific nice label for the inverse
|
|
132
|
-
[] owl:inverse rdfs:subClassOf; rdfs:label "sub class" .
|
|
133
|
-
owl:disjointUnionOf ui:label "option" .
|
|
134
|
-
|
|
135
|
-
# Form for new group
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
core:GroupForm a ui:Form; dct:title "Form for new contacts group"; ui:parts (
|
|
139
|
-
[ a :SingleLineTextField;
|
|
140
|
-
:label "Name of new group";
|
|
141
|
-
:maxLength "128";
|
|
142
|
-
:property vcard:fn;
|
|
143
|
-
:size "60" ]
|
|
144
|
-
|
|
145
|
-
[ a ui:Heading; ui:contents "Members of group"@en ]
|
|
146
|
-
|
|
147
|
-
[ a ui:Multiple; ui:label "contacts in group"; ui:property vcard:member; ui:part core:PersonForm ]
|
|
148
|
-
|
|
149
|
-
).
|
|
150
|
-
|
|
151
|
-
core:PersonForm a ui:Form; dct:title "New contact details form"; ui:parts (
|
|
152
|
-
|
|
153
|
-
[ a :NamedNodeURIField; ui:label "Solid ID"; ui:property owl:sameAs; ui:size 60 ]
|
|
154
|
-
|
|
155
|
-
[ a :SingleLineTextField;
|
|
156
|
-
:label "Name of contact";
|
|
157
|
-
:maxLength "128";
|
|
158
|
-
:property vcard:fn;
|
|
159
|
-
:size "60" ]
|
|
160
|
-
|
|
161
|
-
[ a ui:PhoneField; :label "Phone"; :property vcard:phone; ] # @@ check property]
|
|
162
|
-
|
|
163
|
-
[ a :EmailField; :label "Email"; :property vcard:email ] # @@ check property
|
|
164
|
-
|
|
165
|
-
).
|
|
166
|
-
|
|
167
|
-
# classificattion owl:disjointUnionOf ()
|
|
168
|
-
wf:Tracker :creationForm core:SettingsForm .
|
package/ui.js
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
module.exports = `
|
|
2
|
-
# Ontology for user interface hints and forms
|
|
3
|
-
#
|
|
4
|
-
# See also related: the Fresnel language
|
|
5
|
-
#
|
|
6
|
-
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>.
|
|
7
|
-
@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
|
8
|
-
@prefix doc: <http://www.w3.org/2000/10/swap/pim/doc#>.
|
|
9
|
-
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
|
|
10
|
-
@prefix owl: <http://www.w3.org/2002/07/owl#>.
|
|
11
|
-
@prefix r: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
|
12
|
-
@prefix s: <http://www.w3.org/2000/01/rdf-schema#>.
|
|
13
|
-
@prefix tt: <http://dig.csail.mit.edu/2010/issues/track#>.
|
|
14
|
-
@prefix ui: <http://www.w3.org/ns/ui#>.
|
|
15
|
-
@prefix : <http://www.w3.org/ns/ui#>.
|
|
16
|
-
@prefix wf: <http://www.w3.org/2005/01/wf/flow#>.
|
|
17
|
-
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
|
|
18
|
-
|
|
19
|
-
@keywords is, of, a.
|
|
20
|
-
|
|
21
|
-
<> dc:title "An ontology for User Interface description, Hints and Forms.";
|
|
22
|
-
dc:description """The User Interface ontology allows the definition
|
|
23
|
-
of forms for processing RDF model data, and include a bootstrap form for
|
|
24
|
-
editing forms. It allows user interface hints such as background colors,
|
|
25
|
-
can be associated with objects and classes.
|
|
26
|
-
""";
|
|
27
|
-
dc:created 2010-08-07;
|
|
28
|
-
dc:license <https://creativecommons.org/publicdomain/zero/1.0/>;
|
|
29
|
-
dc:modified """$Date: 2020/03/22 16:53:21 $""";
|
|
30
|
-
dc:author <https://www.w3.org/People/Berners-Lee/card#i>.
|
|
31
|
-
|
|
32
|
-
style a r:Property, owl:DatatypeProperty;
|
|
33
|
-
s:label "style";
|
|
34
|
-
prompt "CSS style";
|
|
35
|
-
s:comment """Must be a valid CSS style string such as one could put in
|
|
36
|
-
an HTML style attribute. Depending on the user interface system, this can
|
|
37
|
-
by given to individuals, classes or properties. It is up to a user interface
|
|
38
|
-
which wants to draw on them to pick how it uses styles from which parts
|
|
39
|
-
of the data it has. For example, the style of a class may be picked
|
|
40
|
-
to distinguish information about things in that class.""".
|
|
41
|
-
|
|
42
|
-
backgroundColor a r:Property, owl:DatatypeProperty;
|
|
43
|
-
s:label "background color"@en;
|
|
44
|
-
s:range ui:Color;
|
|
45
|
-
s:comment """Must be a valid CSS color string such as one could put in
|
|
46
|
-
an HTML style attribute. This should be in the #xxxxxx form,
|
|
47
|
-
(with 6 digits of hex) so that it
|
|
48
|
-
can work with Graphviz.""".
|
|
49
|
-
|
|
50
|
-
backgroundImage a r:Property, owl:DatatypeProperty;
|
|
51
|
-
s:label "background image"@en;
|
|
52
|
-
s:comment """URI or base64 representation of an image""".
|
|
53
|
-
|
|
54
|
-
color a r:Property, owl:DatatypeProperty;
|
|
55
|
-
s:label "color"@en;
|
|
56
|
-
s:range ui:Color;
|
|
57
|
-
s:comment """Must be a valid CSS color string such as one could put in
|
|
58
|
-
an HTML style attribute. This should be in the #xxxxxx form,
|
|
59
|
-
(with 6 digits of hex) so that it
|
|
60
|
-
can work with Graphviz.""".
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
sortPriority a r:Property, owl:DatatypeProperty;
|
|
65
|
-
s:label "sort priority";
|
|
66
|
-
s:range xsd:integer;
|
|
67
|
-
s:comment """When individuals or classes must be sorted, then
|
|
68
|
-
if they are given different values of sortPriority a user agent can
|
|
69
|
-
use this as a hint to how to present information.""".
|
|
70
|
-
|
|
71
|
-
sortBy a r:Property;
|
|
72
|
-
s:label "sort by";
|
|
73
|
-
s:domain s:Class;
|
|
74
|
-
s:range r:Property;
|
|
75
|
-
s:comment """A property which typically is used to sort
|
|
76
|
-
members of a given class.""".
|
|
77
|
-
|
|
78
|
-
seqeunce a r:Property;
|
|
79
|
-
s:label "sequence number";
|
|
80
|
-
s:range xsd:integer;
|
|
81
|
-
s:comment """The sequence in which this item is arranged with repect to other parts.""".
|
|
82
|
-
|
|
83
|
-
initialProperties a r:Property;
|
|
84
|
-
s:label "initial properties";
|
|
85
|
-
s:domain s:Class;
|
|
86
|
-
s:range r:List; # List of r:Property
|
|
87
|
-
s:comment """A really simple way of enabling user interfaces to
|
|
88
|
-
create new information about a class of things is to make a define of properties
|
|
89
|
-
to be specified when a information about a new item
|
|
90
|
-
("New item" here means an item which the system
|
|
91
|
-
does not have prvious information about yet,
|
|
92
|
-
not an items which has just been created,
|
|
93
|
-
like new friend as opposed to new baby)""";
|
|
94
|
-
prompt "Properties to be specified for new ones".
|
|
95
|
-
|
|
96
|
-
tableProperties a r:Property;
|
|
97
|
-
s:domain s:Class;
|
|
98
|
-
s:label "table properties";
|
|
99
|
-
s:range r:List; # List of r:Property
|
|
100
|
-
s:comment """This is a crude way of specifying a table-based
|
|
101
|
-
view for objects of this class.""";
|
|
102
|
-
prompt "Properties to be given in a default table view".
|
|
103
|
-
|
|
104
|
-
prompt a r:Property;
|
|
105
|
-
s:label "user prompt";
|
|
106
|
-
s:comment """A string for the UI to use if the user needs a longer
|
|
107
|
-
prompts than just a field name, the rdfs:label. """;
|
|
108
|
-
ui:prompt "A longer prompt for a user inputting this property".
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
# A Taxonomy of Field types
|
|
112
|
-
|
|
113
|
-
ui:Form owl:disjointUnionOf ( ui:ValueField ui:Group ui:Choice ui:Classifier ui:Options ui:Multiple ui:Heading ui:Comment);
|
|
114
|
-
s:comment """A form can be any type of single field, or typically a Group of several fields,
|
|
115
|
-
including interspersed headings and comments. """.
|
|
116
|
-
ui:Single owl:disjointUnionOf ( ui:ValueField ui:Group ui:Choice ui:Classifier ui:Options ui:Heading ui:Comment).
|
|
117
|
-
ui:ValueField owl:disjointUnionOf ( ui:TextField ui:NumericField ui:ColorField ui:DateField ui:DateTimeField ui:PhoneField ui:EmailField).
|
|
118
|
-
ui:NumericField owl:disjointUnionOf (ui:BooleanField ui:TriStateField ui:IntegerField ui:DecimalField ui:FloatField).
|
|
119
|
-
# ui:Multiple owl:disjointUnionOf ( ui:ZeroOrMore ui:OneOrMore ).
|
|
120
|
-
ui:TextField owl:disjointUnionOf (ui:SingleLineTextField ui:MultiLineTextField).
|
|
121
|
-
|
|
122
|
-
ui:Form a s:Class; is s:subClassOf of ui:ValueField, ui:Group, ui:Choice, ui:Heading, ui:Comment, ui:Classifier, ui:Options, ui:Multiple.
|
|
123
|
-
ui:Single a s:Class; is s:subClassOf of ui:ValueField, ui:Group, ui:Choice, ui:Heading, ui:Comment, ui:Classifier, ui:Options.
|
|
124
|
-
ui:ValueField a s:Class; is s:subClassOf of ui:TextField, ui:NumericField, ui:ColorField, ui:DateField, ui:DateTimeField, ui:PhoneField, ui:EmailField.
|
|
125
|
-
ui:NumericField a s:Class; is s:subClassOf of ui:BooleanField, ui:TriStateField, ui:IntegerField, ui:DecimalField, ui:FloatField.
|
|
126
|
-
ui:TextField a s:Class; is s:subClassOf of ui:SingleLineTextField, ui:MultiLineTextField.
|
|
127
|
-
|
|
128
|
-
ui:Classifier a s:Class; s:label "classifier";
|
|
129
|
-
s:comment """A classifier allows the user to select the type of an object.
|
|
130
|
-
The possible types must be subclasses of some overall class, the "category".
|
|
131
|
-
(Ideally, the superclass is also set up as the disjoint union of the subclasses,
|
|
132
|
-
if they are disjoint.)
|
|
133
|
-
|
|
134
|
-
The form normally stores the resulting classes using an rdf:type triple,
|
|
135
|
-
but a different predicate can be used if required, so the classifier field
|
|
136
|
-
needs is 'property' defined too.
|
|
137
|
-
|
|
138
|
-
If the subclass selected itself is has subclasses defined, the user can
|
|
139
|
-
recursively select from them in turn, as many levels as needed.""".
|
|
140
|
-
|
|
141
|
-
ui:property a r:Property; s:domain ui:Form; s:range r:Property;
|
|
142
|
-
s:label "property to be stored"@en;
|
|
143
|
-
s:comment """Many fields prompt for information about a given property of the subject.
|
|
144
|
-
When field is filled in, this gives which property is written into the data.""".
|
|
145
|
-
|
|
146
|
-
ui:category a r:Property; s:domain ui:Classifier; s:range s:Class;
|
|
147
|
-
s:label "overall superclass"@en;
|
|
148
|
-
s:comment """The superclass subclasses of which will be selected.""".
|
|
149
|
-
|
|
150
|
-
ui:dependingOn a r:Property; s:domain ui:Options; s:range r:Property;
|
|
151
|
-
s:label "depending on"@en;
|
|
152
|
-
s:comment """Many fields prompt for information about a given property of the subject""".
|
|
153
|
-
|
|
154
|
-
ui:for a r:Property; s:label "for"@en; s:comment "The value for which this case is selected.".
|
|
155
|
-
ui:use a r:Property; s:range ui:Form.
|
|
156
|
-
|
|
157
|
-
ui:part a r:Property; s:label "part"@en ; s:domain ui:Form; s:range ui:Form. # Used for Multiple field - the subform for each item
|
|
158
|
-
ui:parts a r:Property; s:label "parts"@en ; s:domain ui:Form; s:range r:Collection. # (of Forms) The ordered set of fields in a group
|
|
159
|
-
ui:ordered e r:Property; s:label "ordered"; s:range xsd:Boolean . # Could be useful for all kinds of things in future so not restricted to Multiple
|
|
160
|
-
|
|
161
|
-
ui:from a r:Property; s:domain ui:Choice; s:range r:Class;
|
|
162
|
-
s:label "from"; ui:prompt "from what class".
|
|
163
|
-
|
|
164
|
-
ui:size a r:Property; s:domain ui:ValueField; s:range xsd:integer;
|
|
165
|
-
s:label "size of field";
|
|
166
|
-
ui:prompt "size of field in characters".
|
|
167
|
-
|
|
168
|
-
ui:maxLength a r:Property; s:domain ui:TextField; s:range xsd:integer;
|
|
169
|
-
s:label "max length of value".
|
|
170
|
-
|
|
171
|
-
ui:minValue a r:Property; s:domain ui:ValueField; s:label "min". # @@ range?
|
|
172
|
-
ui:maxValue a r:Property; s:domain ui:ValueField; s:label "max".
|
|
173
|
-
|
|
174
|
-
ui:creationForm a r:Property; s:domain s:Class; s:range ui:Form;
|
|
175
|
-
s:label "creation form";
|
|
176
|
-
s:comment """A form which may be used to collect information about a
|
|
177
|
-
hitherto locally undocumented instance instance of this class.""".
|
|
178
|
-
|
|
179
|
-
ui:annotationForm a r:Property; s:domain s:Class; s:range ui:Form;
|
|
180
|
-
s:label "annotation form";
|
|
181
|
-
s:comment """A form which may be used to add more infromation to an
|
|
182
|
-
instance of this class which we know something about. Anything from
|
|
183
|
-
adding just add one more fact, to adding a whole lot of information about a specific
|
|
184
|
-
facet of the thing.
|
|
185
|
-
""".
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
#############################################
|
|
189
|
-
#
|
|
190
|
-
# Form for editing Forms
|
|
191
|
-
#
|
|
192
|
-
|
|
193
|
-
FormForm a ui:Form;
|
|
194
|
-
dc:title "Form for editing Forms";
|
|
195
|
-
is ui:creationForm of Form;
|
|
196
|
-
a ui:Group; ui:parts (FF1 FF2 FF3 FieldList) .
|
|
197
|
-
|
|
198
|
-
FF1 ui:sequence 1; a ui:Heading; ui:contents "Edit Form"@en .
|
|
199
|
-
FF2 ui:sequence 2; a ui:SingleLineTextField; ui:property dc:title; ui:size 60 .
|
|
200
|
-
FF3 ui:sequence 3; a ui:Comment; ui:contents
|
|
201
|
-
"""To add a field to the form, press the plus at the bottom,
|
|
202
|
-
and then select what sort of field you want."""@en; ui:style "background-color: #ffe;" .
|
|
203
|
-
|
|
204
|
-
FieldList ui:sequence 10; a ui:Multiple; ui:ordered true; ui:property ui:parts; ui:part FieldForm .
|
|
205
|
-
|
|
206
|
-
FieldForm a ui:Group;
|
|
207
|
-
dc:title "Form for selecting a type of field";
|
|
208
|
-
ui:parts (
|
|
209
|
-
|
|
210
|
-
[ ui:sequence 1; a ui:Classifier; ui:property r:type; ui:category ui:Form]
|
|
211
|
-
|
|
212
|
-
[ a ui:Options; ui:sequence 2; ui:dependingOn r:type;
|
|
213
|
-
|
|
214
|
-
ui:case [ ui:for ui:TextField; ui:use [a ui:Group; ui:parts (
|
|
215
|
-
[ a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty] # @@@ Needs inference on current web
|
|
216
|
-
[ a ui:IntegerField; ui:property ui:size; ui:label "field size"; ui:min 1; ui:max 4096]
|
|
217
|
-
[ a ui:IntegerField; ui:property ui:maxLength; ui:label "Max. length of string"; ui:min 1]
|
|
218
|
-
)]];
|
|
219
|
-
|
|
220
|
-
ui:case [ ui:for ui:IntegerField; ui:use [a ui:Group; ui:parts (
|
|
221
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty]
|
|
222
|
-
[ ui:sequence 2; a ui:IntegerField; ui:property ui:min; ui:label "minimum value"]
|
|
223
|
-
[ ui:sequence 3; a ui:IntegerField; ui:property ui:max; ui:label "maximum value"] ) ]];
|
|
224
|
-
|
|
225
|
-
ui:case [ ui:for ui:DecimalField; ui:use [a ui:Group; ui:parts (
|
|
226
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty]
|
|
227
|
-
[ ui:sequence 2; a ui:DecimalField; ui:property ui:min; ui:label "minimum value"]
|
|
228
|
-
[ ui:sequence 3; a ui:DecimalField; ui:property ui:max; ui:label "maximum value"] ) ]];
|
|
229
|
-
|
|
230
|
-
ui:case [ ui:for ui:FloatField; ui:use [a ui:Group; ui:parts (
|
|
231
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty]
|
|
232
|
-
[ ui:sequence 2; a ui:FloatField; ui:property ui:min; ui:label "minimum value"]
|
|
233
|
-
[ ui:sequence 3; a ui:FloatField; ui:property ui:max; ui:label "maximum value"] ) ]];
|
|
234
|
-
|
|
235
|
-
ui:case [ ui:for ui:ColorField; ui:use [a ui:Group; ui:parts (
|
|
236
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty] )
|
|
237
|
-
]];
|
|
238
|
-
|
|
239
|
-
ui:case [ ui:for ui:DateField; ui:use [a ui:Group; ui:parts (
|
|
240
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty]
|
|
241
|
-
[ ui:sequence 2; a ui:DateField; ui:property ui:min; ui:label "min"]
|
|
242
|
-
[ ui:sequence 3; a ui:DateField; ui:property ui:max ; ui:label "max"]
|
|
243
|
-
) ]];
|
|
244
|
-
|
|
245
|
-
ui:case [ ui:for ui:DateTimeField; ui:use [a ui:Group; ui:parts (
|
|
246
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:DatatypeProperty]
|
|
247
|
-
[ ui:sequence 2; a ui:DateTimeField; ui:property ui:min; ui:label "min"]
|
|
248
|
-
[ ui:sequence 3; a ui:DateTimeField; ui:property ui:max ; ui:label "max"]
|
|
249
|
-
) ]];
|
|
250
|
-
|
|
251
|
-
ui:case [ ui:for ui:EmailField; ui:use [a ui:Group; ui:parts (
|
|
252
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:ObjectProperty]
|
|
253
|
-
) ]];
|
|
254
|
-
|
|
255
|
-
ui:case [ ui:for ui:PhoneField; ui:use [a ui:Group; ui:parts (
|
|
256
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from owl:ObjectProperty]
|
|
257
|
-
)]];
|
|
258
|
-
|
|
259
|
-
ui:case [ ui:for ui:Group; ui:use FieldList];
|
|
260
|
-
|
|
261
|
-
ui:case [ ui:for ui:Options; ui:use [a ui:Group; ui:parts (
|
|
262
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:dependingOn; ui:label "depending on"; ui:from r:Property; ui:default r:type]
|
|
263
|
-
[ ui:sequence 2; a ui:Multiple; ui:property ui:case; ui:part CaseForm]
|
|
264
|
-
) ]];
|
|
265
|
-
|
|
266
|
-
ui:case [ ui:for ui:Choice; ui:use [a ui:Group; ui:parts (
|
|
267
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property";
|
|
268
|
-
ui:canMintNew true; ui:from owl:ObjectProperty]
|
|
269
|
-
[ ui:sequence 2; a ui:Choice; ui:canMintNew true; ui:property ui:from; ui:label "destination class";
|
|
270
|
-
ui:from s:Class; ui:canMintNew true; ]
|
|
271
|
-
[ ui:sequence 3; a ui:BooleanField; ui:property ui:canMintNew; # No class form yet
|
|
272
|
-
ui:label "user can add new"]
|
|
273
|
-
[ ui:sequence 4; a ui:Choice; ui:canMintNew true; ui:property ui:use; ui:label "Nested Form (if any)";
|
|
274
|
-
ui:from ui:Form; ui:optional true; ui:use FormForm] # @@ optional
|
|
275
|
-
|
|
276
|
-
) ]];
|
|
277
|
-
|
|
278
|
-
ui:case [ ui:for ui:Classifier; ui:use [a ui:Group; ui:parts (
|
|
279
|
-
[ ui:sequence 2; a ui:Comment; ui:contents """A classifier allows the user to which classes the item belongs to, given a common superclass of the allowed classes. Give the superclass here:""" ]
|
|
280
|
-
|
|
281
|
-
[ ui:sequence 4; a ui:Choice; ui:canMintNew true; ui:property ui:category; ui:label "superclass"; ui:from s:Class]
|
|
282
|
-
|
|
283
|
-
[ ui:sequence 6; a ui:Comment; ui:contents """(When the choice is made normally the item is given a rdf:type. Set this to rdf:type unless you want the form to set a different property.)""" ]
|
|
284
|
-
|
|
285
|
-
[ ui:sequence 8; a ui:Choice; ui:canMintNew true; ui:property ui:property;
|
|
286
|
-
ui:label "property"; ui:from owl:ObjectProperty; ui:default r:type] # @@ restriction
|
|
287
|
-
|
|
288
|
-
) ]];
|
|
289
|
-
|
|
290
|
-
ui:case [ ui:for ui:Multiple; ui:use [a ui:Group; ui:parts (
|
|
291
|
-
[ui:sequence 0; a ui:BooleanField; ui:property ui:ordered; ui:label "ordered"] # If this an ordered array or an unordered set?
|
|
292
|
-
[ui:sequence 0; a ui:IntegerField; ui:property ui:min; ui:label "minimum number"] # If this an ordered array or an unordered set?
|
|
293
|
-
[ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:property; ui:label "property"; ui:from r:Property]
|
|
294
|
-
[ui:sequence 2; a ui:Choice; ui:canMintNew true; ui:property ui:part; ui:from ui:Form; ui:use FieldForm] # Form for details of the field part of the multiple
|
|
295
|
-
) ]];
|
|
296
|
-
|
|
297
|
-
ui:case [ ui:for ui:Heading; ui:use [a ui:SingleLineTextField; ui:property ui:contents]];
|
|
298
|
-
|
|
299
|
-
ui:case [ ui:for ui:Comment; ui:use [a ui:MultiLineTextField; ui:property ui:contents]]
|
|
300
|
-
]).
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
CaseForm a ui:Group;
|
|
304
|
-
dc:title "Form for a conditional case in a form";
|
|
305
|
-
ui:parts (
|
|
306
|
-
[ ui:sequence 1; a ui:Choice; ui:canMintNew true; ui:property ui:for; ui:label "when it is"; ui:canMintNew true; ui:from s:Class]
|
|
307
|
-
[ui:sequence 2; a ui:Choice; ui:canMintNew true; ui:property ui:use; ui:from ui:Form; ui:canMintNew true; ui:use FieldForm] ). # Form for details of the field part of the multiple
|
|
308
|
-
|
|
309
|
-
# ENDS
|
|
310
|
-
`
|