solid-panes 3.5.22-25afa55a → 3.5.23-4529a705

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/lib/imagePane.js CHANGED
@@ -10,16 +10,16 @@ module.exports = {
10
10
  icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',
11
11
  name: 'image',
12
12
  label: function label(subject, context) {
13
- var kb = context.session.store;
13
+ var store = context.session.store;
14
14
 
15
- if (!kb.anyStatementMatching(subject, UI.ns.rdf('type'), kb.sym('http://purl.org/dc/terms/Image'))) {
15
+ if (!store.anyStatementMatching(subject, UI.ns.rdf('type'), store.sym('http://purl.org/dc/terms/Image'))) {
16
16
  // NB: Not dc: namespace!
17
17
  return null;
18
18
  } // See also the source pane, which has lower precedence.
19
19
 
20
20
 
21
- var contentTypeMatch = function contentTypeMatch(kb, x, contentTypes) {
22
- var cts = kb.fetcher.getHeader(x, 'content-type');
21
+ var contentTypeMatch = function contentTypeMatch(store, x, contentTypes) {
22
+ var cts = store.fetcher.getHeader(x, 'content-type');
23
23
 
24
24
  if (cts) {
25
25
  for (var j = 0; j < cts.length; j++) {
@@ -36,7 +36,7 @@ module.exports = {
36
36
 
37
37
  var suppressed = ['application/pdf'];
38
38
 
39
- if (contentTypeMatch(kb, subject, suppressed)) {
39
+ if (contentTypeMatch(store, subject, suppressed)) {
40
40
  return null;
41
41
  }
42
42
 
@@ -44,10 +44,17 @@ module.exports = {
44
44
  },
45
45
  render: function render(subject, context) {
46
46
  var myDocument = context.dom;
47
+ var store = context.session.store;
47
48
  var div = myDocument.createElement('div');
48
49
  div.setAttribute('class', 'imageView');
49
- var img = myDocument.createElement('IMG');
50
- img.setAttribute('src', subject.uri); // w640 h480
50
+ var img = myDocument.createElement('IMG'); // get image with authenticated fetch
51
+
52
+ store.fetcher._fetch(subject.uri).then(function (response) {
53
+ return response.blob();
54
+ }).then(function (myBlob) {
55
+ var objectURL = URL.createObjectURL(myBlob);
56
+ img.setAttribute('src', objectURL); // w640 h480 //
57
+ });
51
58
 
52
59
  img.setAttribute('style', 'max-width: 100%; max-height: 100%;'); // div.style['max-width'] = '640'
53
60
  // div.style['max-height'] = '480'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/imagePane.js"],"names":["UI","require","module","exports","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","anyStatementMatching","ns","rdf","sym","contentTypeMatch","x","contentTypes","cts","fetcher","getHeader","j","length","k","indexOf","suppressed","render","myDocument","dom","div","createElement","setAttribute","img","uri","tr","appendChild"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,IAAMA,EAAE,GAAGC,OAAO,CAAC,UAAD,CAAlB;;AAEAC,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,IAAI,EAAEJ,EAAE,CAACK,KAAH,CAASC,gBAAT,GAA4B,8BADnB;AAGfC,EAAAA,IAAI,EAAE,OAHS;AAKfC,EAAAA,KAAK,EAAE,eAAUC,OAAV,EAAmBC,OAAnB,EAA4B;AACjC,QAAMC,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;;AACA,QACE,CAACF,EAAE,CAACG,oBAAH,CACCL,OADD,EAECT,EAAE,CAACe,EAAH,CAAMC,GAAN,CAAU,MAAV,CAFD,EAGCL,EAAE,CAACM,GAAH,CAAO,gCAAP,CAHD,CADH,EAME;AACA;AACA,aAAO,IAAP;AACD,KAXgC,CAajC;;;AAEA,QAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAUP,EAAV,EAAcQ,CAAd,EAAiBC,YAAjB,EAA+B;AACtD,UAAMC,GAAG,GAAGV,EAAE,CAACW,OAAH,CAAWC,SAAX,CAAqBJ,CAArB,EAAwB,cAAxB,CAAZ;;AACA,UAAIE,GAAJ,EAAS;AACP,aAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,GAAG,CAACI,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;AACnC,eAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,YAAY,CAACK,MAAjC,EAAyCC,CAAC,EAA1C,EAA8C;AAC5C,gBAAIL,GAAG,CAACG,CAAD,CAAH,CAAOG,OAAP,CAAeP,YAAY,CAACM,CAAD,CAA3B,KAAmC,CAAvC,EAA0C;AACxC,qBAAO,IAAP;AACD;AACF;AACF;AACF;;AACD,aAAO,KAAP;AACD,KAZD;;AAcA,QAAME,UAAU,GAAG,CAAC,iBAAD,CAAnB;;AACA,QAAIV,gBAAgB,CAACP,EAAD,EAAKF,OAAL,EAAcmB,UAAd,CAApB,EAA+C;AAC7C,aAAO,IAAP;AACD;;AACD,WAAO,MAAP;AACD,GAvCc;AAyCfC,EAAAA,MAAM,EAAE,gBAAUpB,OAAV,EAAmBC,OAAnB,EAA4B;AAClC,QAAMoB,UAAU,GAAGpB,OAAO,CAACqB,GAA3B;AACA,QAAMC,GAAG,GAAGF,UAAU,CAACG,aAAX,CAAyB,KAAzB,CAAZ;AACAD,IAAAA,GAAG,CAACE,YAAJ,CAAiB,OAAjB,EAA0B,WAA1B;AACA,QAAMC,GAAG,GAAGL,UAAU,CAACG,aAAX,CAAyB,KAAzB,CAAZ;AACAE,IAAAA,GAAG,CAACD,YAAJ,CAAiB,KAAjB,EAAwBzB,OAAO,CAAC2B,GAAhC,EALkC,CAKG;;AACrCD,IAAAA,GAAG,CAACD,YAAJ,CAAiB,OAAjB,EAA0B,oCAA1B,EANkC,CAOlC;AACA;;AACA,QAAMG,EAAE,GAAGP,UAAU,CAACG,aAAX,CAAyB,IAAzB,CAAX,CATkC,CASQ;;AAC1CI,IAAAA,EAAE,CAACC,WAAH,CAAeH,GAAf;AACAH,IAAAA,GAAG,CAACM,WAAJ,CAAgBD,EAAhB;AACA,WAAOL,GAAP;AACD;AAtDc,CAAjB,C,CAyDA","sourcesContent":["/* Image Pane\n **\n ** This outline pane contains the document contents for an Image document\n */\nconst UI = require('solid-ui')\n\nmodule.exports = {\n icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',\n\n name: 'image',\n\n label: function (subject, context) {\n const kb = context.session.store\n if (\n !kb.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n kb.sym('http://purl.org/dc/terms/Image')\n )\n ) {\n // NB: Not dc: namespace!\n return null\n }\n\n // See also the source pane, which has lower precedence.\n\n const contentTypeMatch = function (kb, x, contentTypes) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < contentTypes.length; k++) {\n if (cts[j].indexOf(contentTypes[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n const suppressed = ['application/pdf']\n if (contentTypeMatch(kb, subject, suppressed)) {\n return null\n }\n return 'view'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'imageView')\n const img = myDocument.createElement('IMG')\n img.setAttribute('src', subject.uri) // w640 h480\n img.setAttribute('style', 'max-width: 100%; max-height: 100%;')\n // div.style['max-width'] = '640'\n // div.style['max-height'] = '480'\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"file":"imagePane.js"}
1
+ {"version":3,"sources":["../src/imagePane.js"],"names":["UI","require","module","exports","icon","icons","originalIconBase","name","label","subject","context","store","session","anyStatementMatching","ns","rdf","sym","contentTypeMatch","x","contentTypes","cts","fetcher","getHeader","j","length","k","indexOf","suppressed","render","myDocument","dom","div","createElement","setAttribute","img","_fetch","uri","then","response","blob","myBlob","objectURL","URL","createObjectURL","tr","appendChild"],"mappings":"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","sourcesContent":["/* Image Pane\n **\n ** This outline pane contains the document contents for an Image document\n */\nconst UI = require('solid-ui')\n\nmodule.exports = {\n icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',\n\n name: 'image',\n\n label: function (subject, context) {\n const store = context.session.store\n if (\n !store.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n store.sym('http://purl.org/dc/terms/Image')\n )\n ) {\n // NB: Not dc: namespace!\n return null\n }\n\n // See also the source pane, which has lower precedence.\n\n const contentTypeMatch = function (store, x, contentTypes) {\n const cts = store.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < contentTypes.length; k++) {\n if (cts[j].indexOf(contentTypes[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n const suppressed = ['application/pdf']\n if (contentTypeMatch(store, subject, suppressed)) {\n return null\n }\n return 'view'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const store = context.session.store\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'imageView')\n const img = myDocument.createElement('IMG')\n\n // get image with authenticated fetch\n store.fetcher._fetch(subject.uri)\n .then(function(response) {\n return response.blob()\n })\n .then(function(myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n img.setAttribute('src', objectURL) // w640 h480 //\n })\n\n img.setAttribute('style', 'max-width: 100%; max-height: 100%;')\n // div.style['max-width'] = '640'\n // div.style['max-height'] = '480'\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"file":"imagePane.js"}
@@ -16,12 +16,12 @@ module.exports = {
16
16
  audience: [ns.solid('PowerUser')],
17
17
  // Does the subject deserve an slideshow pane?
18
18
  label: function label(subject, context) {
19
- var kb = context.session.store;
19
+ var store = context.session.store;
20
20
  var ns = UI.ns;
21
- var t = kb.findTypeURIs(subject);
21
+ var t = store.findTypeURIs(subject);
22
22
 
23
23
  if (t[ns.ldp('Container').uri] || t[ns.ldp('BasicContainer').uri]) {
24
- var contents = kb.each(subject, ns.ldp('contains'));
24
+ var contents = store.each(subject, ns.ldp('contains'));
25
25
  var count = 0;
26
26
  contents.forEach(function (file) {
27
27
  if (UI.widgets.isImage(file)) count++;
@@ -37,29 +37,42 @@ module.exports = {
37
37
  var dom = context.dom;
38
38
  var styleSheet = 'https://leemark.github.io/better-simple-slideshow/css/simple-slideshow-styles.css';
39
39
  UI.widgets.addStyleSheet(dom, styleSheet);
40
- var kb = context.session.store;
40
+ var store = context.session.store;
41
41
  var ns = UI.ns;
42
42
  var div = dom.createElement('div');
43
43
  div.setAttribute('class', 'bss-slides');
44
- var t = kb.findTypeURIs(subject);
44
+ var t = store.findTypeURIs(subject);
45
45
  var predicate;
46
46
 
47
47
  if (t[ns.ldp('BasicContainer').uri] || t[ns.ldp('Container').uri]) {
48
48
  predicate = ns.ldp('contains');
49
49
  }
50
50
 
51
- var images = kb.each(subject, predicate); // @@ random order?
51
+ var images = store.each(subject, predicate); // @@ random order?
52
52
  // @@ Ideally: sort by embedded time of image
53
53
 
54
54
  images.sort(); // Sort for now by URI
55
55
 
56
- for (var i = 0; i < images.length; i++) {
57
- if (!UI.widgets.isImage(images[i])) continue;
56
+ var _loop = function _loop(i) {
57
+ if (!UI.widgets.isImage(images[i])) return "continue";
58
58
  var figure = div.appendChild(dom.createElement('figure'));
59
- var img = figure.appendChild(dom.createElement('img'));
60
- img.setAttribute('src', images[i].uri);
59
+ var img = figure.appendChild(dom.createElement('img')); // get image with authenticated fetch
60
+
61
+ store.fetcher._fetch(images[i].uri).then(function (response) {
62
+ return response.blob();
63
+ }).then(function (myBlob) {
64
+ var objectURL = URL.createObjectURL(myBlob);
65
+ img.setAttribute('src', objectURL); // w640 h480 //
66
+ });
67
+
61
68
  img.setAttribute('width', '100%');
62
69
  figure.appendChild(dom.createElement('figcaption'));
70
+ };
71
+
72
+ for (var i = 0; i < images.length; i++) {
73
+ var _ret = _loop(i);
74
+
75
+ if (_ret === "continue") continue;
63
76
  }
64
77
 
65
78
  var options = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/slideshow/slideshowPane.js"],"names":["UI","require","ns","makeBSS","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","ldp","uri","contents","each","count","forEach","file","widgets","isImage","render","dom","styleSheet","addStyleSheet","div","createElement","setAttribute","predicate","images","sort","i","length","figure","appendChild","img","options","setTimeout"],"mappings":";;AAAA;AACA;AACA;AACA,IAAMA,EAAE,GAAGC,OAAO,CAAC,UAAD,CAAlB;;AACA,IAAMC,EAAE,GAAGF,EAAE,CAACE,EAAd,C,CAEA;;AAEA,IAAMC,OAAO,GAAGF,OAAO,CAAC,gCAAD,CAAvB,C,CACA;;;AAEAG,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,IAAI,EAAEN,EAAE,CAACO,KAAH,CAASC,QAAT,GAAoB,iBADX;AAGfC,EAAAA,IAAI,EAAE,WAHS;AAKfC,EAAAA,QAAQ,EAAE,CAACR,EAAE,CAACS,KAAH,CAAS,WAAT,CAAD,CALK;AAOf;AACAC,EAAAA,KAAK,EAAE,eAAUC,OAAV,EAAmBC,OAAnB,EAA4B;AACjC,QAAMC,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;AACA,QAAMf,EAAE,GAAGF,EAAE,CAACE,EAAd;AACA,QAAMgB,CAAC,GAAGH,EAAE,CAACI,YAAH,CAAgBN,OAAhB,CAAV;;AACA,QAAIK,CAAC,CAAChB,EAAE,CAACkB,GAAH,CAAO,WAAP,EAAoBC,GAArB,CAAD,IAA8BH,CAAC,CAAChB,EAAE,CAACkB,GAAH,CAAO,gBAAP,EAAyBC,GAA1B,CAAnC,EAAmE;AACjE,UAAMC,QAAQ,GAAGP,EAAE,CAACQ,IAAH,CAAQV,OAAR,EAAiBX,EAAE,CAACkB,GAAH,CAAO,UAAP,CAAjB,CAAjB;AACA,UAAII,KAAK,GAAG,CAAZ;AACAF,MAAAA,QAAQ,CAACG,OAAT,CAAiB,UAAUC,IAAV,EAAgB;AAC/B,YAAI1B,EAAE,CAAC2B,OAAH,CAAWC,OAAX,CAAmBF,IAAnB,CAAJ,EAA8BF,KAAK;AACpC,OAFD;AAGA,aAAOA,KAAK,GAAG,CAAR,GAAY,WAAZ,GAA0B,IAAjC;AACD;;AACD,WAAO,IAAP;AACD,GArBc;AAuBf;AACA;AACAK,EAAAA,MAAM,EAAE,gBAAUhB,OAAV,EAAmBC,OAAnB,EAA4B;AAClC,QAAMgB,GAAG,GAAGhB,OAAO,CAACgB,GAApB;AACA,QAAMC,UAAU,GACd,mFADF;AAEA/B,IAAAA,EAAE,CAAC2B,OAAH,CAAWK,aAAX,CAAyBF,GAAzB,EAA8BC,UAA9B;AAEA,QAAMhB,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;AACA,QAAMf,EAAE,GAAGF,EAAE,CAACE,EAAd;AACA,QAAM+B,GAAG,GAAGH,GAAG,CAACI,aAAJ,CAAkB,KAAlB,CAAZ;AACAD,IAAAA,GAAG,CAACE,YAAJ,CAAiB,OAAjB,EAA0B,YAA1B;AAEA,QAAMjB,CAAC,GAAGH,EAAE,CAACI,YAAH,CAAgBN,OAAhB,CAAV;AACA,QAAIuB,SAAJ;;AACA,QAAIlB,CAAC,CAAChB,EAAE,CAACkB,GAAH,CAAO,gBAAP,EAAyBC,GAA1B,CAAD,IAAmCH,CAAC,CAAChB,EAAE,CAACkB,GAAH,CAAO,WAAP,EAAoBC,GAArB,CAAxC,EAAmE;AACjEe,MAAAA,SAAS,GAAGlC,EAAE,CAACkB,GAAH,CAAO,UAAP,CAAZ;AACD;;AACD,QAAMiB,MAAM,GAAGtB,EAAE,CAACQ,IAAH,CAAQV,OAAR,EAAiBuB,SAAjB,CAAf,CAhBkC,CAgBS;AAC3C;;AACAC,IAAAA,MAAM,CAACC,IAAP,GAlBkC,CAkBpB;;AACd,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,MAAM,CAACG,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,UAAI,CAACvC,EAAE,CAAC2B,OAAH,CAAWC,OAAX,CAAmBS,MAAM,CAACE,CAAD,CAAzB,CAAL,EAAoC;AACpC,UAAME,MAAM,GAAGR,GAAG,CAACS,WAAJ,CAAgBZ,GAAG,CAACI,aAAJ,CAAkB,QAAlB,CAAhB,CAAf;AACA,UAAMS,GAAG,GAAGF,MAAM,CAACC,WAAP,CAAmBZ,GAAG,CAACI,aAAJ,CAAkB,KAAlB,CAAnB,CAAZ;AACAS,MAAAA,GAAG,CAACR,YAAJ,CAAiB,KAAjB,EAAwBE,MAAM,CAACE,CAAD,CAAN,CAAUlB,GAAlC;AACAsB,MAAAA,GAAG,CAACR,YAAJ,CAAiB,OAAjB,EAA0B,MAA1B;AACAM,MAAAA,MAAM,CAACC,WAAP,CAAmBZ,GAAG,CAACI,aAAJ,CAAkB,YAAlB,CAAnB;AACD;;AACD,QAAMU,OAAO,GAAG;AAAEd,MAAAA,GAAG,EAAEA;AAAP,KAAhB;AAEAe,IAAAA,UAAU,CAAC,YAAY;AACrB1C,MAAAA,OAAO,CAAC,aAAD,EAAgByC,OAAhB,CAAP;AACD,KAFS,EAEP,IAFO,CAAV,CA7BkC,CA+BzB;;AAET,WAAOX,GAAP;AACD;AA3Dc,CAAjB,C,CA8DA","sourcesContent":["/* slideshow Pane\n **\n */\nconst UI = require('solid-ui')\nconst ns = UI.ns\n\n// tabulator.loadScript(\"js/panes/slideshow/better-simple-slideshow/js/better-simple-slideshow.js\")\n\nconst makeBSS = require('@solid/better-simple-slideshow')\n// load also js/panes/slideshow/better-simple-slideshow/css/simple-slideshow-styles.css\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_138712.svg',\n\n name: 'slideshow',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an slideshow pane?\n label: function (subject, context) {\n const kb = context.session.store\n const ns = UI.ns\n const t = kb.findTypeURIs(subject)\n if (t[ns.ldp('Container').uri] || t[ns.ldp('BasicContainer').uri]) {\n const contents = kb.each(subject, ns.ldp('contains'))\n let count = 0\n contents.forEach(function (file) {\n if (UI.widgets.isImage(file)) count++\n })\n return count > 0 ? 'Slideshow' : null\n }\n return null\n },\n\n // See https://github.com/leemark/better-simple-slideshow\n // and follow instructions there\n render: function (subject, context) {\n const dom = context.dom\n const styleSheet =\n 'https://leemark.github.io/better-simple-slideshow/css/simple-slideshow-styles.css'\n UI.widgets.addStyleSheet(dom, styleSheet)\n\n const kb = context.session.store\n const ns = UI.ns\n const div = dom.createElement('div')\n div.setAttribute('class', 'bss-slides')\n\n const t = kb.findTypeURIs(subject)\n let predicate\n if (t[ns.ldp('BasicContainer').uri] || t[ns.ldp('Container').uri]) {\n predicate = ns.ldp('contains')\n }\n const images = kb.each(subject, predicate) // @@ random order?\n // @@ Ideally: sort by embedded time of image\n images.sort() // Sort for now by URI\n for (let i = 0; i < images.length; i++) {\n if (!UI.widgets.isImage(images[i])) continue\n const figure = div.appendChild(dom.createElement('figure'))\n const img = figure.appendChild(dom.createElement('img'))\n img.setAttribute('src', images[i].uri)\n img.setAttribute('width', '100%')\n figure.appendChild(dom.createElement('figcaption'))\n }\n const options = { dom: dom }\n\n setTimeout(function () {\n makeBSS('.bss-slides', options)\n }, 1000) // Must run after the code which called this\n\n return div\n }\n}\n\n// ends\n"],"file":"slideshowPane.js"}
1
+ {"version":3,"sources":["../../src/slideshow/slideshowPane.js"],"names":["UI","require","ns","makeBSS","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","store","session","t","findTypeURIs","ldp","uri","contents","each","count","forEach","file","widgets","isImage","render","dom","styleSheet","addStyleSheet","div","createElement","setAttribute","predicate","images","sort","i","figure","appendChild","img","fetcher","_fetch","then","response","blob","myBlob","objectURL","URL","createObjectURL","length","options","setTimeout"],"mappings":"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","sourcesContent":["/* slideshow Pane\n **\n */\nconst UI = require('solid-ui')\nconst ns = UI.ns\n\n// tabulator.loadScript(\"js/panes/slideshow/better-simple-slideshow/js/better-simple-slideshow.js\")\n\nconst makeBSS = require('@solid/better-simple-slideshow')\n// load also js/panes/slideshow/better-simple-slideshow/css/simple-slideshow-styles.css\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_138712.svg',\n\n name: 'slideshow',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an slideshow pane?\n label: function (subject, context) {\n const store = context.session.store\n const ns = UI.ns\n const t = store.findTypeURIs(subject)\n if (t[ns.ldp('Container').uri] || t[ns.ldp('BasicContainer').uri]) {\n const contents = store.each(subject, ns.ldp('contains'))\n let count = 0\n contents.forEach(function (file) {\n if (UI.widgets.isImage(file)) count++\n })\n return count > 0 ? 'Slideshow' : null\n }\n return null\n },\n\n // See https://github.com/leemark/better-simple-slideshow\n // and follow instructions there\n render: function (subject, context) {\n const dom = context.dom\n const styleSheet =\n 'https://leemark.github.io/better-simple-slideshow/css/simple-slideshow-styles.css'\n UI.widgets.addStyleSheet(dom, styleSheet)\n\n const store = context.session.store\n const ns = UI.ns\n const div = dom.createElement('div')\n div.setAttribute('class', 'bss-slides')\n\n const t = store.findTypeURIs(subject)\n let predicate\n if (t[ns.ldp('BasicContainer').uri] || t[ns.ldp('Container').uri]) {\n predicate = ns.ldp('contains')\n }\n const images = store.each(subject, predicate) // @@ random order?\n // @@ Ideally: sort by embedded time of image\n images.sort() // Sort for now by URI\n for (let i = 0; i < images.length; i++) {\n if (!UI.widgets.isImage(images[i])) continue\n const figure = div.appendChild(dom.createElement('figure'))\n const img = figure.appendChild(dom.createElement('img'))\n\n // get image with authenticated fetch\n store.fetcher._fetch(images[i].uri)\n .then(function(response) {\n return response.blob()\n })\n .then(function(myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n img.setAttribute('src', objectURL) // w640 h480 //\n })\n img.setAttribute('width', '100%')\n figure.appendChild(dom.createElement('figcaption'))\n }\n const options = { dom: dom }\n\n setTimeout(function () {\n makeBSS('.bss-slides', options)\n }, 1000) // Must run after the code which called this\n\n return div\n }\n}\n\n// ends\n"],"file":"slideshowPane.js"}
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _default = {
8
- buildTime: "2022-03-31T15:18:20Z",
9
- commit: "25afa55a8a7a354ac27383f1118031db5666869f",
8
+ buildTime: "2022-04-12T09:19:13Z",
9
+ commit: "4529a705c0f4b8e1c1ae3638d5e1fe0e2748ef7e",
10
10
  npmInfo: {
11
- 'solid-panes': '3.5.22',
11
+ 'solid-panes': '3.5.23',
12
12
  npm: '6.14.16',
13
13
  ares: '1.18.1',
14
14
  brotli: '1.0.9',
@@ -18,8 +18,8 @@ var _default = {
18
18
  modules: '83',
19
19
  napi: '8',
20
20
  nghttp2: '1.42.0',
21
- node: '14.19.0',
22
- openssl: '1.1.1m',
21
+ node: '14.19.1',
22
+ openssl: '1.1.1n',
23
23
  tz: '2021a3',
24
24
  unicode: '14.0',
25
25
  uv: '1.42.0',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/versionInfo.ts"],"names":["buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;eAAe;AACfA,EAAAA,SAAS,EAAE,sBADI;AAEfC,EAAAA,MAAM,EAAE,0CAFO;AAGfC,EAAAA,OAAO,EACP;AACE,mBAAe,QADjB;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,QAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJe,C","sourcesContent":["export default {\nbuildTime: \"2022-03-31T15:18:20Z\",\ncommit: \"25afa55a8a7a354ac27383f1118031db5666869f\",\nnpmInfo:\n{\n 'solid-panes': '3.5.22',\n npm: '6.14.16',\n ares: '1.18.1',\n brotli: '1.0.9',\n cldr: '40.0',\n icu: '70.1',\n llhttp: '2.1.4',\n modules: '83',\n napi: '8',\n nghttp2: '1.42.0',\n node: '14.19.0',\n openssl: '1.1.1m',\n tz: '2021a3',\n unicode: '14.0',\n uv: '1.42.0',\n v8: '8.4.371.23-node.85',\n zlib: '1.2.11'\n}\n};\n"],"file":"versionInfo.js"}
1
+ {"version":3,"sources":["../src/versionInfo.ts"],"names":["buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;eAAe;AACfA,EAAAA,SAAS,EAAE,sBADI;AAEfC,EAAAA,MAAM,EAAE,0CAFO;AAGfC,EAAAA,OAAO,EACP;AACE,mBAAe,QADjB;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,QAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJe,C","sourcesContent":["export default {\nbuildTime: \"2022-04-12T09:19:13Z\",\ncommit: \"4529a705c0f4b8e1c1ae3638d5e1fe0e2748ef7e\",\nnpmInfo:\n{\n 'solid-panes': '3.5.23',\n npm: '6.14.16',\n ares: '1.18.1',\n brotli: '1.0.9',\n cldr: '40.0',\n icu: '70.1',\n llhttp: '2.1.4',\n modules: '83',\n napi: '8',\n nghttp2: '1.42.0',\n node: '14.19.1',\n openssl: '1.1.1n',\n tz: '2021a3',\n unicode: '14.0',\n uv: '1.42.0',\n v8: '8.4.371.23-node.85',\n zlib: '1.2.11'\n}\n};\n"],"file":"versionInfo.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-panes",
3
- "version": "3.5.22-25afa55a",
3
+ "version": "3.5.23-4529a705",
4
4
  "description": "Solid-compatible Panes: applets and views for the mashlib and databrowser",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -48,7 +48,7 @@
48
48
  "activitystreams-pane": "^0.6.5",
49
49
  "chat-pane": "^2.4.17",
50
50
  "contacts-pane": "^2.6.2",
51
- "folder-pane": "^2.4.15",
51
+ "folder-pane": "^2.4.16",
52
52
  "issue-pane": "^2.4.11",
53
53
  "marked": "^4.0.12",
54
54
  "meeting-pane": "^2.3.10",
@@ -58,7 +58,7 @@
58
58
  "rdflib": "^2.2.19",
59
59
  "solid-logic": "^1.3.16",
60
60
  "solid-namespace": "^0.5.2",
61
- "solid-ui": "^2.4.20",
61
+ "solid-ui": "^2.4.21",
62
62
  "source-pane": "^2.2.16"
63
63
  },
64
64
  "devDependencies": {
package/src/imagePane.js CHANGED
@@ -10,12 +10,12 @@ module.exports = {
10
10
  name: 'image',
11
11
 
12
12
  label: function (subject, context) {
13
- const kb = context.session.store
13
+ const store = context.session.store
14
14
  if (
15
- !kb.anyStatementMatching(
15
+ !store.anyStatementMatching(
16
16
  subject,
17
17
  UI.ns.rdf('type'),
18
- kb.sym('http://purl.org/dc/terms/Image')
18
+ store.sym('http://purl.org/dc/terms/Image')
19
19
  )
20
20
  ) {
21
21
  // NB: Not dc: namespace!
@@ -24,8 +24,8 @@ module.exports = {
24
24
 
25
25
  // See also the source pane, which has lower precedence.
26
26
 
27
- const contentTypeMatch = function (kb, x, contentTypes) {
28
- const cts = kb.fetcher.getHeader(x, 'content-type')
27
+ const contentTypeMatch = function (store, x, contentTypes) {
28
+ const cts = store.fetcher.getHeader(x, 'content-type')
29
29
  if (cts) {
30
30
  for (let j = 0; j < cts.length; j++) {
31
31
  for (let k = 0; k < contentTypes.length; k++) {
@@ -39,7 +39,7 @@ module.exports = {
39
39
  }
40
40
 
41
41
  const suppressed = ['application/pdf']
42
- if (contentTypeMatch(kb, subject, suppressed)) {
42
+ if (contentTypeMatch(store, subject, suppressed)) {
43
43
  return null
44
44
  }
45
45
  return 'view'
@@ -47,10 +47,21 @@ module.exports = {
47
47
 
48
48
  render: function (subject, context) {
49
49
  const myDocument = context.dom
50
+ const store = context.session.store
50
51
  const div = myDocument.createElement('div')
51
52
  div.setAttribute('class', 'imageView')
52
53
  const img = myDocument.createElement('IMG')
53
- img.setAttribute('src', subject.uri) // w640 h480
54
+
55
+ // get image with authenticated fetch
56
+ store.fetcher._fetch(subject.uri)
57
+ .then(function(response) {
58
+ return response.blob()
59
+ })
60
+ .then(function(myBlob) {
61
+ const objectURL = URL.createObjectURL(myBlob)
62
+ img.setAttribute('src', objectURL) // w640 h480 //
63
+ })
64
+
54
65
  img.setAttribute('style', 'max-width: 100%; max-height: 100%;')
55
66
  // div.style['max-width'] = '640'
56
67
  // div.style['max-height'] = '480'
@@ -18,11 +18,11 @@ module.exports = {
18
18
 
19
19
  // Does the subject deserve an slideshow pane?
20
20
  label: function (subject, context) {
21
- const kb = context.session.store
21
+ const store = context.session.store
22
22
  const ns = UI.ns
23
- const t = kb.findTypeURIs(subject)
23
+ const t = store.findTypeURIs(subject)
24
24
  if (t[ns.ldp('Container').uri] || t[ns.ldp('BasicContainer').uri]) {
25
- const contents = kb.each(subject, ns.ldp('contains'))
25
+ const contents = store.each(subject, ns.ldp('contains'))
26
26
  let count = 0
27
27
  contents.forEach(function (file) {
28
28
  if (UI.widgets.isImage(file)) count++
@@ -40,24 +40,33 @@ module.exports = {
40
40
  'https://leemark.github.io/better-simple-slideshow/css/simple-slideshow-styles.css'
41
41
  UI.widgets.addStyleSheet(dom, styleSheet)
42
42
 
43
- const kb = context.session.store
43
+ const store = context.session.store
44
44
  const ns = UI.ns
45
45
  const div = dom.createElement('div')
46
46
  div.setAttribute('class', 'bss-slides')
47
47
 
48
- const t = kb.findTypeURIs(subject)
48
+ const t = store.findTypeURIs(subject)
49
49
  let predicate
50
50
  if (t[ns.ldp('BasicContainer').uri] || t[ns.ldp('Container').uri]) {
51
51
  predicate = ns.ldp('contains')
52
52
  }
53
- const images = kb.each(subject, predicate) // @@ random order?
53
+ const images = store.each(subject, predicate) // @@ random order?
54
54
  // @@ Ideally: sort by embedded time of image
55
55
  images.sort() // Sort for now by URI
56
56
  for (let i = 0; i < images.length; i++) {
57
57
  if (!UI.widgets.isImage(images[i])) continue
58
58
  const figure = div.appendChild(dom.createElement('figure'))
59
59
  const img = figure.appendChild(dom.createElement('img'))
60
- img.setAttribute('src', images[i].uri)
60
+
61
+ // get image with authenticated fetch
62
+ store.fetcher._fetch(images[i].uri)
63
+ .then(function(response) {
64
+ return response.blob()
65
+ })
66
+ .then(function(myBlob) {
67
+ const objectURL = URL.createObjectURL(myBlob)
68
+ img.setAttribute('src', objectURL) // w640 h480 //
69
+ })
61
70
  img.setAttribute('width', '100%')
62
71
  figure.appendChild(dom.createElement('figcaption'))
63
72
  }
@@ -1,9 +1,9 @@
1
1
  export default {
2
- buildTime: "2022-03-31T15:18:20Z",
3
- commit: "25afa55a8a7a354ac27383f1118031db5666869f",
2
+ buildTime: "2022-04-12T09:19:13Z",
3
+ commit: "4529a705c0f4b8e1c1ae3638d5e1fe0e2748ef7e",
4
4
  npmInfo:
5
5
  {
6
- 'solid-panes': '3.5.22',
6
+ 'solid-panes': '3.5.23',
7
7
  npm: '6.14.16',
8
8
  ares: '1.18.1',
9
9
  brotli: '1.0.9',
@@ -13,8 +13,8 @@ npmInfo:
13
13
  modules: '83',
14
14
  napi: '8',
15
15
  nghttp2: '1.42.0',
16
- node: '14.19.0',
17
- openssl: '1.1.1m',
16
+ node: '14.19.1',
17
+ openssl: '1.1.1n',
18
18
  tz: '2021a3',
19
19
  unicode: '14.0',
20
20
  uv: '1.42.0',