issue-pane 2.6.1 → 3.0.0-a58a4367

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/Makefile DELETED
@@ -1,34 +0,0 @@
1
- # Wrap TTL files into JS files for bundling with library
2
-
3
- # unused: trackerInstancesForm.js
4
-
5
- ,all : wf.js trackerSettingsForm.js ui.js
6
-
7
- #individualForm.js : individualForm.ttl
8
- # (echo 'module.exports = `' ; cat individualForm.ttl; echo '`') > individualForm.js
9
-
10
- wf.ttl:
11
- curl http://www.w3.org/2005/01/wf/flow.n3 > wf0.ttl
12
- expand -t 4 wf0.ttl > wf.ttl
13
-
14
- # find . -name "ui.ttl" | while read line; do expand -t 4 $line > $line.new; mv $line.new $line; done
15
-
16
- wf.js : wf.ttl
17
- (echo 'module.exports = `' ; cat wf.ttl; echo '`') > wf.js
18
-
19
- ui.ttl:
20
- curl http://www.w3.org/ns/ui.n3 > ui0.ttl
21
- expand -t 4 ui0.ttl > ui.ttl
22
-
23
-
24
- ui.js : ui.ttl
25
- (echo 'module.exports = `' ; cat ui.ttl; echo '`') > ui.js
26
-
27
-
28
- trackerInstancesForm.js : trackerInstancesForm.ttl
29
- (echo 'export const trackerInstancesFormText = `' ; cat trackerInstancesForm.ttl; echo '`') > trackerInstancesForm.js
30
- # ends
31
-
32
- trackerSettingsForm.js : trackerSettingsForm.ttl
33
- (echo 'export const trackerSettingsFormText = `' ; cat trackerSettingsForm.ttl; echo '`') > trackerSettingsForm.js
34
- # ends
package/babel.config.js DELETED
@@ -1,5 +0,0 @@
1
- module.exports = {
2
- plugins: [
3
- ["@babel/plugin-transform-runtime"]
4
- ]
5
- };
package/board.js DELETED
@@ -1,97 +0,0 @@
1
- /** A Board of vertical columns
2
- *
3
- * Like a github "project", or a kanbam board, a board allows
4
- * you to triage stuff into simple cateories.
5
- *
6
- * if an object is added in a refresh, then a new column should be added if needed
7
- * if its value is previously unseen
8
- * (Should the coluimn order be defined by user or caller?)
9
- *
10
- * @returns dom:Element
11
- */
12
-
13
- import { ns, rdf, utils, widgets } from 'solid-ui'
14
- import { store } from 'solid-logic'
15
- const $rdf = rdf
16
-
17
- export function board (dom, columnValues, renderItem, options) {
18
- const board = dom.createElement('div')
19
- board.style = 'width: 100%;'
20
- board.style.margin = '1em'
21
- const table = board.appendChild(dom.createElement('table'))
22
- table.style = 'width: 100%;'
23
- table.style.borderCollapse = 'collapse'
24
-
25
- const headerRow = table.appendChild(dom.createElement('tr'))
26
- const mainRow = table.appendChild(dom.createElement('tr'))
27
- columnValues.forEach(x => {
28
- const cell = headerRow.appendChild(dom.createElement('th'))
29
- cell.textContent = utils.label(x, true) // Initial capital
30
- cell.subject = x
31
- cell.style = 'margin: 0.3em; padding: 0.5em 1em; font-treatment: bold; font-size: 120%;'
32
-
33
- const column = mainRow.appendChild(dom.createElement('td'))
34
- column.subject = x
35
- column.style = 'border: 0.01em solid white; padding: 0.1em;' // display: flex; flex-direction: column; align-items: center;
36
-
37
- function droppedURIHandler (uris) {
38
- uris.forEach(function (u) {
39
- console.log('Dropped on column: ' + u)
40
- const item = store.sym(u)
41
- options.columnDropHandler(item, x)
42
- })
43
- }
44
-
45
- if (options.columnDropHandler) {
46
- widgets.makeDropTarget(column, droppedURIHandler)
47
- }
48
- })
49
-
50
- /* Each item on the board
51
- * normally App will override this
52
- */
53
- function defaultRenderItem (item, category) {
54
- const card = dom.createElement('div')
55
- const table = card.appendChild(dom.createElement('table'))
56
- const classes = store.each(item, ns.rdf('type'))
57
- const catColors = classes.map(cat => store.any(cat, ns.ui('backgroundColor'))).filter(c => c)
58
-
59
- table.appendChild(widgets.personTR(dom, null, item))
60
- table.subject = item
61
- table.style = 'margin: 1em;' // @@ use style.js
62
- const backgroundColor = catColors[0] || store.any(category, ns.ui('backgroundColor'))
63
- card.style.backgroundColor = backgroundColor ? backgroundColor.value : '#fff'
64
- return card
65
- }
66
-
67
- function sortedBy (values, predicate, defaultSortValue, reverse) {
68
- const toBeSorted = values.map(x => [store.any(x, predicate) || defaultSortValue, x])
69
- toBeSorted.sort()
70
- if (reverse) toBeSorted.reverse() // @@ check
71
- return toBeSorted.map(pair => pair[1])
72
- }
73
- board.refresh = function () {
74
- const now = new $rdf.Literal(new Date())
75
- const actualRenderItem = renderItem || options.renderItem || defaultRenderItem
76
- function localRenderItem (subject) {
77
- const ele = actualRenderItem(subject)
78
- widgets.makeDraggable(ele, subject)
79
- ele.subject = subject
80
- return ele
81
- }
82
- for (let col = mainRow.firstChild; col; col = col.nextSibling) {
83
- const category = col.subject
84
- let items = store.each(null, ns.rdf('type'), category)
85
- const sortBy = options.sortBy || ns.dct('created')
86
- if (options.filter) {
87
- items = items.filter(options.filter)
88
- }
89
- const sortedItems = sortedBy(items, sortBy, now, true)
90
- utils.syncTableToArrayReOrdered(col, sortedItems, localRenderItem)
91
- }
92
- }
93
-
94
- // kb.query(query, addCellFromBindings, undefined, whenDone) // Populate the board
95
- board.refresh()
96
- return board
97
- }
package/csvButton.js DELETED
@@ -1,135 +0,0 @@
1
- // A Button to copy the state of the tracker in CSV format
2
- // Comma-separated Values
3
- //
4
- // Yes this mixes the layers but that is not all bad if it gets it in one file
5
- // one can look at
6
-
7
- import { icons, ns, utils, widgets } from 'solid-ui'
8
- import { store } from 'solid-logic'
9
-
10
- export function quoteString(value) {
11
- // https://www.rfc-editor.org/rfc/rfc4180
12
- const stripped = value.replaceAll('\n', ' ')
13
- if (!stripped.includes(',')) {
14
- return stripped
15
- } // If contains comma then put in quotes and double up internal quotes
16
- const quoted = '"' + stripped.replaceAll('"', '""') + '"'
17
- console.log('Quoted: >>>' + quoted + '<<<')
18
- const check = quoted.slice(1,-1).replaceAll('""', '')
19
- if (check.includes('"')) throw new Error('CSV inconsistecy')
20
- return quoted
21
- }
22
-
23
- export function csvText(store, tracker) {
24
-
25
- function columnText(task, column) {
26
- let thing
27
- if (column.predicate) {
28
- thing = store.any(task, column.predicate)
29
- return thing? thing.value : '--'
30
- }
31
- else if (column.category) {
32
- const types = store.each(task, ns.rdf('type'))
33
- for (const t of types) {
34
- // console.log('@@ checking subclass type: ', t, ' category: ', column.category )
35
- if (store.holds(t, ns.rdfs('subClassOf'), column.category)){
36
- thing = t
37
- }
38
- }
39
- if (!thing) return '?' + utils.label(column.category) // Missing cat OK
40
- // if (!thing) throw new Error('wot no class of category ', column.category)
41
- } else {
42
- throw new Error('wot no pred or cat', column)
43
- }
44
- return utils.label(thing)
45
- }
46
-
47
- function taskLine(task) {
48
- return columns.map(column => columnText(task, column))
49
- .map(quoteString)
50
- .join(',')
51
- + '\n'
52
- }
53
- const stateStore = store.any(tracker, ns.wf('stateStore'))
54
- const tasks = store.each(null, ns.wf('tracker'), tracker, stateStore)
55
- console.log(' CSV: Tasks:', tasks.length)
56
-
57
- const columns = [
58
-
59
- { label: 'Name', predicate: ns.dc('title') },
60
- /* { label: 'Description', predicate: ns.wf('description') }, */
61
-
62
- /* { label: 'State', category: ns.wf('Task') }
63
- */
64
- ]
65
- const states = store.any(tracker, ns.wf('issueClass')) // Main states are subclasses of this class
66
- console.log(' CSV: States - main superclass:', states)
67
- const stateColumn = { label: 'State', category: states} // better than 'task'
68
- console.log(' CSV: found column from state', stateColumn)
69
- columns.push(stateColumn)
70
-
71
- const categories = store.each(tracker, ns.wf('issueCategory'))
72
- console.log(' CSV: Categories : ', categories )
73
- console.log(' CSV: Categories : length: ', categories.length)
74
- console.log(' CSV: Categories : first: ', categories[0])
75
-
76
- const classifications = categories
77
- for (const c of classifications){
78
- const column = { label: utils.label(c), category: c}
79
- console.log(' CSV: found column from classifications', column)
80
- columns.push(column) // Classes are different
81
- }
82
-
83
- // const propertyList = ns.wf('propertyList')
84
- const form = store.any(tracker, ns.wf('extrasEntryForm'), null, null)
85
- console.log(' CSV: Form : ', form )
86
-
87
- if (form) {
88
- const parts = store.any(form, ns.ui('parts'), null, form.doc())
89
- console.log(' CSV: parts : ', parts )
90
-
91
- const fields = parts.elements
92
- console.log(' CSV: fields : ', fields )
93
-
94
- for (const field of fields) {
95
- const prop = store.any(field,ns.ui('property'))
96
- if (prop) {
97
- const lab = utils.label(prop)
98
- const column = {label: lab, predicate: prop}
99
- console.log(' CSV: found column from form', column)
100
- columns.push(column)
101
- }
102
- }
103
- }
104
- // Put description on the end as it can be long
105
- columns.push({ label: 'Description', predicate: ns.wf('description') })
106
- console.log('Columns: ', columns.length)
107
- const header = columns.map(col => col.label).join(',') + '\n'
108
- console.log('CSV: Header= ', header)
109
- // Order tasks?? By Creation date? By Status?
110
- const body = tasks.map(taskLine).join('')
111
- return header + body
112
- }
113
-
114
- export function csvButton (dom, tracker) {
115
- const wrapper = dom.createElement('div')
116
- // Add a button
117
- const button = widgets.button(dom, icons.iconBase + 'noun_Document_998605.svg',
118
- 'Copy as CSV', async _event => {
119
-
120
- const div = button.parentNode.parentNode
121
- console.log('button gparent div', div)
122
- div.addEventListener('copy', event => {
123
- // alert ('Copy caught');
124
- const csv = csvText(store, tracker);
125
- event.clipboardData.setData("text/plain", csv);
126
- event.clipboardData.setData("text/csv", csv);
127
- alert ('Copy data: ' + csv)
128
- event.preventDefault();
129
- })
130
- })
131
-
132
- wrapper.appendChild(button)
133
- return wrapper
134
- }
135
-
package/dev/context.js DELETED
@@ -1,18 +0,0 @@
1
- import { DataBrowserContext, PaneRegistry } from "pane-registry";
2
- import { LiveStore, solidLogicSingleton, store } from "solid-logic";
3
-
4
- export const context = {
5
- session: {
6
- store: store,
7
- paneRegistry: {
8
- byName: (name) => {
9
- return // longChatPane
10
- }
11
- },
12
- logic : solidLogicSingleton
13
- },
14
- dom: document,
15
- getOutliner: () => null,
16
- };
17
-
18
- export const fetcher = store.fetcher;
package/dev/index.html DELETED
@@ -1,47 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8"/>
5
- <title>issue-pane dev server</title>
6
- <style>
7
- body {
8
- margin: 0;
9
- font-family: sans-serif;
10
- }
11
- h1 {
12
- padding: 0.5rem;
13
- margin: 0;
14
- color: #666;
15
- }
16
- #loginBanner {
17
- display: grid;
18
- padding: 0.5rem;
19
- grid-gap: 1rem;
20
- grid-auto-flow: column;
21
- justify-content: flex-start;
22
- align-items: center;
23
- }
24
- .banner {
25
- margin: 0;
26
- height: 1rem;
27
- width: 100%;
28
- background: repeating-linear-gradient(
29
- -45deg,
30
- #ffffff,
31
- #d8d9d5 20px,
32
- #d41717 20px,
33
- #984646 40px
34
- );
35
- }
36
- </style>
37
- </head>
38
- <body>
39
- <h1>pane under development</h1>
40
- <div>
41
- <div id="webId"></div>
42
- </div>
43
- <div id="loginBanner"></div>
44
- <div class="banner"></div>
45
- <div id="app">Rendering...</div>
46
- </body>
47
- </html>
package/dev/index.js DELETED
@@ -1,42 +0,0 @@
1
- import { sym } from "rdflib";
2
- import { default as pane } from "..";
3
- import { context, fetcher } from "./context";
4
- import { authn, authSession } from "solid-logic";
5
- import * as UI from "solid-ui";
6
-
7
- const loginBanner = document.getElementById("loginBanner");
8
- const webId = document.getElementById("webId");
9
-
10
- loginBanner.appendChild(UI.login.loginStatusBox(document, null, {}));
11
-
12
- async function finishLogin() {
13
- await authSession.handleIncomingRedirect();
14
- const session = authSession;
15
- if (session.info.isLoggedIn) {
16
- // Update the page with the status.
17
- webId.innerHTML = "Logged in as: " + authn.currentUser().uri;
18
- } else {
19
- webId.innerHTML = "";
20
- }
21
- }
22
-
23
- finishLogin();
24
-
25
-
26
- // https://testingsolidos.solidcommunity.net/profile/card#me
27
- // https://timbl.solidcommunity.net/profile/card#me
28
- //
29
- // const targetURIToShow = "https://angelo.veltens.org/profile/card#me";
30
- // const targetURIToShow = "https://testingsolidos.solidcommunity.net/profile/card#me";
31
- // const targetURIToShow = "https://timbl.solidcommunity.net/profile/card#me";
32
-
33
- // const targetURIToShow = "https://solidproject.solidcommunity.net/Roadmap/index.ttl#this";
34
-
35
- // const targetURIToShow = "https://timbl.com/timbl/Automation/mother/tracker.n3#mother"
36
-
37
- const targetURIToShow = "http://localhost:8080/big-tracker.ttl#this"
38
-
39
- fetcher.load(targetURIToShow).then(() => {
40
- const app = pane.render(sym(targetURIToShow), context);
41
- document.getElementById("app").replaceWith(app);
42
- });
@@ -1,238 +0,0 @@
1
-
2
- # This is the master file for a big issue tracker
3
-
4
- @prefix : <#> .
5
- @prefix con: <http://www.w3.org/2000/10/swap/pim/contact#> .
6
- @prefix doap: <http://usefulinc.com/ns/doap#> .
7
- @prefix flow: <http://www.w3.org/2005/01/wf/flow#> .
8
- @prefix ical: <http://www.w3.org/2002/12/cal/ical#> .
9
- @prefix owl: <http://www.w3.org/2002/07/owl#> .
10
- @prefix ui: <http://www.w3.org/ns/ui#> .
11
-
12
- :Accepted a <http://www.w3.org/2000/01/rdf-schema#Class>;
13
- <http://www.w3.org/2000/01/rdf-schema#comment> "Will go ahead. We are working on this";
14
- <http://www.w3.org/2000/01/rdf-schema#label> "Accepted, in progress";
15
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
16
- :MotherIssue;
17
- ui:sortOrder 50 .
18
-
19
- :Action a <http://www.w3.org/2000/01/rdf-schema#Class>;
20
- <http://www.w3.org/2000/01/rdf-schema#label> "action";
21
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
22
- ui:backgroundColor "#eeeeff";
23
- ui:sortOrder 80 .
24
-
25
- :AttendConference a <http://www.w3.org/2000/01/rdf-schema#Class>;
26
- <http://www.w3.org/2000/01/rdf-schema#label> "attend conference";
27
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
28
- ui:backgroundColor "#fcfce8";
29
- ui:sortOrder 50 .
30
-
31
- :Book a <http://www.w3.org/2000/01/rdf-schema#Class>;
32
- <http://www.w3.org/2000/01/rdf-schema#label> "book";
33
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
34
- ui:backgroundColor "#eeffee";
35
- ui:sortOrder 70 .
36
-
37
- :CommercialSpeaking a <http://www.w3.org/2000/01/rdf-schema#Class>;
38
- <http://www.w3.org/2000/01/rdf-schema#label> "commercial speaking";
39
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
40
- ui:backgroundColor "#ffcbad";
41
- ui:sortOrder 30 .
42
-
43
- :Declined a <http://www.w3.org/2000/01/rdf-schema#Class>;
44
- <http://www.w3.org/2000/01/rdf-schema#comment> "Declined";
45
- <http://www.w3.org/2000/01/rdf-schema#label> "declined";
46
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Closed,
47
- :MotherIssue;
48
- ui:sortOrder 30 .
49
-
50
- :Discussing a <http://www.w3.org/2000/01/rdf-schema#Class>;
51
- <http://www.w3.org/2000/01/rdf-schema#comment> "Being discussed";
52
- <http://www.w3.org/2000/01/rdf-schema#label> "in discussion";
53
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
54
- :MotherIssue;
55
- ui:sortOrder 80 .
56
-
57
- :Done a <http://www.w3.org/2000/01/rdf-schema#Class>;
58
- <http://www.w3.org/2000/01/rdf-schema#comment> "Completed.";
59
- <http://www.w3.org/2000/01/rdf-schema#label> "done";
60
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Closed,
61
- :MotherIssue;
62
- ui:sortOrder 20 .
63
-
64
- :Film a <http://www.w3.org/2000/01/rdf-schema#Class>;
65
- <http://www.w3.org/2000/01/rdf-schema#label> "film";
66
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
67
- ui:backgroundColor "#eeffff";
68
- ui:sortOrder 80 .
69
-
70
- :HonoraryDegree a <http://www.w3.org/2000/01/rdf-schema#Class>;
71
- <http://www.w3.org/2000/01/rdf-schema#label> "honorary degree";
72
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
73
- ui:backgroundColor "#ffa8ab";
74
- ui:sortOrder 40 .
75
-
76
- :Meeting a <http://www.w3.org/2000/01/rdf-schema#Class>;
77
- <http://www.w3.org/2000/01/rdf-schema#label> "meeting request";
78
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
79
- ui:backgroundColor "#e8e8ff";
80
- ui:sortOrder 60 .
81
-
82
- :MotherIssue a <http://www.w3.org/2000/01/rdf-schema#Class>;
83
- <http://www.w3.org/2000/01/rdf-schema#label> "Request";
84
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Task;
85
- owl:disjointUnionOf (
86
- :New
87
- :Discussing
88
- :Pending
89
- :Negotiating
90
- :Accepted
91
- :Urgent
92
- :ToBeDeclined
93
- :Watchlist
94
- :Declined
95
- :Obsolete
96
- :Done ) .
97
-
98
- :Negotiating a <http://www.w3.org/2000/01/rdf-schema#Class>;
99
- <http://www.w3.org/2000/01/rdf-schema#comment> "Being negotiated";
100
- <http://www.w3.org/2000/01/rdf-schema#label> "negotiating";
101
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
102
- :MotherIssue;
103
- ui:sortOrder 60 .
104
-
105
- :New a <http://www.w3.org/2000/01/rdf-schema#Class>;
106
- <http://www.w3.org/2000/01/rdf-schema#comment> """Has not been looked at.
107
- This is the initial state normally when an issue is created.""";
108
- <http://www.w3.org/2000/01/rdf-schema#label> "new";
109
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
110
- :MotherIssue;
111
- ui:sortOrder 90 .
112
-
113
- :NonProfitSpeaking a <http://www.w3.org/2000/01/rdf-schema#Class>;
114
- <http://www.w3.org/2000/01/rdf-schema#label> "non-profit speaking";
115
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
116
- ui:backgroundColor "#fffed0";
117
- ui:sortOrder 20 .
118
-
119
- :Obsolete a <http://www.w3.org/2000/01/rdf-schema#Class>;
120
- <http://www.w3.org/2000/01/rdf-schema#comment> "Overtaken by time or events.";
121
- <http://www.w3.org/2000/01/rdf-schema#label> "obsolete/missed";
122
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Closed,
123
- :MotherIssue;
124
- ui:sortOrder 10 .
125
-
126
-
127
- :OtherRequest a <http://www.w3.org/2000/01/rdf-schema#Class>;
128
- <http://www.w3.org/2000/01/rdf-schema#label> "other";
129
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
130
- ui:backgroundColor "#eeeeee";
131
- ui:sortOrder 90 .
132
-
133
- :Pending a <http://www.w3.org/2000/01/rdf-schema#Class>;
134
- <http://www.w3.org/2000/01/rdf-schema#comment> "Waiting for someone else's input.";
135
- <http://www.w3.org/2000/01/rdf-schema#label> "pending others";
136
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
137
- :MotherIssue;
138
- ui:sortOrder 75 .
139
-
140
- :PressRequest a <http://www.w3.org/2000/01/rdf-schema#Class>;
141
- <http://www.w3.org/2000/01/rdf-schema#label> "press";
142
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> :RequestCategory;
143
- ui:backgroundColor "#dccdfc";
144
- ui:sortOrder 10 .
145
-
146
- :RequestCategory <http://www.w3.org/2000/01/rdf-schema#label> "category";
147
- owl:disjointUnionOf (
148
- :PressRequest
149
- :NonProfitSpeaking
150
- :CommercialSpeaking
151
- :HonoraryDegree
152
- :AttendConference
153
- :Meeting
154
- :Book
155
- :Film
156
- :Action
157
- :OtherRequest ) .
158
-
159
- :RequestExtrasForm a ui:Form,
160
- ui:Group;
161
- <http://purl.org/dc/elements/1.1/title> "Extra details of a request";
162
- ui:parts (
163
- [
164
- a ui:Heading;
165
- ui:contents "Details:"@en;
166
- ui:sequence 10 ]
167
- [
168
- a ui:DateField;
169
- ui:property flow:earliestDate;
170
- ui:sequence 20 ]
171
- [
172
- a ui:DateField;
173
- ui:property flow:latestDate;
174
- ui:sequence 40 ]
175
- [
176
- a ui:Comment;
177
- ui:contents "The earliest and latest dates are the window for the event, or both the same if fixed."@en;
178
- ui:sequence 60;
179
- ui:style "background-color: #ffe;" ]
180
- [
181
- a ui:SingleLineTextField;
182
- ui:property ical:location;
183
- ui:seuqence 70;
184
- ui:size 30 ]
185
- [
186
- a ui:DateField;
187
- ui:property flow:dateReceived;
188
- ui:sequence 80 ]
189
- [
190
- a ui:MultiLineTextField;
191
- ui:property <http://www.w3.org/2000/01/rdf-schema#comment>;
192
- ui:sequence 90 ] ) .
193
-
194
-
195
- :ToBeDeclined a <http://www.w3.org/2000/01/rdf-schema#Class>;
196
- <http://www.w3.org/2000/01/rdf-schema#comment> "To be declined";
197
- <http://www.w3.org/2000/01/rdf-schema#label> "to be declined";
198
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
199
- :MotherIssue;
200
- ui:sortOrder 40 .
201
-
202
- :Urgent a <http://www.w3.org/2000/01/rdf-schema#Class>;
203
- <http://www.w3.org/2000/01/rdf-schema#comment> "Needs urgent attention";
204
- <http://www.w3.org/2000/01/rdf-schema#label> "URGENT";
205
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
206
- :MotherIssue;
207
- ui:sortOrder 55 .
208
-
209
- :Watchlist a <http://www.w3.org/2000/01/rdf-schema#Class>;
210
- <http://www.w3.org/2000/01/rdf-schema#comment> "We will keep this in mind.";
211
- <http://www.w3.org/2000/01/rdf-schema#label> "watch list";
212
- <http://www.w3.org/2000/01/rdf-schema#subClassOf> flow:Open,
213
- :MotherIssue;
214
- ui:sortOrder 35 .
215
-
216
- :this a flow:Tracker;
217
- <http://purl.org/dc/terms/title> "The Big Request Tracker";
218
- <http://www.w3.org/2000/01/rdf-schema#label> "Request Tracker";
219
- flow:allowSubIssues :false;
220
- flow:assigneeClass <http://xmlns.com/foaf/0.1/Person>;
221
- flow:defaultView flow:TableView;
222
- flow:description "Requests";
223
- flow:extrasEntryForm :RequestExtrasForm;
224
- flow:initialState :New;
225
- flow:issueCategory :RequestCategory;
226
- flow:issueClass :MotherIssue;
227
- flow:propertyList (
228
- flow:earliestDate
229
- flow:latestDate
230
- ical:location
231
- <http://www.w3.org/2000/01/rdf-schema#comment>
232
- flow:assignee );
233
- flow:stateStore <state-big-tracker.ttl> .
234
-
235
- <tracker.n3> <http://www.w3.org/2000/01/rdf-schema#comment> """This file defines a tracker for requests.
236
- """;
237
- <http://www.w3.org/2000/01/rdf-schema#label> "A tracker definition file for requests" .
238
-