@startinblox/core 0.17.21-beta.9 → 0.17.22

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.
Files changed (260) hide show
  1. package/package.json +2 -2
  2. package/dist/_snowpack/env.js +0 -3
  3. package/dist/_snowpack/pkg/autolinker.js +0 -4281
  4. package/dist/_snowpack/pkg/autolinker.js.map +0 -1
  5. package/dist/_snowpack/pkg/autolinker.js.map.proxy.js +0 -1
  6. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js +0 -377
  7. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map +0 -1
  8. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map.proxy.js +0 -1
  9. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js +0 -22
  10. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map +0 -1
  11. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map.proxy.js +0 -1
  12. package/dist/_snowpack/pkg/common/decode-a4c334cf.js +0 -216
  13. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map +0 -1
  14. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map.proxy.js +0 -1
  15. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js +0 -1119
  16. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map +0 -1
  17. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map.proxy.js +0 -1
  18. package/dist/_snowpack/pkg/delta-markdown-for-quill.js +0 -25677
  19. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map +0 -1
  20. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map.proxy.js +0 -1
  21. package/dist/_snowpack/pkg/dialog-polyfill.js +0 -859
  22. package/dist/_snowpack/pkg/dialog-polyfill.js.map +0 -1
  23. package/dist/_snowpack/pkg/dialog-polyfill.js.map.proxy.js +0 -1
  24. package/dist/_snowpack/pkg/fusejs.js +0 -1783
  25. package/dist/_snowpack/pkg/fusejs.js.map +0 -1
  26. package/dist/_snowpack/pkg/fusejs.js.map.proxy.js +0 -1
  27. package/dist/_snowpack/pkg/import-map.json +0 -23
  28. package/dist/_snowpack/pkg/jsonld-context-parser.js +0 -804
  29. package/dist/_snowpack/pkg/jsonld-context-parser.js.map +0 -1
  30. package/dist/_snowpack/pkg/jsonld-context-parser.js.map.proxy.js +0 -1
  31. package/dist/_snowpack/pkg/leaflet/dist/leaflet.css +0 -640
  32. package/dist/_snowpack/pkg/leaflet/dist/leaflet.css.proxy.js +0 -10
  33. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css +0 -60
  34. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css.proxy.js +0 -10
  35. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css +0 -14
  36. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css.proxy.js +0 -10
  37. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js +0 -40
  38. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map +0 -1
  39. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map.proxy.js +0 -1
  40. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js +0 -46
  41. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map +0 -1
  42. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map.proxy.js +0 -1
  43. package/dist/_snowpack/pkg/lit-html/directives/until.js +0 -88
  44. package/dist/_snowpack/pkg/lit-html/directives/until.js.map +0 -1
  45. package/dist/_snowpack/pkg/lit-html/directives/until.js.map.proxy.js +0 -1
  46. package/dist/_snowpack/pkg/lit-html.js +0 -92
  47. package/dist/_snowpack/pkg/lit-html.js.map +0 -1
  48. package/dist/_snowpack/pkg/lit-html.js.map.proxy.js +0 -1
  49. package/dist/_snowpack/pkg/markdown-it.js +0 -11860
  50. package/dist/_snowpack/pkg/markdown-it.js.map +0 -1
  51. package/dist/_snowpack/pkg/markdown-it.js.map.proxy.js +0 -1
  52. package/dist/_snowpack/pkg/quill/dist/quill.snow.css +0 -945
  53. package/dist/_snowpack/pkg/quill/dist/quill.snow.css.proxy.js +0 -10
  54. package/dist/_snowpack/pkg/quill-delta-to-markdown.js +0 -1029
  55. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map +0 -1
  56. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map.proxy.js +0 -1
  57. package/dist/_snowpack/pkg/quill.js +0 -13382
  58. package/dist/_snowpack/pkg/quill.js.map +0 -1
  59. package/dist/_snowpack/pkg/quill.js.map.proxy.js +0 -1
  60. package/dist/_snowpack/pkg/slim-select.js +0 -4
  61. package/dist/_snowpack/pkg/slim-select.js.map +0 -1
  62. package/dist/_snowpack/pkg/slim-select.js.map.proxy.js +0 -1
  63. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css +0 -1164
  64. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js +0 -10
  65. package/dist/_snowpack/pkg/tui-calendar.js +0 -42285
  66. package/dist/_snowpack/pkg/tui-calendar.js.map +0 -1
  67. package/dist/_snowpack/pkg/tui-calendar.js.map.proxy.js +0 -1
  68. package/dist/components/solid-ac-checker.js +0 -51
  69. package/dist/components/solid-ac-checker.js.map +0 -1
  70. package/dist/components/solid-calendar.js +0 -87
  71. package/dist/components/solid-calendar.js.map +0 -1
  72. package/dist/components/solid-delete.js +0 -111
  73. package/dist/components/solid-delete.js.map +0 -1
  74. package/dist/components/solid-display.js +0 -194
  75. package/dist/components/solid-display.js.map +0 -1
  76. package/dist/components/solid-form-search.js +0 -226
  77. package/dist/components/solid-form-search.js.map +0 -1
  78. package/dist/components/solid-form.js +0 -354
  79. package/dist/components/solid-form.js.map +0 -1
  80. package/dist/components/solid-lang.js +0 -46
  81. package/dist/components/solid-lang.js.map +0 -1
  82. package/dist/components/solid-map.js +0 -242
  83. package/dist/components/solid-map.js.map +0 -1
  84. package/dist/components/solid-table.js +0 -263
  85. package/dist/components/solid-table.js.map +0 -1
  86. package/dist/components/solid-widget.js +0 -94
  87. package/dist/components/solid-widget.js.map +0 -1
  88. package/dist/import.css +0 -4
  89. package/dist/index.js +0 -43
  90. package/dist/index.js.map +0 -1
  91. package/dist/libs/Component.js +0 -19
  92. package/dist/libs/Component.js.map +0 -1
  93. package/dist/libs/ComponentFactory.js +0 -196
  94. package/dist/libs/ComponentFactory.js.map +0 -1
  95. package/dist/libs/Compositor.js +0 -103
  96. package/dist/libs/Compositor.js.map +0 -1
  97. package/dist/libs/Sib.js +0 -58
  98. package/dist/libs/Sib.js.map +0 -1
  99. package/dist/libs/filter.js +0 -214
  100. package/dist/libs/filter.js.map +0 -1
  101. package/dist/libs/helpers.js +0 -219
  102. package/dist/libs/helpers.js.map +0 -1
  103. package/dist/libs/interfaces.js +0 -6
  104. package/dist/libs/interfaces.js.map +0 -1
  105. package/dist/libs/lit-helpers.js +0 -169
  106. package/dist/libs/lit-helpers.js.map +0 -1
  107. package/dist/libs/polyfills.js +0 -40
  108. package/dist/libs/polyfills.js.map +0 -1
  109. package/dist/libs/store/store.js +0 -863
  110. package/dist/libs/store/store.js.map +0 -1
  111. package/dist/locales/en.json +0 -10
  112. package/dist/locales/en.json.proxy.js +0 -2
  113. package/dist/locales/fr.json +0 -10
  114. package/dist/locales/fr.json.proxy.js +0 -2
  115. package/dist/mixins/attributeBinderMixin.js +0 -124
  116. package/dist/mixins/attributeBinderMixin.js.map +0 -1
  117. package/dist/mixins/contextMixin.js +0 -28
  118. package/dist/mixins/contextMixin.js.map +0 -1
  119. package/dist/mixins/counterMixin.js +0 -75
  120. package/dist/mixins/counterMixin.js.map +0 -1
  121. package/dist/mixins/federationMixin.js +0 -63
  122. package/dist/mixins/federationMixin.js.map +0 -1
  123. package/dist/mixins/filterMixin.js +0 -136
  124. package/dist/mixins/filterMixin.js.map +0 -1
  125. package/dist/mixins/grouperMixin.js +0 -80
  126. package/dist/mixins/grouperMixin.js.map +0 -1
  127. package/dist/mixins/highlighterMixin.js +0 -42
  128. package/dist/mixins/highlighterMixin.js.map +0 -1
  129. package/dist/mixins/interfaces.js +0 -8
  130. package/dist/mixins/interfaces.js.map +0 -1
  131. package/dist/mixins/listMixin.js +0 -136
  132. package/dist/mixins/listMixin.js.map +0 -1
  133. package/dist/mixins/nextMixin.js +0 -26
  134. package/dist/mixins/nextMixin.js.map +0 -1
  135. package/dist/mixins/paginateMixin.js +0 -110
  136. package/dist/mixins/paginateMixin.js.map +0 -1
  137. package/dist/mixins/requiredMixin.js +0 -34
  138. package/dist/mixins/requiredMixin.js.map +0 -1
  139. package/dist/mixins/sorterMixin.js +0 -149
  140. package/dist/mixins/sorterMixin.js.map +0 -1
  141. package/dist/mixins/storeMixin.js +0 -102
  142. package/dist/mixins/storeMixin.js.map +0 -1
  143. package/dist/mixins/translationMixin.js +0 -68
  144. package/dist/mixins/translationMixin.js.map +0 -1
  145. package/dist/mixins/validationMixin.js +0 -113
  146. package/dist/mixins/validationMixin.js.map +0 -1
  147. package/dist/mixins/widgetMixin.js +0 -447
  148. package/dist/mixins/widgetMixin.js.map +0 -1
  149. package/dist/new-widgets/attributeMixins/actionMixin.js +0 -14
  150. package/dist/new-widgets/attributeMixins/actionMixin.js.map +0 -1
  151. package/dist/new-widgets/attributeMixins/blankMixin.js +0 -10
  152. package/dist/new-widgets/attributeMixins/blankMixin.js.map +0 -1
  153. package/dist/new-widgets/attributeMixins/booleanMixin.js +0 -10
  154. package/dist/new-widgets/attributeMixins/booleanMixin.js.map +0 -1
  155. package/dist/new-widgets/attributeMixins/index.js +0 -20
  156. package/dist/new-widgets/attributeMixins/index.js.map +0 -1
  157. package/dist/new-widgets/attributeMixins/mailtoMixin.js +0 -10
  158. package/dist/new-widgets/attributeMixins/mailtoMixin.js.map +0 -1
  159. package/dist/new-widgets/attributeMixins/multipleMixin.js +0 -28
  160. package/dist/new-widgets/attributeMixins/multipleMixin.js.map +0 -1
  161. package/dist/new-widgets/attributeMixins/numberMixin.js +0 -10
  162. package/dist/new-widgets/attributeMixins/numberMixin.js.map +0 -1
  163. package/dist/new-widgets/attributeMixins/placeholderMixin.js +0 -19
  164. package/dist/new-widgets/attributeMixins/placeholderMixin.js.map +0 -1
  165. package/dist/new-widgets/attributeMixins/telMixin.js +0 -10
  166. package/dist/new-widgets/attributeMixins/telMixin.js.map +0 -1
  167. package/dist/new-widgets/baseWidgetMixin.js +0 -122
  168. package/dist/new-widgets/baseWidgetMixin.js.map +0 -1
  169. package/dist/new-widgets/callbackMixins/autocompletionMixin.js +0 -104
  170. package/dist/new-widgets/callbackMixins/autocompletionMixin.js.map +0 -1
  171. package/dist/new-widgets/callbackMixins/index.js +0 -8
  172. package/dist/new-widgets/callbackMixins/index.js.map +0 -1
  173. package/dist/new-widgets/callbackMixins/richtextMixin.js +0 -42
  174. package/dist/new-widgets/callbackMixins/richtextMixin.js.map +0 -1
  175. package/dist/new-widgets/callbackMixins/slimselect.css +0 -2
  176. package/dist/new-widgets/callbackMixins/slimselect.css.proxy.js +0 -10
  177. package/dist/new-widgets/new-widget-factory.js +0 -96
  178. package/dist/new-widgets/new-widget-factory.js.map +0 -1
  179. package/dist/new-widgets/templateAdditionMixins/addableMixin.js +0 -41
  180. package/dist/new-widgets/templateAdditionMixins/addableMixin.js.map +0 -1
  181. package/dist/new-widgets/templateAdditionMixins/index.js +0 -14
  182. package/dist/new-widgets/templateAdditionMixins/index.js.map +0 -1
  183. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js +0 -29
  184. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js.map +0 -1
  185. package/dist/new-widgets/templateAdditionMixins/labelMixin.js +0 -31
  186. package/dist/new-widgets/templateAdditionMixins/labelMixin.js.map +0 -1
  187. package/dist/new-widgets/templates/defaultTemplatesDirectory.js +0 -36
  188. package/dist/new-widgets/templates/defaultTemplatesDirectory.js.map +0 -1
  189. package/dist/new-widgets/templates/displayTemplatesDirectory.js +0 -90
  190. package/dist/new-widgets/templates/displayTemplatesDirectory.js.map +0 -1
  191. package/dist/new-widgets/templates/formTemplatesDirectory.js +0 -397
  192. package/dist/new-widgets/templates/formTemplatesDirectory.js.map +0 -1
  193. package/dist/new-widgets/templates/groupTemplatesDirectory.js +0 -21
  194. package/dist/new-widgets/templates/groupTemplatesDirectory.js.map +0 -1
  195. package/dist/new-widgets/templates/index.js +0 -7
  196. package/dist/new-widgets/templates/index.js.map +0 -1
  197. package/dist/new-widgets/templates/setTemplatesDirectory.js +0 -49
  198. package/dist/new-widgets/templates/setTemplatesDirectory.js.map +0 -1
  199. package/dist/new-widgets/templatesDependencies/altMixin.js +0 -13
  200. package/dist/new-widgets/templatesDependencies/altMixin.js.map +0 -1
  201. package/dist/new-widgets/templatesDependencies/editableMixin.js +0 -77
  202. package/dist/new-widgets/templatesDependencies/editableMixin.js.map +0 -1
  203. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js +0 -38
  204. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js.map +0 -1
  205. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js +0 -14
  206. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js.map +0 -1
  207. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js +0 -51
  208. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js.map +0 -1
  209. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js +0 -66
  210. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js.map +0 -1
  211. package/dist/new-widgets/templatesDependencies/formFileMixin.js +0 -81
  212. package/dist/new-widgets/templatesDependencies/formFileMixin.js.map +0 -1
  213. package/dist/new-widgets/templatesDependencies/formLengthMixin.js +0 -19
  214. package/dist/new-widgets/templatesDependencies/formLengthMixin.js.map +0 -1
  215. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js +0 -19
  216. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js.map +0 -1
  217. package/dist/new-widgets/templatesDependencies/formMixin.js +0 -66
  218. package/dist/new-widgets/templatesDependencies/formMixin.js.map +0 -1
  219. package/dist/new-widgets/templatesDependencies/formNumberMixin.js +0 -14
  220. package/dist/new-widgets/templatesDependencies/formNumberMixin.js.map +0 -1
  221. package/dist/new-widgets/templatesDependencies/formRadioMixin.js +0 -16
  222. package/dist/new-widgets/templatesDependencies/formRadioMixin.js.map +0 -1
  223. package/dist/new-widgets/templatesDependencies/formStepMixin.js +0 -13
  224. package/dist/new-widgets/templatesDependencies/formStepMixin.js.map +0 -1
  225. package/dist/new-widgets/templatesDependencies/linkTextMixin.js +0 -14
  226. package/dist/new-widgets/templatesDependencies/linkTextMixin.js.map +0 -1
  227. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js +0 -125
  228. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js.map +0 -1
  229. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js +0 -74
  230. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js.map +0 -1
  231. package/dist/new-widgets/templatesDependencies/patternMixin.js +0 -19
  232. package/dist/new-widgets/templatesDependencies/patternMixin.js.map +0 -1
  233. package/dist/new-widgets/templatesDependencies/rangeMixin.js +0 -110
  234. package/dist/new-widgets/templatesDependencies/rangeMixin.js.map +0 -1
  235. package/dist/new-widgets/templatesDependencies/setMixin.js +0 -12
  236. package/dist/new-widgets/templatesDependencies/setMixin.js.map +0 -1
  237. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js +0 -12
  238. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js.map +0 -1
  239. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js +0 -18
  240. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js.map +0 -1
  241. package/dist/new-widgets/valueTransformationMixins/dateMixin.js +0 -35
  242. package/dist/new-widgets/valueTransformationMixins/dateMixin.js.map +0 -1
  243. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js +0 -16
  244. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js.map +0 -1
  245. package/dist/new-widgets/valueTransformationMixins/index.js +0 -16
  246. package/dist/new-widgets/valueTransformationMixins/index.js.map +0 -1
  247. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js +0 -25
  248. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js.map +0 -1
  249. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js +0 -17
  250. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js.map +0 -1
  251. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js +0 -27
  252. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js.map +0 -1
  253. package/dist/solid-template-element.js +0 -164
  254. package/dist/solid-template-element.js.map +0 -1
  255. package/dist/style/default-theme.css +0 -24
  256. package/dist/style/default-theme.css.proxy.js +0 -10
  257. package/dist/widgets/baseWidget.js +0 -332
  258. package/dist/widgets/baseWidget.js.map +0 -1
  259. package/dist/widgets/widget-factory.js +0 -24
  260. package/dist/widgets/widget-factory.js.map +0 -1
