-
Notifications
You must be signed in to change notification settings - Fork 0
/
spreadsheet.html
113 lines (104 loc) · 3.58 KB
/
spreadsheet.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Test jExcel for Islandora Workbench</title>
<script src="https://bossanova.uk/jexcel/v3/jexcel.js"></script>
<script src="https://bossanova.uk/jsuites/v2/jsuites.js"></script>
<script src="initialize.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jsuites/v2/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://bossanova.uk/jexcel/v3/jexcel.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Material+Icons" />
</head>
<body>
<h1>Testing <a href="https://bossanova.uk/jexcel/v3/">jExcel</a> for <a href="https://github.com/mjordan/islandora_workbench">Islandora Workbench</a></h1>
<h2>The Spreadsheet</h2>
<div id="spreadsheet"></div>
<script>
// The data to load into the spreadsheet.
// Dummy data for now.
// Eventually this will be dynamically loaded either with a list of files to
// describe, an initial spreadsheet, or nodes from Drupal to update.
loadData([
//['Thumbnail','File','Title','Date','Description','Rights','Extent','Subjects','Access Terms','Member Of','Node ID'],
['','myfile.jpg','My nice image','2019-07-01?','A fine image, yes?','Do whatever you want with it.','There\'s only one image.','','Anonymous','',''],
[],
], [
{
type: 'image',
title: 'Thumbnail',
width: 120
},
{
type: 'text',
title: 'File',
width: 120
},
{
type: 'text',
title: 'Title',
width: 120,
wordWrap: true
},
{
type: 'text',
title: 'Date',
width: 120
},
{
type: 'text',
title: 'Description',
width: 120,
wordWrap: true
},
{
type: 'text',
title: 'Rights',
width: 120,
wordWrap: true
},
{
type: 'text',
title: 'Extent',
width: 100,
wordWrap: true
},
{
type: 'autocomplete',
title: 'Subjects',
width: 200,
multiple: true,
source: subjectsDropdown
},
{
type: 'dropdown',
title: 'Access Terms',
width: 200,
multiple: true,
source: accessDropdown
},
{
type: 'dropdown',
title: 'Member Of',
width: 120,
source: []
},
{
type: 'hidden',
title: 'Node ID'
}
]);
</script>
<h2>Notes</h2>
<p>
Currently assumes you have an Islandora instance accessible at <a href="http://localhost:8000/">localhost:8000</a> that has JSON:API and CORS (see below) enabled with some existing <a href="https://github.com/Islandora-CLAW/controlled_access_terms">Controlled Access Terms</a> populated.
</p>
<p>
Initially my browser refused to load the dropdown boxes from Drupal due to
<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS">Cross-Origin Resource Sharing (CORS)</a>.
A bit of searching lead me to <a href="https://drupal.stackexchange.com/questions/245903/how-do-i-set-up-cors">a forum post</a>
indicating that I needed to configure my site's services.yml to enable CORS.
There may be a way to do it without this, but it is what I have right now.
</p>
</body>
</html>