@startinblox/core 0.17.31 → 0.18.0-beta.1

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 (255) hide show
  1. package/dist/_snowpack/pkg/autolinker.js +3515 -3367
  2. package/dist/_snowpack/pkg/autolinker.js.map +1 -1
  3. package/dist/_snowpack/pkg/common/{_baseUnary-217dffb2.js → _baseUnary-c1edb653.js} +16 -40
  4. package/dist/_snowpack/pkg/common/{_baseUnary-217dffb2.js.map → _baseUnary-c1edb653.js.map} +1 -1
  5. package/dist/_snowpack/pkg/common/{_commonjsHelpers-8c19dec8.js → _commonjsHelpers-37fa8da4.js} +6 -2
  6. package/dist/_snowpack/pkg/common/_commonjsHelpers-37fa8da4.js.map +1 -0
  7. package/dist/_snowpack/pkg/common/{decode-a4c334cf.js → decode-26fbf385.js} +38 -69
  8. package/dist/_snowpack/pkg/common/decode-26fbf385.js.map +1 -0
  9. package/dist/_snowpack/pkg/common/lit-html-3647afce.js +1104 -0
  10. package/dist/_snowpack/pkg/common/lit-html-3647afce.js.map +1 -0
  11. package/dist/_snowpack/pkg/delta-markdown-for-quill.js +4767 -4246
  12. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map +1 -1
  13. package/dist/_snowpack/pkg/dialog-polyfill.js +107 -139
  14. package/dist/_snowpack/pkg/dialog-polyfill.js.map +1 -1
  15. package/dist/_snowpack/pkg/fusejs.js +411 -601
  16. package/dist/_snowpack/pkg/fusejs.js.map +1 -1
  17. package/dist/_snowpack/pkg/jsonld-context-parser.js +718 -686
  18. package/dist/_snowpack/pkg/jsonld-context-parser.js.map +1 -1
  19. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css +59 -59
  20. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css.proxy.js +1 -1
  21. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css +14 -14
  22. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css.proxy.js +1 -1
  23. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js +13 -14
  24. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map +1 -1
  25. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js +17 -15
  26. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map +1 -1
  27. package/dist/_snowpack/pkg/lit-html/directives/until.js +45 -46
  28. package/dist/_snowpack/pkg/lit-html/directives/until.js.map +1 -1
  29. package/dist/_snowpack/pkg/lit-html.js +37 -35
  30. package/dist/_snowpack/pkg/lit-html.js.map +1 -1
  31. package/dist/_snowpack/pkg/markdown-it-link-attributes.js +1 -20
  32. package/dist/_snowpack/pkg/markdown-it-link-attributes.js.map +1 -1
  33. package/dist/_snowpack/pkg/markdown-it.js +1731 -2284
  34. package/dist/_snowpack/pkg/markdown-it.js.map +1 -1
  35. package/dist/_snowpack/pkg/quill-delta-to-markdown.js +236 -294
  36. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map +1 -1
  37. package/dist/_snowpack/pkg/quill.js +12077 -11017
  38. package/dist/_snowpack/pkg/quill.js.map +1 -1
  39. package/dist/_snowpack/pkg/slim-select.js +711 -1
  40. package/dist/_snowpack/pkg/slim-select.js.map +1 -1
  41. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css +1 -16
  42. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js +1 -1
  43. package/dist/_snowpack/pkg/tui-calendar.js +44297 -40075
  44. package/dist/_snowpack/pkg/tui-calendar.js.map +1 -1
  45. package/dist/components/solid-ac-checker.js +4 -17
  46. package/dist/components/solid-calendar.js +5 -26
  47. package/dist/components/solid-delete.js +9 -24
  48. package/dist/components/solid-display.js +15 -59
  49. package/dist/components/solid-form-search.js +27 -79
  50. package/dist/components/solid-form.js +48 -143
  51. package/dist/components/solid-lang.js +8 -19
  52. package/dist/components/solid-map.js +26 -64
  53. package/dist/components/solid-table.js +51 -133
  54. package/dist/components/solid-widget.js +2 -24
  55. package/dist/index.js +17 -11
  56. package/dist/libs/Component.js +4 -10
  57. package/dist/libs/ComponentFactory.js +6 -34
  58. package/dist/libs/Compositor.js +8 -15
  59. package/dist/libs/Sib.js +7 -21
  60. package/dist/libs/filter.js +184 -0
  61. package/dist/libs/helpers.js +19 -47
  62. package/dist/libs/interfaces.js +1 -1
  63. package/dist/libs/lit-helpers.js +7 -34
  64. package/dist/libs/polyfills.js +7 -10
  65. package/dist/libs/store/server-pagination.js +22 -0
  66. package/dist/libs/store/server-search.js +35 -0
  67. package/dist/libs/store/store.js +212 -227
  68. package/dist/mixins/attributeBinderMixin.js +17 -25
  69. package/dist/mixins/contextMixin.js +5 -7
  70. package/dist/mixins/counterMixin.js +2 -23
  71. package/dist/mixins/federationMixin.js +2 -14
  72. package/dist/mixins/filterMixin.js +60 -100
  73. package/dist/mixins/grouperMixin.js +11 -18
  74. package/dist/mixins/highlighterMixin.js +2 -8
  75. package/dist/mixins/interfaces.js +3 -5
  76. package/dist/mixins/listMixin.js +12 -43
  77. package/dist/mixins/nextMixin.js +1 -4
  78. package/dist/mixins/paginateMixin.js +17 -30
  79. package/dist/mixins/requiredMixin.js +1 -9
  80. package/dist/mixins/serverPaginationMixin.js +122 -0
  81. package/dist/mixins/sorterMixin.js +26 -44
  82. package/dist/mixins/storeMixin.js +28 -21
  83. package/dist/mixins/translationMixin.js +2 -12
  84. package/dist/mixins/validationMixin.js +28 -46
  85. package/dist/mixins/widgetMixin.js +58 -154
  86. package/dist/new-widgets/attributeMixins/actionMixin.js +1 -2
  87. package/dist/new-widgets/attributeMixins/blankMixin.js +1 -4
  88. package/dist/new-widgets/attributeMixins/booleanMixin.js +1 -4
  89. package/dist/new-widgets/attributeMixins/index.js +1 -2
  90. package/dist/new-widgets/attributeMixins/mailtoMixin.js +1 -4
  91. package/dist/new-widgets/attributeMixins/multipleMixin.js +1 -2
  92. package/dist/new-widgets/attributeMixins/numberMixin.js +1 -4
  93. package/dist/new-widgets/attributeMixins/placeholderMixin.js +1 -4
  94. package/dist/new-widgets/attributeMixins/telMixin.js +1 -4
  95. package/dist/new-widgets/baseWidgetMixin.js +5 -18
  96. package/dist/new-widgets/callbackMixins/autocompletionMixin.js +3 -11
  97. package/dist/new-widgets/callbackMixins/index.js +1 -2
  98. package/dist/new-widgets/callbackMixins/richtextMixin.js +1 -6
  99. package/dist/new-widgets/interfaces.js +1 -0
  100. package/dist/new-widgets/new-widget-factory.js +14 -19
  101. package/dist/new-widgets/templateAdditionMixins/addableMixin.js +6 -21
  102. package/dist/new-widgets/templateAdditionMixins/index.js +2 -3
  103. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js +5 -18
  104. package/dist/new-widgets/templateAdditionMixins/labelMixin.js +5 -18
  105. package/dist/new-widgets/templates/defaultTemplatesDirectory.js +21 -27
  106. package/dist/new-widgets/templates/displayTemplatesDirectory.js +35 -70
  107. package/dist/new-widgets/templates/formTemplatesDirectory.js +350 -315
  108. package/dist/new-widgets/templates/groupTemplatesDirectory.js +5 -15
  109. package/dist/new-widgets/templates/index.js +1 -2
  110. package/dist/new-widgets/templates/setTemplatesDirectory.js +4 -37
  111. package/dist/new-widgets/templatesDependencies/altMixin.js +1 -2
  112. package/dist/new-widgets/templatesDependencies/editableMixin.js +9 -26
  113. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js +3 -7
  114. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js +1 -5
  115. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js +1 -11
  116. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js +3 -13
  117. package/dist/new-widgets/templatesDependencies/formFileMixin.js +1 -13
  118. package/dist/new-widgets/templatesDependencies/formLengthMixin.js +1 -2
  119. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js +1 -2
  120. package/dist/new-widgets/templatesDependencies/formMixin.js +4 -14
  121. package/dist/new-widgets/templatesDependencies/formNumberMixin.js +1 -5
  122. package/dist/new-widgets/templatesDependencies/formRadioMixin.js +1 -5
  123. package/dist/new-widgets/templatesDependencies/formStepMixin.js +1 -2
  124. package/dist/new-widgets/templatesDependencies/linkTextMixin.js +13 -0
  125. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js +23 -18
  126. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js +1 -10
  127. package/dist/new-widgets/templatesDependencies/patternMixin.js +1 -2
  128. package/dist/new-widgets/templatesDependencies/rangeMixin.js +5 -15
  129. package/dist/new-widgets/templatesDependencies/setMixin.js +1 -4
  130. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js +1 -4
  131. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js +1 -5
  132. package/dist/new-widgets/valueTransformationMixins/dateMixin.js +5 -11
  133. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js +1 -5
  134. package/dist/new-widgets/valueTransformationMixins/index.js +1 -2
  135. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js +1 -7
  136. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js +1 -5
  137. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js +1 -7
  138. package/dist/solid-template-element.js +24 -44
  139. package/dist/widgets/baseWidget.js +21 -85
  140. package/dist/widgets/widget-factory.js +4 -6
  141. package/package.json +8 -6
  142. package/dist/_snowpack/env.js +0 -3
  143. package/dist/_snowpack/pkg/autolinker.js.map.proxy.js +0 -1
  144. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map.proxy.js +0 -1
  145. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map +0 -1
  146. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map.proxy.js +0 -1
  147. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map +0 -1
  148. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map.proxy.js +0 -1
  149. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js +0 -1119
  150. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map +0 -1
  151. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map.proxy.js +0 -1
  152. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map.proxy.js +0 -1
  153. package/dist/_snowpack/pkg/dialog-polyfill.js.map.proxy.js +0 -1
  154. package/dist/_snowpack/pkg/fusejs.js.map.proxy.js +0 -1
  155. package/dist/_snowpack/pkg/jsonld-context-parser.js.map.proxy.js +0 -1
  156. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map.proxy.js +0 -1
  157. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map.proxy.js +0 -1
  158. package/dist/_snowpack/pkg/lit-html/directives/until.js.map.proxy.js +0 -1
  159. package/dist/_snowpack/pkg/lit-html.js.map.proxy.js +0 -1
  160. package/dist/_snowpack/pkg/markdown-it-link-attributes.js.map.proxy.js +0 -1
  161. package/dist/_snowpack/pkg/markdown-it.js.map.proxy.js +0 -1
  162. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map.proxy.js +0 -1
  163. package/dist/_snowpack/pkg/quill.js.map.proxy.js +0 -1
  164. package/dist/_snowpack/pkg/slim-select.js.map.proxy.js +0 -1
  165. package/dist/_snowpack/pkg/tui-calendar.js.map.proxy.js +0 -1
  166. package/dist/components/solid-ac-checker.js.map +0 -1
  167. package/dist/components/solid-calendar.js.map +0 -1
  168. package/dist/components/solid-delete.js.map +0 -1
  169. package/dist/components/solid-display.js.map +0 -1
  170. package/dist/components/solid-form-search.js.map +0 -1
  171. package/dist/components/solid-form.js.map +0 -1
  172. package/dist/components/solid-lang.js.map +0 -1
  173. package/dist/components/solid-map.js.map +0 -1
  174. package/dist/components/solid-table.js.map +0 -1
  175. package/dist/components/solid-widget.js.map +0 -1
  176. package/dist/index.js.map +0 -1
  177. package/dist/libs/Component.js.map +0 -1
  178. package/dist/libs/ComponentFactory.js.map +0 -1
  179. package/dist/libs/Compositor.js.map +0 -1
  180. package/dist/libs/Sib.js.map +0 -1
  181. package/dist/libs/helpers.js.map +0 -1
  182. package/dist/libs/interfaces.js.map +0 -1
  183. package/dist/libs/lit-helpers.js.map +0 -1
  184. package/dist/libs/polyfills.js.map +0 -1
  185. package/dist/libs/store/store.js.map +0 -1
  186. package/dist/mixins/attributeBinderMixin.js.map +0 -1
  187. package/dist/mixins/contextMixin.js.map +0 -1
  188. package/dist/mixins/counterMixin.js.map +0 -1
  189. package/dist/mixins/federationMixin.js.map +0 -1
  190. package/dist/mixins/filterMixin.js.map +0 -1
  191. package/dist/mixins/grouperMixin.js.map +0 -1
  192. package/dist/mixins/highlighterMixin.js.map +0 -1
  193. package/dist/mixins/interfaces.js.map +0 -1
  194. package/dist/mixins/listMixin.js.map +0 -1
  195. package/dist/mixins/nextMixin.js.map +0 -1
  196. package/dist/mixins/paginateMixin.js.map +0 -1
  197. package/dist/mixins/requiredMixin.js.map +0 -1
  198. package/dist/mixins/sorterMixin.js.map +0 -1
  199. package/dist/mixins/storeMixin.js.map +0 -1
  200. package/dist/mixins/translationMixin.js.map +0 -1
  201. package/dist/mixins/validationMixin.js.map +0 -1
  202. package/dist/mixins/widgetMixin.js.map +0 -1
  203. package/dist/new-widgets/attributeMixins/actionMixin.js.map +0 -1
  204. package/dist/new-widgets/attributeMixins/blankMixin.js.map +0 -1
  205. package/dist/new-widgets/attributeMixins/booleanMixin.js.map +0 -1
  206. package/dist/new-widgets/attributeMixins/index.js.map +0 -1
  207. package/dist/new-widgets/attributeMixins/mailtoMixin.js.map +0 -1
  208. package/dist/new-widgets/attributeMixins/multipleMixin.js.map +0 -1
  209. package/dist/new-widgets/attributeMixins/numberMixin.js.map +0 -1
  210. package/dist/new-widgets/attributeMixins/placeholderMixin.js.map +0 -1
  211. package/dist/new-widgets/attributeMixins/telMixin.js.map +0 -1
  212. package/dist/new-widgets/baseWidgetMixin.js.map +0 -1
  213. package/dist/new-widgets/callbackMixins/autocompletionMixin.js.map +0 -1
  214. package/dist/new-widgets/callbackMixins/index.js.map +0 -1
  215. package/dist/new-widgets/callbackMixins/richtextMixin.js.map +0 -1
  216. package/dist/new-widgets/new-widget-factory.js.map +0 -1
  217. package/dist/new-widgets/templateAdditionMixins/addableMixin.js.map +0 -1
  218. package/dist/new-widgets/templateAdditionMixins/index.js.map +0 -1
  219. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js.map +0 -1
  220. package/dist/new-widgets/templateAdditionMixins/labelMixin.js.map +0 -1
  221. package/dist/new-widgets/templates/defaultTemplatesDirectory.js.map +0 -1
  222. package/dist/new-widgets/templates/displayTemplatesDirectory.js.map +0 -1
  223. package/dist/new-widgets/templates/formTemplatesDirectory.js.map +0 -1
  224. package/dist/new-widgets/templates/groupTemplatesDirectory.js.map +0 -1
  225. package/dist/new-widgets/templates/index.js.map +0 -1
  226. package/dist/new-widgets/templates/setTemplatesDirectory.js.map +0 -1
  227. package/dist/new-widgets/templatesDependencies/altMixin.js.map +0 -1
  228. package/dist/new-widgets/templatesDependencies/editableMixin.js.map +0 -1
  229. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js.map +0 -1
  230. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js.map +0 -1
  231. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js.map +0 -1
  232. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js.map +0 -1
  233. package/dist/new-widgets/templatesDependencies/formFileMixin.js.map +0 -1
  234. package/dist/new-widgets/templatesDependencies/formLengthMixin.js.map +0 -1
  235. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js.map +0 -1
  236. package/dist/new-widgets/templatesDependencies/formMixin.js.map +0 -1
  237. package/dist/new-widgets/templatesDependencies/formNumberMixin.js.map +0 -1
  238. package/dist/new-widgets/templatesDependencies/formRadioMixin.js.map +0 -1
  239. package/dist/new-widgets/templatesDependencies/formStepMixin.js.map +0 -1
  240. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js.map +0 -1
  241. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js.map +0 -1
  242. package/dist/new-widgets/templatesDependencies/patternMixin.js.map +0 -1
  243. package/dist/new-widgets/templatesDependencies/rangeMixin.js.map +0 -1
  244. package/dist/new-widgets/templatesDependencies/setMixin.js.map +0 -1
  245. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js.map +0 -1
  246. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js.map +0 -1
  247. package/dist/new-widgets/valueTransformationMixins/dateMixin.js.map +0 -1
  248. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js.map +0 -1
  249. package/dist/new-widgets/valueTransformationMixins/index.js.map +0 -1
  250. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js.map +0 -1
  251. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js.map +0 -1
  252. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js.map +0 -1
  253. package/dist/solid-template-element.js.map +0 -1
  254. package/dist/widgets/baseWidget.js.map +0 -1
  255. package/dist/widgets/widget-factory.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["baseWidget.ts"],"names":["evalTemplateString","store","BaseWidget","HTMLElement","Map","connectedCallback","render","disconnectedCallback","_subscriptions","forEach","subscription","PubSub","unsubscribe","innerHTML","template","src","name","label","placeholder","value","id","_value","escapedValue","range","htmlRange","multiple","editable","required","addEditButtons","initChangeEvents","hasAttribute","getAttribute","setAttribute","dataHolder","values","map","element","HTMLInputElement","type","checked","getValueHolder","length","undefined","dispatchEvent","Event","el","index","widgetDataHolders","Array","from","querySelectorAll","filter","dataHolderAncestor","parentElement","closest","contains","childTemplate","replace","context","_context","fetchSources","_range","_listen","getData","resource","resources","res","resourceId","getChildren","e","isContainer","resourcesFromContainer","push","rangeResources","selected","component","subscribe","event","callback","get","set","editableField","querySelector","editButton","document","createElement","innerText","onclick","activateEditableField","insertAdjacentElement","addEventListener","save","focus","bubbles","preventDefault","stopPropagation","removeAttribute","patch"],"mappings":"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","sourcesContent":["import { evalTemplateString } from '../libs/helpers';\nimport { store } from '../libs/store/store';\n\nexport class BaseWidget extends HTMLElement {\n private src: string | undefined;\n private multiple: string | undefined;\n private editable: string | undefined;\n private required: string | undefined;\n private resourceId: string | undefined;\n public _value: any | undefined;\n private _range: any | undefined;\n private _context: object | undefined;\n private _subscriptions = new Map();\n\n connectedCallback(): void {\n this.render();\n }\n disconnectedCallback(): void {\n this._subscriptions.forEach((subscription) => {\n PubSub.unsubscribe(subscription);\n })\n }\n async render() {\n this.innerHTML = await evalTemplateString(this.template, {\n src: this.src,\n name: this.name,\n label: this.label,\n placeholder: this.placeholder,\n value: this.value,\n id: (this._value && this._value['@id']) || '',\n escapedValue: this.escapedValue,\n range: await this.htmlRange,\n multiple: this.multiple,\n editable: this.editable === '' ? true : false,\n required: this.required === '' ? true : false\n });\n\n this.addEditButtons();\n this.initChangeEvents();\n }\n get label(): string | null {\n return this.hasAttribute('label') ? this.getAttribute('label') : this.name;\n }\n set label(label: string | null) {\n if(label != null) this.setAttribute('label', label);\n this.render();\n }\n get placeholder(): string | null {\n return this.hasAttribute('placeholder') ? this.getAttribute('placeholder') : this.label;\n }\n set placeholder(placeholder: string | null) {\n if(placeholder != null) this.setAttribute('placeholder', placeholder);\n this.render();\n }\n get name(): string | null {\n return this.getAttribute('name');\n }\n set name(name: string | null) {\n if(name) this.setAttribute('name', name);\n this.render();\n }\n get value() {\n if (this.dataHolder) {\n let values = this.dataHolder.map(element => {\n if (element instanceof HTMLInputElement && element.type == \"checkbox\") return element.checked;\n // if value is defined, push it in the array\n return this.getValueHolder(element).value;\n });\n // If only one value, do not return an array\n return values.length === 1 ? values[0] : values;\n }\n return this._value || '';\n }\n set value(value) {\n this._value = value; // ... store `value` in the widget\n if (this._value == null || this._value == undefined) return;\n\n if (this.dataHolder && this.dataHolder.length === 1) {\n // if one dataHolder in the widget...\n const element = this.getValueHolder(this.dataHolder[0]);\n if (element.type == \"checkbox\") {\n element.checked = value;\n } else {\n element.value = value; // ... set `value` to the dataHolder element\n }\n // remove when https://git.happy-dev.fr/startinblox/framework/sib-core/issues/426 fixed\n if (element.dispatchEvent) element.dispatchEvent(new Event('change')); // trigger change manually\n } else if (this.dataHolder && this.dataHolder.length > 1) {\n // if multiple dataHolder in the widget ...\n this.dataHolder.forEach(\n (el, index) => {\n const element = this.getValueHolder(el);\n if (element.type == \"checkbox\") {\n element.checked = value ? value[index] : ''\n } else {\n element.value = value ? value[index] : ''\n }\n element.dispatchEvent(new Event('change')); // trigger change manually\n },\n ); // ... set each `value` to each dataHolder element\n }\n\n this.render();\n }\n get ['each-label'](): string{\n return this.getAttribute('each-label') || '';\n }\n set ['each-label'](label: string) {\n this.setAttribute('each-label', label);\n }\n set ['add-label'](label: string) {\n this.setAttribute('add-label', label);\n }\n set ['remove-label'](label: string) {\n this.setAttribute('remove-label', label);\n }\n get dataHolder(): Element[] | null {\n const widgetDataHolders = Array.from(this.querySelectorAll('[data-holder]')).filter(element => {\n const dataHolderAncestor = element.parentElement ? element.parentElement.closest('[data-holder]') : null;\n // get the dataHolder of the widget only if no dataHolder ancestor in the current widget\n return dataHolderAncestor === this || !dataHolderAncestor || !this.contains(dataHolderAncestor)\n });\n\n return widgetDataHolders.length ? widgetDataHolders : null;\n }\n get template(): string {\n return '';\n }\n get childTemplate(): string {\n return '';\n }\n get escapedValue(): string {\n return ('' + this.value)\n .replace(/&/g, '&amp;')\n .replace(/'/g, '&apos;')\n .replace(/\"/g, '&quot;');\n }\n set context(value) {\n this._context = value;\n }\n get context() {\n return this._context || {};\n }\n\n get range(): any {\n return this.fetchSources(this._range);\n }\n set range(range) {\n (async () => {\n this._listen(range, async () => this._range = await store.getData(range, this.context));\n this._range = await store.getData(range, this.context);\n this.render();\n })();\n }\n async fetchSources(resource: any) {\n if (!resource || !resource['ldp:contains']) return null;\n let resources: any[] = [];\n let index = 0;\n for (let res of resource['ldp:contains']) {\n if (!res) { // child not in cache yet\n try {\n const resourceId = resource.getChildren()[index]['@id'];\n res = await store.getData(resourceId, this.context)\n } catch (e) { continue; }\n }\n if (res.isContainer()) { // if nested container\n let resourcesFromContainer = await store.getData(res['@id'], this.context); // fetch the datas\n this._listen(res['@id']);\n if (resourcesFromContainer) resources.push(...resourcesFromContainer['ldp:contains']);\n } else {\n resources.push(res);\n }\n index++;\n }\n return resources;\n }\n\n get htmlRange(): Promise<string | undefined> {\n return (async () => {\n let htmlRange = '';\n const rangeResources = await this.range;\n if (!rangeResources) return;\n for await (let element of rangeResources) {\n element = await store.getData(element['@id'], this.context); // fetch the resource to display the name\n this._listen(element['@id']);\n\n let selected: boolean;\n if (this._value && this._value.isContainer && this._value.isContainer()) { // selected options for multiple select\n selected = false;\n for await (let value of this._value[\"ldp:contains\"]) {\n if (value['@id'] == element['@id']) {\n selected = true;\n break;\n }\n }\n } else { // selected options for simple dropdowns\n selected = this._value ? this._value['@id'] == element['@id'] : false;\n }\n htmlRange += await evalTemplateString(this.childTemplate, {\n name: await element.name,\n id: element['@id'],\n selected: selected\n });\n }\n return htmlRange || '';\n })();\n }\n getValueHolder(element) {\n return element.component ? element.component : element;\n }\n\n subscribe(event: string) {\n this._listen(event);\n }\n\n _listen(id: string, callback: Function = () => {}) {\n if (!this._subscriptions.get(id)) {\n this._subscriptions.set(id, PubSub.subscribe(id, async () => {\n await callback();\n this.render();\n }))\n }\n }\n\n // Editable widgets\n addEditButtons(): void {\n const editableField = this.querySelector('[data-editable]') as HTMLElement;\n\n if (editableField) {\n // Add edit button\n const editButton = document.createElement('button');\n editButton.innerText = \"Modifier\";\n editButton.onclick = () => this.activateEditableField(editableField, editButton);\n editableField.insertAdjacentElement('afterend', editButton);\n\n // Save on focusout\n editableField.addEventListener('focusout', () => this.save(editableField, editButton));\n }\n }\n activateEditableField(editableField: HTMLElement, editButton: HTMLButtonElement): void {\n editableField.setAttribute('contenteditable', 'true');\n editableField.focus();\n editButton.setAttribute(\"disabled\", \"disabled\");\n }\n /**\n * Dispatch change events of data holders from the current widget\n */\n initChangeEvents(): void {\n if (this.dataHolder) {\n const event = new Event('change', { bubbles: true });\n this.dataHolder.forEach(element => {\n element.addEventListener('change', e => {\n e.preventDefault();\n e.stopPropagation();\n this.dispatchEvent(event);\n });\n });\n }\n }\n save(editableField: HTMLElement, editButton: HTMLButtonElement): void {\n editableField.setAttribute('contenteditable', 'false');\n editButton.removeAttribute(\"disabled\");\n\n if (!this.name) return;\n const resource = {};\n resource[this.name] = editableField.innerText;\n resource['@context'] = this.context;\n\n if(this.resourceId && resource) store.patch(resource, this.resourceId)\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["widget-factory.ts"],"names":["BaseWidget","defineComponent","widgetFactory","tagName","customTemplate","childTemplate","callback","registered","customElements","get","cls","render","template"],"mappings":"AAAA,SAASA,UAAT,QAA2B,cAA3B;AACA,SAASC,eAAT,QAAgC,iBAAhC;AAEA,OAAO,MAAMC,aAAa,GAAG,CAC3BC,OAD2B,EAE3BC,cAF2B,EAG3BC,aAAqB,GAAG,EAHG,EAI3BC,QAJ2B,KAKxB;AACH,QAAMC,UAAU,GAAGC,cAAc,CAACC,GAAf,CAAmBN,OAAnB,CAAnB;AACA,MAAII,UAAJ,EAAgB,OAAOA,UAAP;AAChB,QAAMG,GAAG,GAAG,cAAcV,UAAd,CAAyB;AACnC,UAAMW,MAAN,GAAe;AACb,YAAM,MAAMA,MAAN,EAAN;AACA,UAAIL,QAAJ,EAAcA,QAAQ,CAAC,IAAD,CAAR;AACf;;AACD,QAAIM,QAAJ,GAAuB;AACrB,aAAOR,cAAP;AACD;;AACD,QAAIC,aAAJ,GAA4B;AAC1B,aAAOA,aAAP;AACD;;AAVkC,GAArC;AAYAJ,EAAAA,eAAe,CAACE,OAAD,EAAUO,GAAV,CAAf;AACA,SAAOA,GAAP;AACD,CAtBM","sourcesContent":["import { BaseWidget } from './baseWidget';\nimport { defineComponent } from '../libs/helpers';\n\nexport const widgetFactory = (\n tagName: string,\n customTemplate: string,\n childTemplate: string = '',\n callback?: (element: Element) => void,\n) => {\n const registered = customElements.get(tagName);\n if (registered) return registered;\n const cls = class extends BaseWidget {\n async render() {\n await super.render();\n if (callback) callback(this);\n }\n get template(): string {\n return customTemplate;\n }\n get childTemplate(): string {\n return childTemplate;\n }\n };\n defineComponent(tagName, cls);\n return cls;\n};\n"]}