@@ -1 +0,0 @@
1
- export default "/_snowpack/pkg/tui-calendar.js.map";
@@ -1,51 +0,0 @@
1
- import JSONLDContextParser from '../_snowpack/pkg/jsonld-context-parser.js';
2
- import { Sib } from '../libs/Sib.js';
3
- import { StoreMixin } from '../mixins/storeMixin.js';
4
- export const SolidAcChecker = {
5
- name: 'solid-ac-checker',
6
- use: [StoreMixin],
7
- attributes: {
8
- permission: {
9
- type: String,
10
- default: ''
11
- },
12
- noPermission: {
13
- type: String,
14
- default: ''
15
- }
16
- },
17
-
18
- async populate() {
19
- if (!this.resource) return;
20
- let displayElement;
21
- const ContextParser = JSONLDContextParser.ContextParser;
22
- const myParser = new ContextParser();
23
- const context = await myParser.parse(this.context);
24
- const permissions = await this.resource.permissions;
25
-
26
- if (this.permission) {
27
- // User has permission of ...
28
- displayElement = permissions.some(p => {
29
- return ContextParser.compactIri(p, context) === this.permission;
30
- });
31
- } else if (this.noPermission) {
32
- // User has no permission of ...
33
- displayElement = permissions.every(p => {
34
- return ContextParser.compactIri(p, context) !== this.noPermission;
35
- });
36
- } else {
37
- // No parameter provided
38
- console.warn('solid-ac-checker: you should define at least one of "permission" or "no-permission" attribute.');
39
- return;
40
- }
41
-
42
- if (displayElement) this.element.removeAttribute('hidden');
43
- },
44
-
45
- empty() {
46
- this.element.setAttribute('hidden', '');
47
- }
48
-
49
- };
50
- Sib.register(SolidAcChecker);
51
- //# sourceMappingURL=solid-ac-checker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["solid-ac-checker.ts"],"names":["JSONLDContextParser","Sib","StoreMixin","SolidAcChecker","name","use","attributes","permission","type","String","default","noPermission","populate","resource","displayElement","ContextParser","myParser","context","parse","permissions","some","p","compactIri","every","console","warn","element","removeAttribute","empty","setAttribute","register"],"mappings":"AAAA,OAAOA,mBAAP,MAAgC,uBAAhC;AACA,SAASC,GAAT,QAAoB,aAApB;AACA,SAASC,UAAT,QAA2B,sBAA3B;AAEA,OAAO,MAAMC,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,kBADsB;AAE5BC,EAAAA,GAAG,EAAE,CAACH,UAAD,CAFuB;AAG5BI,EAAAA,UAAU,EAAE;AACVC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAEC,MADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KADF;AAKVC,IAAAA,YAAY,EAAE;AACZH,MAAAA,IAAI,EAAEC,MADM;AAEZC,MAAAA,OAAO,EAAE;AAFG;AALJ,GAHgB;;AAc5B,QAAME,QAAN,GAAgC;AAC9B,QAAI,CAAC,KAAKC,QAAV,EAAoB;AACpB,QAAIC,cAAJ;AACA,UAAMC,aAAa,GAAGf,mBAAmB,CAACe,aAA1C;AACA,UAAMC,QAAQ,GAAG,IAAID,aAAJ,EAAjB;AACA,UAAME,OAAO,GAAG,MAAMD,QAAQ,CAACE,KAAT,CAAe,KAAKD,OAApB,CAAtB;AACA,UAAME,WAAW,GAAG,MAAM,KAAKN,QAAL,CAAcM,WAAxC;;AAEA,QAAI,KAAKZ,UAAT,EAAqB;AAAE;AACrBO,MAAAA,cAAc,GAAGK,WAAW,CAACC,IAAZ,CAAkBC,CAAD,IAAW;AAC3C,eAAON,aAAa,CAACO,UAAd,CAAyBD,CAAzB,EAA4BJ,OAA5B,MAAyC,KAAKV,UAArD;AACD,OAFgB,CAAjB;AAGD,KAJD,MAIO,IAAI,KAAKI,YAAT,EAAuB;AAAE;AAC9BG,MAAAA,cAAc,GAAGK,WAAW,CAACI,KAAZ,CAAmBF,CAAD,IAAW;AAC5C,eAAON,aAAa,CAACO,UAAd,CAAyBD,CAAzB,EAA4BJ,OAA5B,MAAyC,KAAKN,YAArD;AACD,OAFgB,CAAjB;AAGD,KAJM,MAIA;AAAE;AACPa,MAAAA,OAAO,CAACC,IAAR,CAAa,gGAAb;AACA;AACD;;AAED,QAAIX,cAAJ,EAAoB,KAAKY,OAAL,CAAaC,eAAb,CAA6B,QAA7B;AACrB,GApC2B;;AAqC5BC,EAAAA,KAAK,GAAS;AACZ,SAAKF,OAAL,CAAaG,YAAb,CAA0B,QAA1B,EAAoC,EAApC;AACD;;AAvC2B,CAAvB;AA0CP5B,GAAG,CAAC6B,QAAJ,CAAa3B,cAAb","sourcesContent":["import JSONLDContextParser from 'jsonld-context-parser';\nimport { Sib } from '../libs/Sib';\nimport { StoreMixin } from '../mixins/storeMixin';\n\nexport const SolidAcChecker = {\n name: 'solid-ac-checker',\n use: [StoreMixin],\n attributes: {\n permission: {\n type: String,\n default: '',\n },\n noPermission: {\n type: String,\n default: '',\n }\n },\n\n async populate(): Promise<void> {\n if (!this.resource) return;\n let displayElement: boolean;\n const ContextParser = JSONLDContextParser.ContextParser;\n const myParser = new ContextParser();\n const context = await myParser.parse(this.context);\n const permissions = await this.resource.permissions;\n\n if (this.permission) { // User has permission of ...\n displayElement = permissions.some((p:any) => {\n return ContextParser.compactIri(p, context) === this.permission;\n });\n } else if (this.noPermission) { // User has no permission of ...\n displayElement = permissions.every((p:any) => {\n return ContextParser.compactIri(p, context) !== this.noPermission;\n });\n } else { // No parameter provided\n console.warn('solid-ac-checker: you should define at least one of \"permission\" or \"no-permission\" attribute.');\n return;\n }\n\n if (displayElement) this.element.removeAttribute('hidden');\n },\n empty(): void {\n this.element.setAttribute('hidden', '');\n }\n};\n\nSib.register(SolidAcChecker);"]}
@@ -1,87 +0,0 @@
1
- function _templateObject() {
2
- const data = _taggedTemplateLiteral(["\n <div id=", " style=\"width:100%;height:100%;\"></div>\n "]);
3
-
4
- _templateObject = function () {
5
- return data;
6
- };
7
-
8
- return data;
9
- }
10
-
11
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
12
-
13
- import { Sib } from '../libs/Sib.js';
14
- import { ListMixin } from '../mixins/listMixin.js';
15
- import { StoreMixin } from '../mixins/storeMixin.js';
16
- import { NextMixin } from '../mixins/nextMixin.js';
17
- import { store } from '../libs/store/store.js';
18
- import { uniqID } from '../libs/helpers.js';
19
- import Calendar from '../_snowpack/pkg/tui-calendar.js';
20
- import { html, render } from '../_snowpack/pkg/lit-html.js';
21
- export const SolidCalendar = {
22
- name: 'solid-calendar',
23
- use: [ListMixin, StoreMixin, NextMixin],
24
- initialState: {
25
- subscriptions: null
26
- },
27
-
28
- created() {
29
- //@ts-ignore
30
- import("../_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js");
31
- const id = uniqID();
32
- const template = html(_templateObject(), id);
33
- render(template, this.element);
34
- this.calendar = new Calendar(this.element.querySelector("#".concat(id)), {
35
- defaultView: 'month'
36
- });
37
- this.calendar.on('clickSchedule', this.dispatchSelect.bind(this));
38
- this.subscriptions = new Map();
39
- },
40
-
41
- get extra_context() {
42
- return {
43
- date: "http://www.w3.org/2001/XMLSchema#dateTime"
44
- };
45
- },
46
-
47
- dispatchSelect(event) {
48
- const resource = {
49
- '@id': event['schedule'].id
50
- };
51
- this.element.dispatchEvent(new CustomEvent('resourceSelect', {
52
- detail: {
53
- resource: resource
54
- }
55
- }));
56
- this.goToNext(resource);
57
- },
58
-
59
- async appendChildElt(resourceId) {
60
- const resource = await store.getData(resourceId, this.context);
61
- if (!resource) return;
62
-
63
- if (!this.subscriptions.get(resourceId)) {
64
- this.subscriptions.set(resourceId, PubSub.subscribe(resourceId, () => this.updateDOM()));
65
- } // TODO : mixin gestion des enfants
66
-
67
-
68
- const date = await resource['date'];
69
- const name = await resource['name'];
70
-
71
- if (name && date) {
72
- this.calendar.createSchedules([{
73
- id: resource['@id'],
74
- title: name.toString(),
75
- category: 'time',
76
- start: date.toString()
77
- }]);
78
- }
79
- },
80
-
81
- empty() {
82
- this.calendar.clear();
83
- }
84
-
85
- };
86
- Sib.register(SolidCalendar);
87
- //# sourceMappingURL=solid-calendar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["solid-calendar.ts"],"names":["Sib","ListMixin","StoreMixin","NextMixin","store","uniqID","Calendar","html","render","SolidCalendar","name","use","initialState","subscriptions","created","id","template","element","calendar","querySelector","defaultView","on","dispatchSelect","bind","Map","extra_context","date","event","resource","dispatchEvent","CustomEvent","detail","goToNext","appendChildElt","resourceId","getData","context","get","set","PubSub","subscribe","updateDOM","createSchedules","title","toString","category","start","empty","clear","register"],"mappings":"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","sourcesContent":["import { Sib } from '../libs/Sib';\nimport { ListMixin } from '../mixins/listMixin';\nimport { StoreMixin } from '../mixins/storeMixin';\nimport { NextMixin } from '../mixins/nextMixin';\nimport { store } from '../libs/store/store';\nimport { uniqID } from '../libs/helpers';\n\nimport Calendar from 'tui-calendar';\nimport { html, render } from 'lit-html';\n\nexport const SolidCalendar = {\n name: 'solid-calendar',\n use: [\n ListMixin,\n StoreMixin,\n NextMixin\n ],\n initialState: {\n subscriptions: null\n },\n created(): void {\n //@ts-ignore\n import('tui-calendar/dist/tui-calendar.css');\n const id = uniqID();\n const template = html`\n <div id=${id} style=\"width:100%;height:100%;\"></div>\n `;\n render(template, this.element);\n this.calendar = new Calendar(this.element.querySelector(`#${id}`), { defaultView: 'month' });\n this.calendar.on('clickSchedule', this.dispatchSelect.bind(this));\n this.subscriptions = new Map();\n },\n get extra_context(): object {\n return { date: \"http://www.w3.org/2001/XMLSchema#dateTime\" }\n },\n dispatchSelect(event: Event): void {\n const resource = { '@id': event['schedule'].id };\n this.element.dispatchEvent(\n new CustomEvent('resourceSelect', { detail: { resource: resource } }),\n );\n this.goToNext(resource);\n },\n async appendChildElt(resourceId: string) {\n const resource = await store.getData(resourceId, this.context);\n if(!resource) return;\n if (!this.subscriptions.get(resourceId)) {\n this.subscriptions.set(resourceId, PubSub.subscribe(resourceId, () => this.updateDOM()))\n } // TODO : mixin gestion des enfants\n const date = await resource['date'];\n const name = await resource['name'];\n\n if (name && date) {\n this.calendar.createSchedules([\n {\n id: resource['@id'],\n title: name.toString(),\n category: 'time',\n start: date.toString(),\n },\n ]);\n }\n },\n empty(): void {\n this.calendar.clear();\n }\n};\n\nSib.register(SolidCalendar);"]}
@@ -1,111 +0,0 @@
1
- function _templateObject() {
2
- const data = _taggedTemplateLiteral(["\n <button @click=", ">", "</button>\n ", "\n "]);
3
-
4
- _templateObject = function () {
5
- return data;
6
- };
7
-
8
- return data;
9
- }
10
-
11
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
12
-
13
- import { Sib } from '../libs/Sib.js';
14
- import { base_context, store } from '../libs/store/store.js';
15
- import { NextMixin } from '../mixins/nextMixin.js';
16
- import { ValidationMixin } from '../mixins/validationMixin.js';
17
- import { AttributeBinderMixin } from '../mixins/attributeBinderMixin.js';
18
- import { html, render } from '../_snowpack/pkg/lit-html.js';
19
- export const SolidDelete = {
20
- name: 'solid-delete',
21
- use: [NextMixin, ValidationMixin, AttributeBinderMixin],
22
- attributes: {
23
- dataSrc: {
24
- type: String,
25
- default: null,
26
- callback: function () {
27
- this.resourceId = this.dataSrc;
28
- }
29
- },
30
- dataLabel: {
31
- type: String,
32
- default: null,
33
- callback: function (newValue, oldValue) {
34
- if (newValue !== oldValue) this.planRender();
35
- }
36
- },
37
- extraContext: {
38
- type: String,
39
- default: null
40
- }
41
- },
42
- initialState: {
43
- renderPlanned: false
44
- },
45
-
46
- created() {
47
- this.planRender();
48
- },
49
-
50
- planRender() {
51
- if (!this.renderPlanned) {
52
- this.renderPlanned = true;
53
- setTimeout(() => {
54
- this.render();
55
- this.renderPlanned = false;
56
- });
57
- }
58
- },
59
-
60
- get context() {
61
- let extraContextElement = this.extraContext ? document.getElementById(this.extraContext) : // take element extra context first
62
- document.querySelector('[data-default-context]'); // ... or look for a default extra context
63
-
64
- let extraContext = {};
65
- if (extraContextElement) extraContext = JSON.parse(extraContextElement.textContent || "{}");
66
- return { ...base_context,
67
- ...extraContext
68
- };
69
- },
70
-
71
- async delete(e) {
72
- e.stopPropagation();
73
- if (!this.dataSrc) return;
74
- this.performAction(); // In validationMixin, method defining what to do according to the present attributes
75
- },
76
-
77
- deletion() {
78
- return store.delete(this.dataSrc, this.context).then(response => {
79
- if (!response.ok) return;
80
- this.goToNext(null);
81
- const eventData = {
82
- detail: {
83
- resource: {
84
- "@id": this.dataSrc
85
- }
86
- },
87
- bubbles: true
88
- };
89
- this.element.dispatchEvent(new CustomEvent('save', eventData));
90
- this.element.dispatchEvent(new CustomEvent('resourceDeleted', eventData)); // Deprecated. To remove in 0.15
91
- });
92
- },
93
-
94
- validateModal() {
95
- // Send method to validationMixin, used by the dialog modal and performAction method
96
- return this.deletion();
97
- },
98
-
99
- update() {
100
- this.render();
101
- },
102
-
103
- async render() {
104
- await this.replaceAttributesData(false);
105
- const button = html(_templateObject(), this.delete.bind(this), this.dataLabel || this.t("solid-delete.button"), this.getModalDialog());
106
- render(button, this.element);
107
- }
108
-
109
- };
110
- Sib.register(SolidDelete);
111
- //# sourceMappingURL=solid-delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["solid-delete.ts"],"names":["Sib","base_context","store","NextMixin","ValidationMixin","AttributeBinderMixin","html","render","SolidDelete","name","use","attributes","dataSrc","type","String","default","callback","resourceId","dataLabel","newValue","oldValue","planRender","extraContext","initialState","renderPlanned","created","setTimeout","context","extraContextElement","document","getElementById","querySelector","JSON","parse","textContent","delete","e","stopPropagation","performAction","deletion","then","response","ok","goToNext","eventData","detail","resource","bubbles","element","dispatchEvent","CustomEvent","validateModal","update","replaceAttributesData","button","bind","t","getModalDialog","register"],"mappings":"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","sourcesContent":["import { Sib } from '../libs/Sib';\nimport { base_context, store } from '../libs/store/store';\nimport { NextMixin } from '../mixins/nextMixin';\nimport { ValidationMixin } from '../mixins/validationMixin';\nimport { AttributeBinderMixin } from '../mixins/attributeBinderMixin';\n\nimport { html, render } from 'lit-html';\n\nexport const SolidDelete = {\n name: 'solid-delete',\n use: [NextMixin, ValidationMixin, AttributeBinderMixin],\n attributes: {\n dataSrc: {\n type: String,\n default: null,\n callback: function () {\n this.resourceId = this.dataSrc;\n },\n },\n dataLabel: {\n type: String,\n default: null,\n callback: function (newValue: string, oldValue: string) {\n if (newValue !== oldValue) this.planRender();\n },\n },\n extraContext: {\n type: String,\n default: null\n }\n },\n initialState: {\n renderPlanned: false,\n },\n created(): void {\n this.planRender();\n },\n planRender() {\n if (!this.renderPlanned) {\n this.renderPlanned = true;\n setTimeout(() => {\n this.render();\n this.renderPlanned = false;\n });\n }\n },\n get context(): object {\n let extraContextElement = this.extraContext ?\n document.getElementById(this.extraContext) : // take element extra context first\n document.querySelector('[data-default-context]'); // ... or look for a default extra context\n\n let extraContext = {};\n if (extraContextElement) extraContext = JSON.parse(extraContextElement.textContent || \"{}\");\n\n return { ...base_context, ...extraContext };\n },\n async delete(e: Event): Promise<void> {\n e.stopPropagation();\n if (!this.dataSrc) return;\n this.performAction(); // In validationMixin, method defining what to do according to the present attributes\n },\n deletion() {\n return store.delete(this.dataSrc, this.context).then(response => {\n if (!response.ok) return;\n this.goToNext(null);\n const eventData = { detail: { resource: { \"@id\": this.dataSrc } }, bubbles: true };\n this.element.dispatchEvent(new CustomEvent('save', eventData));\n this.element.dispatchEvent(new CustomEvent('resourceDeleted', eventData)); // Deprecated. To remove in 0.15\n })\n },\n validateModal() { // Send method to validationMixin, used by the dialog modal and performAction method\n return this.deletion();\n },\n update() {\n this.render();\n },\n async render(): Promise<void> {\n await this.replaceAttributesData(false);\n const button = html`\n <button @click=${this.delete.bind(this)}>${this.dataLabel || this.t(\"solid-delete.button\")}</button>\n ${this.getModalDialog()}\n `;\n render(button, this.element);\n }\n};\n\nSib.register(SolidDelete);"]}
@@ -1,194 +0,0 @@
1
- function _templateObject3() {
2
- const data = _taggedTemplateLiteral(["", ""]);
3
-
4
- _templateObject3 = function () {
5
- return data;
6
- };
7
-
8
- return data;
9
- }
10
-
11
- function _templateObject2() {
12
- const data = _taggedTemplateLiteral(["", ""]);
13
-
14
- _templateObject2 = function () {
15
- return data;
16
- };
17
-
18
- return data;
19
- }
20
-
21
- function _templateObject() {
22
- const data = _taggedTemplateLiteral(["\n <solid-display\n data-src=", "\n @click=", "\n @keydown=", "\n fields=", "\n ...=", "\n ></solid-display>\n "]);
23
-
24
- _templateObject = function () {
25
- return data;
26
- };
27
-
28
- return data;
29
- }
30
-
31
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
32
-
33
- import { Sib } from '../libs/Sib.js';
34
- import { WidgetMixin } from '../mixins/widgetMixin.js';
35
- import { ListMixin } from '../mixins/listMixin.js';
36
- import { StoreMixin } from '../mixins/storeMixin.js';
37
- import { PaginateMixin } from '../mixins/paginateMixin.js';
38
- import { FilterMixin } from '../mixins/filterMixin.js';
39
- import { CounterMixin } from '../mixins/counterMixin.js';
40
- import { SorterMixin } from '../mixins/sorterMixin.js';
41
- import { GrouperMixin } from '../mixins/grouperMixin.js';
42
- import { FederationMixin } from '../mixins/federationMixin.js';
43
- import { HighlighterMixin } from '../mixins/highlighterMixin.js';
44
- import { NextMixin } from '../mixins/nextMixin.js';
45
- import { RequiredMixin } from '../mixins/requiredMixin.js';
46
- import { spread } from '../libs/lit-helpers.js';
47
- import { html, render } from '../_snowpack/pkg/lit-html.js';
48
- import { ifDefined } from '../_snowpack/pkg/lit-html/directives/if-defined.js';
49
- export const SolidDisplay = {
50
- name: 'solid-display',
51
- use: [WidgetMixin, ListMixin, StoreMixin, PaginateMixin, GrouperMixin, CounterMixin, HighlighterMixin, FilterMixin, SorterMixin, RequiredMixin, FederationMixin, NextMixin],
52
- attributes: {
53
- defaultWidget: {
54
- type: String,
55
- default: 'solid-display-value'
56
- }
57
- },
58
- initialState: {
59
- activeSubscription: null,
60
- removeActiveSubscription: null
61
- },
62
-
63
- created() {
64
- // Set route active at initialization
65
- const route = document.querySelector('solid-route[active]');
66
- if (!route) return;
67
- setTimeout(() => {
68
- if (route['resourceId'] === this.resourceId) this.addActiveCallback();
69
- });
70
- },
71
-
72
- detached() {
73
- if (this.activeSubscription) PubSub.unsubscribe(this.activeSubscription);
74
- if (this.removeActiveSubscription) PubSub.unsubscribe(this.removeActiveSubscription);
75
- },
76
-
77
- // Update subscription when id changes
78
- updateNavigateSubscription() {
79
- if (this.activeSubscription) PubSub.unsubscribe(this.activeSubscription);
80
-
81
- if (this.resourceId) {
82
- this.activeSubscription = PubSub.subscribe('enterRoute.' + this.resourceId, this.addActiveCallback.bind(this));
83
- }
84
- },
85
-
86
- addActiveCallback() {
87
- this.element.setAttribute('active', '');
88
- this.removeActiveSubscription = PubSub.subscribe('leaveRoute', this.removeActiveCallback.bind(this));
89
- },
90
-
91
- removeActiveCallback() {
92
- this.element.removeAttribute('active');
93
- PubSub.unsubscribe(this.removeActiveSubscription);
94
- },
95
-
96
- get childTag() {
97
- return this.element.dataset.child || this.element.tagName;
98
- },
99
-
100
- get defaultMultipleWidget() {
101
- return 'solid-multiple';
102
- },
103
-
104
- get defaultSetWidget() {
105
- return 'solid-set-default';
106
- },
107
-
108
- // Here "even.target" points to the content of the widgets of the children of solid-display
109
- dispatchSelect(event, resourceId) {
110
- const linkTarget = event.target.closest('a');
111
- if (linkTarget && linkTarget.hasAttribute('href')) return;
112
- const resource = {
113
- "@id": resourceId
114
- };
115
- this.element.dispatchEvent(new CustomEvent('resourceSelect', {
116
- detail: {
117
- resource: resource
118
- }
119
- }));
120
- this.goToNext(resource);
121
- },
122
-
123
- enterKeydownAction(event, resourceId) {
124
- if (event.keyCode === 13) {
125
- const resource = {
126
- "@id": resourceId
127
- };
128
- this.goToNext(resource);
129
- }
130
- },
131
-
132
- /**
133
- * Returns template of a child element (resource)
134
- * @param resourceId
135
- * @param attributes
136
- */
137
- getChildTemplate(resourceId, attributes) {
138
- let template = html(_templateObject(), resourceId, event => this.dispatchSelect(event, resourceId), event => this.enterKeydownAction(event, resourceId), ifDefined(this.fields), spread(attributes));
139
- return template;
140
- },
141
-
142
- /**
143
- * Creates and render the content of a single element (resource)
144
- * @param parent
145
- */
146
- async appendSingleElt(parent) {
147
- const fields = await this.getFields();
148
- const widgetTemplates = await Promise.all( // generate all widget templates
149
- fields.map(field => this.createWidgetTemplate(field)));
150
- render(html(_templateObject2(), widgetTemplates), parent);
151
- },
152
-
153
- /**
154
- * @override listMixin method to use litHtml
155
- *
156
- * Render resources from a container
157
- * @param resources
158
- * @param listPostProcessors
159
- * @param div
160
- * @param context
161
- */
162
- async renderDOM(resources, listPostProcessors, div, context) {
163
- const attributes = this.getChildAttributes(); // get attributes of children only once
164
- // and create a child template for each resource
165
-
166
- const template = html(_templateObject3(), resources.map(r => r ? this.getChildTemplate(r['@id'], attributes) : null));
167
- render(template, div);
168
- const nextProcessor = listPostProcessors.shift();
169
- if (nextProcessor) await nextProcessor(resources, listPostProcessors, div, context);
170
- },
171
-
172
- /**
173
- * Get attributes to dispatch to children from current element
174
- */
175
- getChildAttributes() {
176
- const attributes = {};
177
-
178
- for (let attr of this.element.attributes) {
179
- //copy widget and value attributes
180
- if (attr.name.startsWith('value-') || attr.name.startsWith('label-') || attr.name.startsWith('placeholder-') || attr.name.startsWith('widget-') || attr.name.startsWith('class-') || attr.name.startsWith('multiple-') || attr.name.startsWith('editable-') || attr.name.startsWith('action-') || attr.name.startsWith('default-') || attr.name.startsWith('link-text-') || attr.name == 'extra-context') attributes[attr.name] = attr.value;
181
- if (attr.name.startsWith('child-')) attributes[attr.name.replace(/^child-/, '')] = attr.value;
182
-
183
- if (attr.name == 'next') {
184
- attributes['role'] = 'button';
185
- attributes['tabindex'] = '0';
186
- }
187
- }
188
-
189
- return attributes;
190
- }
191
-
192
- };
193
- Sib.register(SolidDisplay);
194
- //# sourceMappingURL=solid-display.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["solid-display.ts"],"names":["Sib","WidgetMixin","ListMixin","StoreMixin","PaginateMixin","FilterMixin","CounterMixin","SorterMixin","GrouperMixin","FederationMixin","HighlighterMixin","NextMixin","RequiredMixin","spread","html","render","ifDefined","SolidDisplay","name","use","attributes","defaultWidget","type","String","default","initialState","activeSubscription","removeActiveSubscription","created","route","document","querySelector","setTimeout","resourceId","addActiveCallback","detached","PubSub","unsubscribe","updateNavigateSubscription","subscribe","bind","element","setAttribute","removeActiveCallback","removeAttribute","childTag","dataset","child","tagName","defaultMultipleWidget","defaultSetWidget","dispatchSelect","event","linkTarget","target","closest","hasAttribute","resource","dispatchEvent","CustomEvent","detail","goToNext","enterKeydownAction","keyCode","getChildTemplate","template","fields","appendSingleElt","parent","getFields","widgetTemplates","Promise","all","map","field","createWidgetTemplate","renderDOM","resources","listPostProcessors","div","context","getChildAttributes","r","nextProcessor","shift","attr","startsWith","value","replace","register"],"mappings":"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","sourcesContent":["import { Sib } from '../libs/Sib';\nimport { WidgetMixin } from '../mixins/widgetMixin';\nimport { ListMixin } from '../mixins/listMixin';\nimport { StoreMixin } from '../mixins/storeMixin';\nimport { PaginateMixin } from '../mixins/paginateMixin';\nimport { FilterMixin } from '../mixins/filterMixin';\nimport { CounterMixin } from '../mixins/counterMixin';\nimport { SorterMixin } from '../mixins/sorterMixin';\nimport { GrouperMixin } from '../mixins/grouperMixin';\nimport { FederationMixin } from '../mixins/federationMixin';\nimport { HighlighterMixin } from '../mixins/highlighterMixin';\nimport { NextMixin } from '../mixins/nextMixin';\nimport { RequiredMixin } from '../mixins/requiredMixin';\nimport { spread } from '../libs/lit-helpers';\n\nimport { html, render } from 'lit-html';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\nexport const SolidDisplay = {\n name: 'solid-display',\n use: [\n WidgetMixin,\n ListMixin,\n StoreMixin,\n PaginateMixin,\n GrouperMixin,\n CounterMixin,\n HighlighterMixin,\n FilterMixin,\n SorterMixin,\n RequiredMixin,\n FederationMixin,\n NextMixin,\n ],\n attributes: {\n defaultWidget: {\n type: String,\n default: 'solid-display-value',\n },\n },\n initialState: {\n activeSubscription: null,\n removeActiveSubscription: null,\n },\n created(): void {\n // Set route active at initialization\n const route = document.querySelector('solid-route[active]') as any;\n if (!route) return;\n setTimeout(() => {\n if (route['resourceId'] === this.resourceId) this.addActiveCallback();\n });\n },\n detached(): void {\n if (this.activeSubscription) PubSub.unsubscribe(this.activeSubscription);\n if (this.removeActiveSubscription) PubSub.unsubscribe(this.removeActiveSubscription);\n },\n // Update subscription when id changes\n updateNavigateSubscription() {\n if (this.activeSubscription) PubSub.unsubscribe(this.activeSubscription);\n\n if (this.resourceId) {\n this.activeSubscription = PubSub.subscribe(\n 'enterRoute.' + this.resourceId,\n this.addActiveCallback.bind(this)\n );\n }\n },\n addActiveCallback() {\n this.element.setAttribute('active', '');\n this.removeActiveSubscription = PubSub.subscribe(\n 'leaveRoute',\n this.removeActiveCallback.bind(this)\n );\n },\n removeActiveCallback() {\n this.element.removeAttribute('active');\n PubSub.unsubscribe(this.removeActiveSubscription);\n },\n get childTag(): string {\n return this.element.dataset.child || this.element.tagName;\n },\n get defaultMultipleWidget(): string {\n return 'solid-multiple';\n },\n get defaultSetWidget(): string {\n return 'solid-set-default';\n },\n // Here \"even.target\" points to the content of the widgets of the children of solid-display\n dispatchSelect(event: Event, resourceId: string): void {\n const linkTarget = (event!.target as Element).closest('a');\n if (linkTarget && linkTarget.hasAttribute('href')) return;\n const resource = { \"@id\": resourceId };\n this.element.dispatchEvent(\n new CustomEvent('resourceSelect', { detail: { resource: resource } }),\n );\n this.goToNext(resource);\n },\n \n enterKeydownAction (event, resourceId: string): void {\n if (event.keyCode === 13) {\n const resource = { \"@id\" : resourceId };\n this.goToNext(resource);\n }\n },\n /**\n * Returns template of a child element (resource)\n * @param resourceId\n * @param attributes\n */\n getChildTemplate(resourceId: string, attributes: object) {\n let template = html`\n <solid-display\n data-src=${resourceId}\n @click=${(event: Event) => this.dispatchSelect(event, resourceId)}\n @keydown=${(event: Event) => this.enterKeydownAction(event, resourceId)}\n fields=${ifDefined(this.fields)}\n ...=${spread(attributes)}\n ></solid-display>\n `\n return template;\n },\n\n /**\n * Creates and render the content of a single element (resource)\n * @param parent\n */\n async appendSingleElt(parent: HTMLElement): Promise<void> {\n const fields = await this.getFields();\n const widgetTemplates = await Promise.all( // generate all widget templates\n fields.map((field: string) => this.createWidgetTemplate(field))\n );\n render(html`${widgetTemplates}`, parent);\n },\n\n /**\n * @override listMixin method to use litHtml\n *\n * Render resources from a container\n * @param resources\n * @param listPostProcessors\n * @param div\n * @param context\n */\n async renderDOM(\n resources: object[],\n listPostProcessors: Function[],\n div: HTMLElement,\n context: string,\n ) {\n const attributes = this.getChildAttributes(); // get attributes of children only once\n // and create a child template for each resource\n const template = html`${resources.map(r => r ? this.getChildTemplate(r['@id'], attributes) : null)}`;\n render(template, div);\n\n const nextProcessor = listPostProcessors.shift();\n if (nextProcessor)\n await nextProcessor(\n resources,\n listPostProcessors,\n div,\n context\n );\n },\n\n /**\n * Get attributes to dispatch to children from current element\n */\n getChildAttributes() {\n const attributes:{[key:string]: string} = {};\n for (let attr of this.element.attributes) {\n //copy widget and value attributes\n if (\n attr.name.startsWith('value-') ||\n attr.name.startsWith('label-') ||\n attr.name.startsWith('placeholder-') ||\n attr.name.startsWith('widget-') ||\n attr.name.startsWith('class-') ||\n attr.name.startsWith('multiple-') ||\n attr.name.startsWith('editable-') ||\n attr.name.startsWith('action-') ||\n attr.name.startsWith('default-') ||\n attr.name.startsWith('link-text-') ||\n attr.name == 'extra-context'\n )\n attributes[attr.name] = attr.value;\n if (attr.name.startsWith('child-'))\n attributes[attr.name.replace(/^child-/, '')] = attr.value;\n if (attr.name == 'next') {\n attributes['role'] = 'button';\n attributes['tabindex'] = '0';\n }\n }\n return attributes;\n }\n};\n\nSib.register(SolidDisplay);\n"]}