@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.
- package/package.json +2 -2
- package/dist/_snowpack/env.js +0 -3
- package/dist/_snowpack/pkg/autolinker.js +0 -4281
- package/dist/_snowpack/pkg/autolinker.js.map +0 -1
- package/dist/_snowpack/pkg/autolinker.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js +0 -377
- package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map +0 -1
- package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js +0 -22
- package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map +0 -1
- package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/common/decode-a4c334cf.js +0 -216
- package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map +0 -1
- package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/common/lit-html-babd44cd.js +0 -1119
- package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map +0 -1
- package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/delta-markdown-for-quill.js +0 -25677
- package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map +0 -1
- package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/dialog-polyfill.js +0 -859
- package/dist/_snowpack/pkg/dialog-polyfill.js.map +0 -1
- package/dist/_snowpack/pkg/dialog-polyfill.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/fusejs.js +0 -1783
- package/dist/_snowpack/pkg/fusejs.js.map +0 -1
- package/dist/_snowpack/pkg/fusejs.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/import-map.json +0 -23
- package/dist/_snowpack/pkg/jsonld-context-parser.js +0 -804
- package/dist/_snowpack/pkg/jsonld-context-parser.js.map +0 -1
- package/dist/_snowpack/pkg/jsonld-context-parser.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/leaflet/dist/leaflet.css +0 -640
- package/dist/_snowpack/pkg/leaflet/dist/leaflet.css.proxy.js +0 -10
- package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css +0 -60
- package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css.proxy.js +0 -10
- package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css +0 -14
- package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css.proxy.js +0 -10
- package/dist/_snowpack/pkg/lit-html/directives/if-defined.js +0 -40
- package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map +0 -1
- package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js +0 -46
- package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map +0 -1
- package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/lit-html/directives/until.js +0 -88
- package/dist/_snowpack/pkg/lit-html/directives/until.js.map +0 -1
- package/dist/_snowpack/pkg/lit-html/directives/until.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/lit-html.js +0 -92
- package/dist/_snowpack/pkg/lit-html.js.map +0 -1
- package/dist/_snowpack/pkg/lit-html.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/markdown-it.js +0 -11860
- package/dist/_snowpack/pkg/markdown-it.js.map +0 -1
- package/dist/_snowpack/pkg/markdown-it.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/quill/dist/quill.snow.css +0 -945
- package/dist/_snowpack/pkg/quill/dist/quill.snow.css.proxy.js +0 -10
- package/dist/_snowpack/pkg/quill-delta-to-markdown.js +0 -1029
- package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map +0 -1
- package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/quill.js +0 -13382
- package/dist/_snowpack/pkg/quill.js.map +0 -1
- package/dist/_snowpack/pkg/quill.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/slim-select.js +0 -4
- package/dist/_snowpack/pkg/slim-select.js.map +0 -1
- package/dist/_snowpack/pkg/slim-select.js.map.proxy.js +0 -1
- package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css +0 -1164
- package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js +0 -10
- package/dist/_snowpack/pkg/tui-calendar.js +0 -42285
- package/dist/_snowpack/pkg/tui-calendar.js.map +0 -1
- package/dist/_snowpack/pkg/tui-calendar.js.map.proxy.js +0 -1
- package/dist/components/solid-ac-checker.js +0 -51
- package/dist/components/solid-ac-checker.js.map +0 -1
- package/dist/components/solid-calendar.js +0 -87
- package/dist/components/solid-calendar.js.map +0 -1
- package/dist/components/solid-delete.js +0 -111
- package/dist/components/solid-delete.js.map +0 -1
- package/dist/components/solid-display.js +0 -194
- package/dist/components/solid-display.js.map +0 -1
- package/dist/components/solid-form-search.js +0 -226
- package/dist/components/solid-form-search.js.map +0 -1
- package/dist/components/solid-form.js +0 -354
- package/dist/components/solid-form.js.map +0 -1
- package/dist/components/solid-lang.js +0 -46
- package/dist/components/solid-lang.js.map +0 -1
- package/dist/components/solid-map.js +0 -242
- package/dist/components/solid-map.js.map +0 -1
- package/dist/components/solid-table.js +0 -263
- package/dist/components/solid-table.js.map +0 -1
- package/dist/components/solid-widget.js +0 -94
- package/dist/components/solid-widget.js.map +0 -1
- package/dist/import.css +0 -4
- package/dist/index.js +0 -43
- package/dist/index.js.map +0 -1
- package/dist/libs/Component.js +0 -19
- package/dist/libs/Component.js.map +0 -1
- package/dist/libs/ComponentFactory.js +0 -196
- package/dist/libs/ComponentFactory.js.map +0 -1
- package/dist/libs/Compositor.js +0 -103
- package/dist/libs/Compositor.js.map +0 -1
- package/dist/libs/Sib.js +0 -58
- package/dist/libs/Sib.js.map +0 -1
- package/dist/libs/filter.js +0 -214
- package/dist/libs/filter.js.map +0 -1
- package/dist/libs/helpers.js +0 -219
- package/dist/libs/helpers.js.map +0 -1
- package/dist/libs/interfaces.js +0 -6
- package/dist/libs/interfaces.js.map +0 -1
- package/dist/libs/lit-helpers.js +0 -169
- package/dist/libs/lit-helpers.js.map +0 -1
- package/dist/libs/polyfills.js +0 -40
- package/dist/libs/polyfills.js.map +0 -1
- package/dist/libs/store/store.js +0 -863
- package/dist/libs/store/store.js.map +0 -1
- package/dist/locales/en.json +0 -10
- package/dist/locales/en.json.proxy.js +0 -2
- package/dist/locales/fr.json +0 -10
- package/dist/locales/fr.json.proxy.js +0 -2
- package/dist/mixins/attributeBinderMixin.js +0 -124
- package/dist/mixins/attributeBinderMixin.js.map +0 -1
- package/dist/mixins/contextMixin.js +0 -28
- package/dist/mixins/contextMixin.js.map +0 -1
- package/dist/mixins/counterMixin.js +0 -75
- package/dist/mixins/counterMixin.js.map +0 -1
- package/dist/mixins/federationMixin.js +0 -63
- package/dist/mixins/federationMixin.js.map +0 -1
- package/dist/mixins/filterMixin.js +0 -136
- package/dist/mixins/filterMixin.js.map +0 -1
- package/dist/mixins/grouperMixin.js +0 -80
- package/dist/mixins/grouperMixin.js.map +0 -1
- package/dist/mixins/highlighterMixin.js +0 -42
- package/dist/mixins/highlighterMixin.js.map +0 -1
- package/dist/mixins/interfaces.js +0 -8
- package/dist/mixins/interfaces.js.map +0 -1
- package/dist/mixins/listMixin.js +0 -136
- package/dist/mixins/listMixin.js.map +0 -1
- package/dist/mixins/nextMixin.js +0 -26
- package/dist/mixins/nextMixin.js.map +0 -1
- package/dist/mixins/paginateMixin.js +0 -110
- package/dist/mixins/paginateMixin.js.map +0 -1
- package/dist/mixins/requiredMixin.js +0 -34
- package/dist/mixins/requiredMixin.js.map +0 -1
- package/dist/mixins/sorterMixin.js +0 -149
- package/dist/mixins/sorterMixin.js.map +0 -1
- package/dist/mixins/storeMixin.js +0 -102
- package/dist/mixins/storeMixin.js.map +0 -1
- package/dist/mixins/translationMixin.js +0 -68
- package/dist/mixins/translationMixin.js.map +0 -1
- package/dist/mixins/validationMixin.js +0 -113
- package/dist/mixins/validationMixin.js.map +0 -1
- package/dist/mixins/widgetMixin.js +0 -447
- package/dist/mixins/widgetMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/actionMixin.js +0 -14
- package/dist/new-widgets/attributeMixins/actionMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/blankMixin.js +0 -10
- package/dist/new-widgets/attributeMixins/blankMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/booleanMixin.js +0 -10
- package/dist/new-widgets/attributeMixins/booleanMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/index.js +0 -20
- package/dist/new-widgets/attributeMixins/index.js.map +0 -1
- package/dist/new-widgets/attributeMixins/mailtoMixin.js +0 -10
- package/dist/new-widgets/attributeMixins/mailtoMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/multipleMixin.js +0 -28
- package/dist/new-widgets/attributeMixins/multipleMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/numberMixin.js +0 -10
- package/dist/new-widgets/attributeMixins/numberMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/placeholderMixin.js +0 -19
- package/dist/new-widgets/attributeMixins/placeholderMixin.js.map +0 -1
- package/dist/new-widgets/attributeMixins/telMixin.js +0 -10
- package/dist/new-widgets/attributeMixins/telMixin.js.map +0 -1
- package/dist/new-widgets/baseWidgetMixin.js +0 -122
- package/dist/new-widgets/baseWidgetMixin.js.map +0 -1
- package/dist/new-widgets/callbackMixins/autocompletionMixin.js +0 -104
- package/dist/new-widgets/callbackMixins/autocompletionMixin.js.map +0 -1
- package/dist/new-widgets/callbackMixins/index.js +0 -8
- package/dist/new-widgets/callbackMixins/index.js.map +0 -1
- package/dist/new-widgets/callbackMixins/richtextMixin.js +0 -42
- package/dist/new-widgets/callbackMixins/richtextMixin.js.map +0 -1
- package/dist/new-widgets/callbackMixins/slimselect.css +0 -2
- package/dist/new-widgets/callbackMixins/slimselect.css.proxy.js +0 -10
- package/dist/new-widgets/new-widget-factory.js +0 -96
- package/dist/new-widgets/new-widget-factory.js.map +0 -1
- package/dist/new-widgets/templateAdditionMixins/addableMixin.js +0 -41
- package/dist/new-widgets/templateAdditionMixins/addableMixin.js.map +0 -1
- package/dist/new-widgets/templateAdditionMixins/index.js +0 -14
- package/dist/new-widgets/templateAdditionMixins/index.js.map +0 -1
- package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js +0 -29
- package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js.map +0 -1
- package/dist/new-widgets/templateAdditionMixins/labelMixin.js +0 -31
- package/dist/new-widgets/templateAdditionMixins/labelMixin.js.map +0 -1
- package/dist/new-widgets/templates/defaultTemplatesDirectory.js +0 -36
- package/dist/new-widgets/templates/defaultTemplatesDirectory.js.map +0 -1
- package/dist/new-widgets/templates/displayTemplatesDirectory.js +0 -90
- package/dist/new-widgets/templates/displayTemplatesDirectory.js.map +0 -1
- package/dist/new-widgets/templates/formTemplatesDirectory.js +0 -397
- package/dist/new-widgets/templates/formTemplatesDirectory.js.map +0 -1
- package/dist/new-widgets/templates/groupTemplatesDirectory.js +0 -21
- package/dist/new-widgets/templates/groupTemplatesDirectory.js.map +0 -1
- package/dist/new-widgets/templates/index.js +0 -7
- package/dist/new-widgets/templates/index.js.map +0 -1
- package/dist/new-widgets/templates/setTemplatesDirectory.js +0 -49
- package/dist/new-widgets/templates/setTemplatesDirectory.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/altMixin.js +0 -13
- package/dist/new-widgets/templatesDependencies/altMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/editableMixin.js +0 -77
- package/dist/new-widgets/templatesDependencies/editableMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js +0 -38
- package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js +0 -14
- package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js +0 -51
- package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formDropdownMixin.js +0 -66
- package/dist/new-widgets/templatesDependencies/formDropdownMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formFileMixin.js +0 -81
- package/dist/new-widgets/templatesDependencies/formFileMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formLengthMixin.js +0 -19
- package/dist/new-widgets/templatesDependencies/formLengthMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js +0 -19
- package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formMixin.js +0 -66
- package/dist/new-widgets/templatesDependencies/formMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formNumberMixin.js +0 -14
- package/dist/new-widgets/templatesDependencies/formNumberMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formRadioMixin.js +0 -16
- package/dist/new-widgets/templatesDependencies/formRadioMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/formStepMixin.js +0 -13
- package/dist/new-widgets/templatesDependencies/formStepMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/linkTextMixin.js +0 -14
- package/dist/new-widgets/templatesDependencies/linkTextMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/multipleFormMixin.js +0 -125
- package/dist/new-widgets/templatesDependencies/multipleFormMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js +0 -74
- package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/patternMixin.js +0 -19
- package/dist/new-widgets/templatesDependencies/patternMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/rangeMixin.js +0 -110
- package/dist/new-widgets/templatesDependencies/rangeMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/setMixin.js +0 -12
- package/dist/new-widgets/templatesDependencies/setMixin.js.map +0 -1
- package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js +0 -12
- package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js +0 -18
- package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/dateMixin.js +0 -35
- package/dist/new-widgets/valueTransformationMixins/dateMixin.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js +0 -16
- package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/index.js +0 -16
- package/dist/new-widgets/valueTransformationMixins/index.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/markdownMixin.js +0 -25
- package/dist/new-widgets/valueTransformationMixins/markdownMixin.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/multilineMixin.js +0 -17
- package/dist/new-widgets/valueTransformationMixins/multilineMixin.js.map +0 -1
- package/dist/new-widgets/valueTransformationMixins/oembedMixin.js +0 -27
- package/dist/new-widgets/valueTransformationMixins/oembedMixin.js.map +0 -1
- package/dist/solid-template-element.js +0 -164
- package/dist/solid-template-element.js.map +0 -1
- package/dist/style/default-theme.css +0 -24
- package/dist/style/default-theme.css.proxy.js +0 -10
- package/dist/widgets/baseWidget.js +0 -332
- package/dist/widgets/baseWidget.js.map +0 -1
- package/dist/widgets/widget-factory.js +0 -24
- 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":";;;;;;;;;;;;AAAA,SAASA,GAAT,QAAoB,aAApB;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,UAAT,QAA2B,sBAA3B;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,KAAT,QAAsB,qBAAtB;AACA,SAASC,MAAT,QAAuB,iBAAvB;AAEA,OAAOC,QAAP,MAAqB,cAArB;AACA,SAASC,IAAT,EAAeC,MAAf,QAA6B,UAA7B;AAEA,OAAO,MAAMC,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,gBADqB;AAE3BC,EAAAA,GAAG,EAAE,CACHV,SADG,EAEHC,UAFG,EAGHC,SAHG,CAFsB;AAO3BS,EAAAA,YAAY,EAAE;AACZC,IAAAA,aAAa,EAAE;AADH,GAPa;;AAU3BC,EAAAA,OAAO,GAAS;AACd;AACA,WAAO,oCAAP;AACA,UAAMC,EAAE,GAAGV,MAAM,EAAjB;AACA,UAAMW,QAAQ,GAAGT,IAAH,oBACFQ,EADE,CAAd;AAGAP,IAAAA,MAAM,CAACQ,QAAD,EAAW,KAAKC,OAAhB,CAAN;AACA,SAAKC,QAAL,GAAgB,IAAIZ,QAAJ,CAAa,KAAKW,OAAL,CAAaE,aAAb,YAA+BJ,EAA/B,EAAb,EAAmD;AAAEK,MAAAA,WAAW,EAAE;AAAf,KAAnD,CAAhB;AACA,SAAKF,QAAL,CAAcG,EAAd,CAAiB,eAAjB,EAAkC,KAAKC,cAAL,CAAoBC,IAApB,CAAyB,IAAzB,CAAlC;AACA,SAAKV,aAAL,GAAqB,IAAIW,GAAJ,EAArB;AACD,GArB0B;;AAsB3B,MAAIC,aAAJ,GAA4B;AAC1B,WAAO;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAP;AACD,GAxB0B;;AAyB3BJ,EAAAA,cAAc,CAACK,KAAD,EAAqB;AACjC,UAAMC,QAAQ,GAAG;AAAE,aAAOD,KAAK,CAAC,UAAD,CAAL,CAAkBZ;AAA3B,KAAjB;AACA,SAAKE,OAAL,CAAaY,aAAb,CACE,IAAIC,WAAJ,CAAgB,gBAAhB,EAAkC;AAAEC,MAAAA,MAAM,EAAE;AAAEH,QAAAA,QAAQ,EAAEA;AAAZ;AAAV,KAAlC,CADF;AAGA,SAAKI,QAAL,CAAcJ,QAAd;AACD,GA/B0B;;AAgC3B,QAAMK,cAAN,CAAqBC,UAArB,EAAyC;AACvC,UAAMN,QAAQ,GAAG,MAAMxB,KAAK,CAAC+B,OAAN,CAAcD,UAAd,EAA0B,KAAKE,OAA/B,CAAvB;AACA,QAAG,CAACR,QAAJ,EAAc;;AACd,QAAI,CAAC,KAAKf,aAAL,CAAmBwB,GAAnB,CAAuBH,UAAvB,CAAL,EAAyC;AACvC,WAAKrB,aAAL,CAAmByB,GAAnB,CAAuBJ,UAAvB,EAAmCK,MAAM,CAACC,SAAP,CAAiBN,UAAjB,EAA6B,MAAM,KAAKO,SAAL,EAAnC,CAAnC;AACD,KALsC,CAKrC;;;AACF,UAAMf,IAAI,GAAG,MAAME,QAAQ,CAAC,MAAD,CAA3B;AACA,UAAMlB,IAAI,GAAG,MAAMkB,QAAQ,CAAC,MAAD,CAA3B;;AAEA,QAAIlB,IAAI,IAAIgB,IAAZ,EAAkB;AAChB,WAAKR,QAAL,CAAcwB,eAAd,CAA8B,CAC5B;AACE3B,QAAAA,EAAE,EAAEa,QAAQ,CAAC,KAAD,CADd;AAEEe,QAAAA,KAAK,EAAEjC,IAAI,CAACkC,QAAL,EAFT;AAGEC,QAAAA,QAAQ,EAAE,MAHZ;AAIEC,QAAAA,KAAK,EAAEpB,IAAI,CAACkB,QAAL;AAJT,OAD4B,CAA9B;AAQD;AACF,GAnD0B;;AAoD3BG,EAAAA,KAAK,GAAS;AACZ,SAAK7B,QAAL,CAAc8B,KAAd;AACD;;AAtD0B,CAAtB;AAyDPhD,GAAG,CAACiD,QAAJ,CAAaxC,aAAb","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"]}
|