@lblod/ember-rdfa-editor-lblod-plugins 0.1.3 → 0.3.0

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 (54) hide show
  1. package/config/environment.js +11 -0
  2. package/dist/_app_/components/insert-variable-plugin/insert-variable-card.js +1 -0
  3. package/dist/_app_/components/roadsign-regulation-plugin/expanded-measure.js +1 -0
  4. package/dist/_app_/components/roadsign-regulation-plugin/measure-template.js +1 -0
  5. package/dist/_app_/components/roadsign-regulation-plugin/roadsign-regulation-card.js +1 -0
  6. package/dist/_app_/components/roadsign-regulation-plugin/roadsigns-modal.js +1 -0
  7. package/dist/_app_/components/roadsign-regulation-plugin/roadsigns-pagination.js +1 -0
  8. package/dist/_app_/components/roadsign-regulation-plugin/roadsigns-table.js +1 -0
  9. package/dist/_app_/components/template-variable-plugin/template-variable-card.js +1 -0
  10. package/dist/_app_/helpers/limit-text.js +1 -0
  11. package/dist/_app_/models/instruction.js +1 -0
  12. package/dist/_app_/models/measure.js +1 -0
  13. package/dist/_app_/models/sign.js +1 -0
  14. package/dist/_app_/services/roadsign-registry.js +1 -0
  15. package/dist/components/insert-variable-plugin/insert-variable-card.js +190 -0
  16. package/dist/components/insert-variable-plugin/insert-variable-card.js.map +1 -0
  17. package/dist/components/roadsign-regulation-plugin/expanded-measure.js +52 -0
  18. package/dist/components/roadsign-regulation-plugin/expanded-measure.js.map +1 -0
  19. package/dist/components/roadsign-regulation-plugin/measure-template.js +42 -0
  20. package/dist/components/roadsign-regulation-plugin/measure-template.js.map +1 -0
  21. package/dist/components/roadsign-regulation-plugin/roadsign-regulation-card.js +82 -0
  22. package/dist/components/roadsign-regulation-plugin/roadsign-regulation-card.js.map +1 -0
  23. package/dist/components/roadsign-regulation-plugin/roadsigns-modal.js +251 -0
  24. package/dist/components/roadsign-regulation-plugin/roadsigns-modal.js.map +1 -0
  25. package/dist/components/roadsign-regulation-plugin/roadsigns-pagination.js +71 -0
  26. package/dist/components/roadsign-regulation-plugin/roadsigns-pagination.js.map +1 -0
  27. package/dist/components/roadsign-regulation-plugin/roadsigns-table.js +36 -0
  28. package/dist/components/roadsign-regulation-plugin/roadsigns-table.js.map +1 -0
  29. package/dist/components/table-of-contents-plugin/inline-components/table-of-contents.js +1 -1
  30. package/dist/components/template-variable-plugin/template-variable-card.js +178 -0
  31. package/dist/components/template-variable-plugin/template-variable-card.js.map +1 -0
  32. package/dist/constants-c77fd478.js +16 -0
  33. package/dist/constants-c77fd478.js.map +1 -0
  34. package/dist/fetch-data-284bf106.js +80 -0
  35. package/dist/fetch-data-284bf106.js.map +1 -0
  36. package/dist/helpers/limit-text.js +12 -0
  37. package/dist/helpers/limit-text.js.map +1 -0
  38. package/dist/includeInstructions-a32c24e6.js +10 -0
  39. package/dist/includeInstructions-a32c24e6.js.map +1 -0
  40. package/dist/initializers/plugin-initializer.js +95 -1
  41. package/dist/initializers/plugin-initializer.js.map +1 -1
  42. package/dist/models/instruction.js +18 -0
  43. package/dist/models/instruction.js.map +1 -0
  44. package/dist/models/measure.js +41 -0
  45. package/dist/models/measure.js.map +1 -0
  46. package/dist/models/sign.js +38 -0
  47. package/dist/models/sign.js.map +1 -0
  48. package/dist/services/roadsign-registry.js +294 -0
  49. package/dist/services/roadsign-registry.js.map +1 -0
  50. package/package.json +15 -1
  51. package/translations/en-US.yaml +4 -1
  52. package/translations/nl-BE.yaml +3 -0
  53. package/dist/constants-af958fcd.js +0 -12
  54. package/dist/constants-af958fcd.js.map +0 -1
@@ -0,0 +1,178 @@
1
+ import { _ as _applyDecoratedDescriptor, a as _initializerDefineProperty, b as _defineProperty } from '../../_rollupPluginBabelHelpers-537ad14b.js';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import { hbs } from 'ember-cli-htmlbars';
4
+ import Component from '@glimmer/component';
5
+ import { tracked } from '@glimmer/tracking';
6
+ import { action } from '@ember/object';
7
+ import { getOwner } from '@ember/application';
8
+ import { task } from 'ember-concurrency';
9
+ import { a as fetchCodeListOptions } from '../../fetch-data-284bf106.js';
10
+ import { Z as ZONAL_URI, M as MULTI_SELECT_CODELIST_TYPE } from '../../constants-c77fd478.js';
11
+
12
+ var TEMPLATE = hbs("{{#if this.showCard}}\n <AuCard @flex={{true}} @divided={{true}} @isOpenInitially={{true}} @expandable={{true}} @shadow={{true}} @size=\"small\" as |c|>\n <c.header>\n <AuHeading @level=\"3\" @skin=\"6\">\n Maatregel parameters\n </AuHeading>\n </c.header>\n <c.content>\n {{#if this.multiSelect}}\n <PowerSelectMultiple\n @allowClear={{false}}\n @searchEnabled={{false}}\n @options={{this.variableOptions}}\n @selected={{this.selectedVariable}}\n @onChange={{this.updateVariable}} as |variable|\n >\n {{variable.label}}\n </PowerSelectMultiple>\n {{else}}\n <PowerSelect\n @allowClear={{false}}\n @searchEnabled={{false}}\n @options={{this.variableOptions}}\n @selected={{this.selectedVariable}}\n @onChange={{this.updateVariable}} as |variable|\n >\n {{variable.label}}\n </PowerSelect>\n {{/if}}\n <AuButton {{on \'click\' this.insert}} @disabled={{not this.selectedVariable}}>Voeg in</AuButton>\n </c.content>\n </AuCard>\n{{/if}}\n\n");
13
+
14
+ var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;
15
+ let EditorPluginsTemplateVariableCardComponent = (_class = class EditorPluginsTemplateVariableCardComponent extends Component {
16
+ constructor() {
17
+ super(...arguments);
18
+ _initializerDefineProperty(this, "variableOptions", _descriptor, this);
19
+ _initializerDefineProperty(this, "selectedVariable", _descriptor2, this);
20
+ _initializerDefineProperty(this, "showCard", _descriptor3, this);
21
+ _initializerDefineProperty(this, "multiSelect", _descriptor4, this);
22
+ _defineProperty(this, "mappingUri", void 0);
23
+ const config = getOwner(this).resolveRegistration('config:environment');
24
+ this.zonalLocationCodelistUri = config.templateVariablePlugin.zonalLocationCodelistUri;
25
+ this.endpoint = config.templateVariablePlugin.endpoint;
26
+ this.nonZonalLocationCodelistUri = config.templateVariablePlugin.nonZonalLocationCodelistUri;
27
+ this.args.controller.onEvent('selectionChanged', this.selectionChanged);
28
+ this.liveHighlights = this.args.controller.createLiveMarkSet({
29
+ datastoreQuery: datastore => {
30
+ const limitedDataset = datastore.transformDataset((dataset, termconverter) => {
31
+ const mappings = dataset.match(null, termconverter('a'), termconverter('ext:Mapping'));
32
+ const locations = dataset.match(null, termconverter('>http://purl.org/dc/terms/type'), termconverter('@en-US"location'));
33
+ const codelists = dataset.match(null, termconverter('>http://purl.org/dc/terms/type'), termconverter('@en-US"codelist'));
34
+ const supportedMappings = locations.union(codelists);
35
+ return mappings.filter(quad => supportedMappings.match(quad.subject).size !== 0);
36
+ });
37
+ const matches = limitedDataset.searchTextIn('subject', new RegExp('.*'));
38
+ return matches;
39
+ },
40
+ liveMarkSpecs: ['highlighted']
41
+ });
42
+ }
43
+ insert() {
44
+ const selectedRange = this.args.controller.selection.lastRange;
45
+ if (!selectedRange) {
46
+ return;
47
+ }
48
+ const limitedDatastore = this.args.controller.datastore.limitToRange(selectedRange, 'rangeIsInside');
49
+ const mapping = limitedDatastore.match(`>${this.mappingUri}`, 'ext:content', null).asSubjectNodes().next().value;
50
+ const mappingNode = [...mapping.nodes][0];
51
+ let mappingContentNode;
52
+ for (let child of mappingNode.children) {
53
+ if (child.attributeMap.get('property') === 'ext:content') {
54
+ mappingContentNode = child;
55
+ break;
56
+ }
57
+ }
58
+ let textToInsert = '';
59
+ if (this.selectedVariable.length) {
60
+ textToInsert = this.selectedVariable.map(variable => variable.value).join(', ');
61
+ } else {
62
+ textToInsert = this.selectedVariable.value;
63
+ }
64
+ textToInsert = this.wrapVariableInHighlight(textToInsert);
65
+ this.args.controller.executeCommand('insert-and-collapse', this.args.controller, textToInsert, mappingContentNode);
66
+ }
67
+ wrapVariableInHighlight(text) {
68
+ return text.replace(/\$\{(.+?)\}/g, '<span class="mark-highlight-manual">${$1}</span>');
69
+ }
70
+ selectionChanged() {
71
+ this.showCard = false;
72
+ this.selectedVariable = undefined;
73
+ const selectedRange = this.args.controller.selection.lastRange;
74
+ if (!selectedRange) {
75
+ return;
76
+ }
77
+ const fullDatastore = this.args.controller.datastore;
78
+ const limitedDatastore = this.args.controller.datastore.limitToRange(selectedRange, 'rangeIsInside');
79
+ const mapping = limitedDatastore.match(null, 'a', 'ext:Mapping').asQuads().next().value;
80
+ console.log('MAPPING: ', mapping);
81
+ if (mapping) {
82
+ const mappingUri = mapping.subject.value;
83
+ this.mappingUri = mappingUri;
84
+ const mappingTypeTriple = fullDatastore.match(`>${mappingUri}`, 'dct:type', null).asQuads().next().value;
85
+ console.log('TRIPLE: ', mappingTypeTriple);
86
+ if (mappingTypeTriple) {
87
+ const mappingType = mappingTypeTriple.object.value;
88
+ if (mappingType === 'codelist') {
89
+ const codelistTriple = fullDatastore.match(`>${mappingUri}`, 'ext:codelist', null).asQuads().next().value;
90
+ const codelistSource = this.getCodelistSource(fullDatastore, mappingUri);
91
+ this.showCard = true;
92
+ const codelistUri = codelistTriple.object.value;
93
+ this.fetchCodeListOptions.perform(codelistSource, codelistUri);
94
+ } else if (mappingType === 'location') {
95
+ const codelistSource = this.getCodelistSource(fullDatastore, mappingUri);
96
+ const measureTriple = limitedDatastore.match(null, 'a', '>https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitsmaatregel').asQuads().next().value;
97
+ const measureUri = measureTriple.subject.value;
98
+ const zonalityTriple = fullDatastore.match(`>${measureUri}`, 'ext:zonality', null).asQuads().next().value;
99
+ const zonalityUri = zonalityTriple.object.value;
100
+ if (zonalityUri === ZONAL_URI) {
101
+ this.fetchCodeListOptions.perform(codelistSource, this.zonalLocationCodelistUri, true);
102
+ } else {
103
+ this.fetchCodeListOptions.perform(codelistSource, this.nonZonalLocationCodelistUri, true);
104
+ }
105
+ this.showCard = true;
106
+ }
107
+ }
108
+ }
109
+ }
110
+ getCodelistSource(fullDatastore, mappingUri) {
111
+ const codelistSourceTriple = fullDatastore.match(`>${mappingUri}`, 'dct:source', null).asQuads().next();
112
+ if (codelistSourceTriple && codelistSourceTriple.value) {
113
+ const codelistSourceTripleValue = codelistSourceTriple.value;
114
+ return codelistSourceTripleValue.object.value;
115
+ } else {
116
+ return this.endpoint;
117
+ }
118
+ }
119
+ updateVariable(variable) {
120
+ this.selectedVariable = variable;
121
+ }
122
+ *fetchCodeListOptions(endpoint, codelistUri, isLocation) {
123
+ const {
124
+ type,
125
+ options
126
+ } = yield fetchCodeListOptions(endpoint, codelistUri);
127
+ if (isLocation) {
128
+ this.variableOptions = options.map(option => ({
129
+ label: option.label,
130
+ value: this.wrapInLocation(option.value)
131
+ }));
132
+ } else {
133
+ this.variableOptions = options;
134
+ }
135
+ if (type === MULTI_SELECT_CODELIST_TYPE) {
136
+ this.multiSelect = true;
137
+ } else {
138
+ this.multiSelect = false;
139
+ }
140
+ }
141
+ wrapInLocation(value) {
142
+ return `
143
+ <span property="https://data.vlaanderen.be/ns/mobiliteit#plaatsbepaling">
144
+ ${value}
145
+ </span>
146
+ `;
147
+ }
148
+ }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "variableOptions", [tracked], {
149
+ configurable: true,
150
+ enumerable: true,
151
+ writable: true,
152
+ initializer: function () {
153
+ return [];
154
+ }
155
+ }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "selectedVariable", [tracked], {
156
+ configurable: true,
157
+ enumerable: true,
158
+ writable: true,
159
+ initializer: null
160
+ }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "showCard", [tracked], {
161
+ configurable: true,
162
+ enumerable: true,
163
+ writable: true,
164
+ initializer: function () {
165
+ return false;
166
+ }
167
+ }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "multiSelect", [tracked], {
168
+ configurable: true,
169
+ enumerable: true,
170
+ writable: true,
171
+ initializer: function () {
172
+ return false;
173
+ }
174
+ }), _applyDecoratedDescriptor(_class.prototype, "insert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "insert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "selectionChanged", [action], Object.getOwnPropertyDescriptor(_class.prototype, "selectionChanged"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "updateVariable", [action], Object.getOwnPropertyDescriptor(_class.prototype, "updateVariable"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "fetchCodeListOptions", [task], Object.getOwnPropertyDescriptor(_class.prototype, "fetchCodeListOptions"), _class.prototype)), _class);
175
+ setComponentTemplate(TEMPLATE, EditorPluginsTemplateVariableCardComponent);
176
+
177
+ export { EditorPluginsTemplateVariableCardComponent as default };
178
+ //# sourceMappingURL=template-variable-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-variable-card.js","sources":["../../../src/components/template-variable-plugin/template-variable-card.hbs.js","../../../src/components/template-variable-plugin/template-variable-card.js"],"sourcesContent":["import { hbs } from 'ember-cli-htmlbars';\nexport default hbs(\"{{#if this.showCard}}\\n <AuCard @flex={{true}} @divided={{true}} @isOpenInitially={{true}} @expandable={{true}} @shadow={{true}} @size=\\\"small\\\" as |c|>\\n <c.header>\\n <AuHeading @level=\\\"3\\\" @skin=\\\"6\\\">\\n Maatregel parameters\\n </AuHeading>\\n </c.header>\\n <c.content>\\n {{#if this.multiSelect}}\\n <PowerSelectMultiple\\n @allowClear={{false}}\\n @searchEnabled={{false}}\\n @options={{this.variableOptions}}\\n @selected={{this.selectedVariable}}\\n @onChange={{this.updateVariable}} as |variable|\\n >\\n {{variable.label}}\\n </PowerSelectMultiple>\\n {{else}}\\n <PowerSelect\\n @allowClear={{false}}\\n @searchEnabled={{false}}\\n @options={{this.variableOptions}}\\n @selected={{this.selectedVariable}}\\n @onChange={{this.updateVariable}} as |variable|\\n >\\n {{variable.label}}\\n </PowerSelect>\\n {{/if}}\\n <AuButton {{on \\'click\\' this.insert}} @disabled={{not this.selectedVariable}}>Voeg in</AuButton>\\n </c.content>\\n </AuCard>\\n{{/if}}\\n\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { getOwner } from '@ember/application';\nimport { task } from 'ember-concurrency';\n\nimport { fetchCodeListOptions } from '../../utils/variable-plugins/fetch-data';\nimport { MULTI_SELECT_CODELIST_TYPE, ZONAL_URI } from '../../constants';\n\nexport default class EditorPluginsTemplateVariableCardComponent extends Component {\n @tracked variableOptions = [];\n @tracked selectedVariable;\n @tracked showCard = false;\n @tracked multiSelect = false;\n mappingUri;\n\n constructor() {\n super(...arguments);\n const config = getOwner(this).resolveRegistration('config:environment');\n this.zonalLocationCodelistUri =\n config.templateVariablePlugin.zonalLocationCodelistUri;\n this.endpoint = config.templateVariablePlugin.endpoint;\n this.nonZonalLocationCodelistUri =\n config.templateVariablePlugin.nonZonalLocationCodelistUri;\n this.args.controller.onEvent('selectionChanged', this.selectionChanged);\n this.liveHighlights = this.args.controller.createLiveMarkSet({\n datastoreQuery: (datastore) => {\n const limitedDataset = datastore.transformDataset(\n (dataset, termconverter) => {\n const mappings = dataset.match(\n null,\n termconverter('a'),\n termconverter('ext:Mapping')\n );\n const locations = dataset.match(\n null,\n termconverter('>http://purl.org/dc/terms/type'),\n termconverter('@en-US\"location')\n );\n const codelists = dataset.match(\n null,\n termconverter('>http://purl.org/dc/terms/type'),\n termconverter('@en-US\"codelist')\n );\n const supportedMappings = locations.union(codelists);\n return mappings.filter(\n (quad) => supportedMappings.match(quad.subject).size !== 0\n );\n }\n );\n const matches = limitedDataset.searchTextIn(\n 'subject',\n new RegExp('.*')\n );\n return matches;\n },\n\n liveMarkSpecs: ['highlighted'],\n });\n }\n\n @action\n insert() {\n const selectedRange = this.args.controller.selection.lastRange;\n if (!selectedRange) {\n return;\n }\n const limitedDatastore = this.args.controller.datastore.limitToRange(\n selectedRange,\n 'rangeIsInside'\n );\n const mapping = limitedDatastore\n .match(`>${this.mappingUri}`, 'ext:content', null)\n .asSubjectNodes()\n .next().value;\n const mappingNode = [...mapping.nodes][0];\n let mappingContentNode;\n for (let child of mappingNode.children) {\n if (child.attributeMap.get('property') === 'ext:content') {\n mappingContentNode = child;\n break;\n }\n }\n let textToInsert = '';\n if (this.selectedVariable.length) {\n textToInsert = this.selectedVariable\n .map((variable) => variable.value)\n .join(', ');\n } else {\n textToInsert = this.selectedVariable.value;\n }\n textToInsert = this.wrapVariableInHighlight(textToInsert);\n this.args.controller.executeCommand(\n 'insert-and-collapse',\n this.args.controller,\n textToInsert,\n mappingContentNode\n );\n }\n\n wrapVariableInHighlight(text) {\n return text.replace(\n /\\$\\{(.+?)\\}/g,\n '<span class=\"mark-highlight-manual\">${$1}</span>'\n );\n }\n\n @action\n selectionChanged() {\n this.showCard = false;\n this.selectedVariable = undefined;\n const selectedRange = this.args.controller.selection.lastRange;\n if (!selectedRange) {\n return;\n }\n const fullDatastore = this.args.controller.datastore;\n const limitedDatastore = this.args.controller.datastore.limitToRange(\n selectedRange,\n 'rangeIsInside'\n );\n const mapping = limitedDatastore\n .match(null, 'a', 'ext:Mapping')\n .asQuads()\n .next().value;\n console.log('MAPPING: ', mapping);\n if (mapping) {\n const mappingUri = mapping.subject.value;\n this.mappingUri = mappingUri;\n const mappingTypeTriple = fullDatastore\n .match(`>${mappingUri}`, 'dct:type', null)\n .asQuads()\n .next().value;\n console.log('TRIPLE: ', mappingTypeTriple);\n if (mappingTypeTriple) {\n const mappingType = mappingTypeTriple.object.value;\n if (mappingType === 'codelist') {\n const codelistTriple = fullDatastore\n .match(`>${mappingUri}`, 'ext:codelist', null)\n .asQuads()\n .next().value;\n const codelistSource = this.getCodelistSource(\n fullDatastore,\n mappingUri\n );\n this.showCard = true;\n const codelistUri = codelistTriple.object.value;\n this.fetchCodeListOptions.perform(codelistSource, codelistUri);\n } else if (mappingType === 'location') {\n const codelistSource = this.getCodelistSource(\n fullDatastore,\n mappingUri\n );\n const measureTriple = limitedDatastore\n .match(\n null,\n 'a',\n '>https://data.vlaanderen.be/ns/mobiliteit#Mobiliteitsmaatregel'\n )\n .asQuads()\n .next().value;\n const measureUri = measureTriple.subject.value;\n const zonalityTriple = fullDatastore\n .match(`>${measureUri}`, 'ext:zonality', null)\n .asQuads()\n .next().value;\n const zonalityUri = zonalityTriple.object.value;\n if (zonalityUri === ZONAL_URI) {\n this.fetchCodeListOptions.perform(\n codelistSource,\n this.zonalLocationCodelistUri,\n true\n );\n } else {\n this.fetchCodeListOptions.perform(\n codelistSource,\n this.nonZonalLocationCodelistUri,\n true\n );\n }\n this.showCard = true;\n }\n }\n }\n }\n\n getCodelistSource(fullDatastore, mappingUri) {\n const codelistSourceTriple = fullDatastore\n .match(`>${mappingUri}`, 'dct:source', null)\n .asQuads()\n .next();\n\n if (codelistSourceTriple && codelistSourceTriple.value) {\n const codelistSourceTripleValue = codelistSourceTriple.value;\n return codelistSourceTripleValue.object.value;\n } else {\n return this.endpoint;\n }\n }\n\n @action\n updateVariable(variable) {\n this.selectedVariable = variable;\n }\n\n @task\n *fetchCodeListOptions(endpoint, codelistUri, isLocation) {\n const { type, options } = yield fetchCodeListOptions(endpoint, codelistUri);\n if (isLocation) {\n this.variableOptions = options.map((option) => ({\n label: option.label,\n value: this.wrapInLocation(option.value),\n }));\n } else {\n this.variableOptions = options;\n }\n if (type === MULTI_SELECT_CODELIST_TYPE) {\n this.multiSelect = true;\n } else {\n this.multiSelect = false;\n }\n }\n\n wrapInLocation(value) {\n return `\n <span property=\"https://data.vlaanderen.be/ns/mobiliteit#plaatsbepaling\">\n ${value}\n </span>\n `;\n }\n}\n"],"names":["hbs","EditorPluginsTemplateVariableCardComponent","Component","constructor","arguments","config","getOwner","resolveRegistration","zonalLocationCodelistUri","templateVariablePlugin","endpoint","nonZonalLocationCodelistUri","args","controller","onEvent","selectionChanged","liveHighlights","createLiveMarkSet","datastoreQuery","datastore","limitedDataset","transformDataset","dataset","termconverter","mappings","match","locations","codelists","supportedMappings","union","filter","quad","subject","size","matches","searchTextIn","RegExp","liveMarkSpecs","insert","selectedRange","selection","lastRange","limitedDatastore","limitToRange","mapping","mappingUri","asSubjectNodes","next","value","mappingNode","nodes","mappingContentNode","child","children","attributeMap","get","textToInsert","selectedVariable","length","map","variable","join","wrapVariableInHighlight","executeCommand","text","replace","showCard","undefined","fullDatastore","asQuads","console","log","mappingTypeTriple","mappingType","object","codelistTriple","codelistSource","getCodelistSource","codelistUri","fetchCodeListOptions","perform","measureTriple","measureUri","zonalityTriple","zonalityUri","ZONAL_URI","codelistSourceTriple","codelistSourceTripleValue","updateVariable","isLocation","type","options","variableOptions","option","label","wrapInLocation","MULTI_SELECT_CODELIST_TYPE","multiSelect","tracked","action","task"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ const TABLE_OF_CONTENTS_DEFAULT_CONFIG = [{
2
+ sectionPredicate: 'https://say.data.gift/ns/hasPart',
3
+ value: {
4
+ predicate: 'https://say.data.gift/ns/heading'
5
+ }
6
+ }, {
7
+ sectionPredicate: 'https://say.data.gift/ns/hasParagraph',
8
+ value: '§'
9
+ }];
10
+ const ZONAL_URI = 'http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d';
11
+ const POTENTIALLY_ZONAL_URI = 'http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f';
12
+ const NON_ZONAL_URI = 'http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc';
13
+ const MULTI_SELECT_CODELIST_TYPE = 'http://lblod.data.gift/concepts/57C93E12-A02C-4D4B-8B95-666B6701286C';
14
+
15
+ export { MULTI_SELECT_CODELIST_TYPE as M, NON_ZONAL_URI as N, POTENTIALLY_ZONAL_URI as P, TABLE_OF_CONTENTS_DEFAULT_CONFIG as T, ZONAL_URI as Z };
16
+ //# sourceMappingURL=constants-c77fd478.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-c77fd478.js","sources":["../src/constants.js"],"sourcesContent":["export const TABLE_OF_CONTENTS_DEFAULT_CONFIG = [\n {\n sectionPredicate: 'https://say.data.gift/ns/hasPart',\n value: {\n predicate: 'https://say.data.gift/ns/heading',\n },\n },\n {\n sectionPredicate: 'https://say.data.gift/ns/hasParagraph',\n value: '§',\n },\n];\n\nexport const ZONAL_URI =\n 'http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d';\n\nexport const POTENTIALLY_ZONAL_URI =\n 'http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f';\n\nexport const NON_ZONAL_URI =\n 'http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc';\n\nexport const MULTI_SELECT_CODELIST_TYPE =\n 'http://lblod.data.gift/concepts/57C93E12-A02C-4D4B-8B95-666B6701286C';\n"],"names":["TABLE_OF_CONTENTS_DEFAULT_CONFIG","sectionPredicate","value","predicate","ZONAL_URI","POTENTIALLY_ZONAL_URI","NON_ZONAL_URI","MULTI_SELECT_CODELIST_TYPE"],"mappings":"AAAO,MAAMA,gCAAgC,GAAG,CAC9C;AACEC,EAAAA,gBAAgB,EAAE,kCAAkC;AACpDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE,kCAAA;AACb,GAAA;AACF,CAAC,EACD;AACEF,EAAAA,gBAAgB,EAAE,uCAAuC;AACzDC,EAAAA,KAAK,EAAE,GAAA;AACT,CAAC,EACF;AAEM,MAAME,SAAS,GACpB,uEAAsE;AAEjE,MAAMC,qBAAqB,GAChC,uEAAsE;AAEjE,MAAMC,aAAa,GACxB,uEAAsE;AAEjE,MAAMC,0BAA0B,GACrC;;;;"}
@@ -0,0 +1,80 @@
1
+ function generateCodeListOptionsQuery(codelistUri) {
2
+ const codeListOptionsQuery = `
3
+ PREFIX lblodMobilitiet: <http://data.lblod.info/vocabularies/mobiliteit/>
4
+ PREFIX dct: <http://purl.org/dc/terms/>
5
+ PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
6
+ PREFIX schema: <http://schema.org/>
7
+ SELECT DISTINCT * WHERE {
8
+ <${codelistUri}> a lblodMobilitiet:Codelist.
9
+ ?codelistOptions skos:inScheme <${codelistUri}>.
10
+ ?codelistOptions skos:prefLabel ?label.
11
+ OPTIONAL {
12
+ ?codelistOptions schema:position ?position .
13
+ }
14
+ OPTIONAL {
15
+ <${codelistUri}> dct:type ?type.
16
+ }
17
+ }
18
+ ORDER BY (!BOUND(?position)) ASC(?position)
19
+ `;
20
+ return codeListOptionsQuery;
21
+ }
22
+ function generateCodeListsByPublisherQuery(publisher) {
23
+ const codeListOptionsQuery = `
24
+ PREFIX lblodMobilitiet: <http://data.lblod.info/vocabularies/mobiliteit/>
25
+ PREFIX dct: <http://purl.org/dc/terms/>
26
+ PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
27
+ PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
28
+ SELECT DISTINCT * WHERE {
29
+ ?uri a lblodMobilitiet:Codelist;
30
+ skos:prefLabel ?label.
31
+ ${publisher ? `
32
+ ?uri dct:publisher <${publisher}>.
33
+ ` : ''}
34
+ }
35
+ `;
36
+ return codeListOptionsQuery;
37
+ }
38
+ async function fetchCodeListOptions(endpoint, codelistUri) {
39
+ const codelistsOptionsQueryResult = await executeQuery(endpoint, generateCodeListOptionsQuery(codelistUri));
40
+ const options = parseCodelistOptions(codelistsOptionsQueryResult);
41
+ return {
42
+ type: codelistsOptionsQueryResult.results.bindings[0] && codelistsOptionsQueryResult.results.bindings[0].type ? codelistsOptionsQueryResult.results.bindings[0].type.value : '',
43
+ options
44
+ };
45
+ }
46
+ async function fetchCodeListsByPublisher(endpoint, publisher) {
47
+ const codelistsOptionsQueryResult = await executeQuery(endpoint, generateCodeListsByPublisherQuery(publisher));
48
+ const bindings = codelistsOptionsQueryResult.results.bindings;
49
+ return bindings.map(binding => ({
50
+ uri: binding.uri.value,
51
+ label: binding.label.value
52
+ }));
53
+ }
54
+ function parseCodelistOptions(queryResult) {
55
+ const bindings = queryResult.results.bindings;
56
+ return bindings.map(binding => ({
57
+ value: binding.label.value,
58
+ label: binding.label.value
59
+ }));
60
+ }
61
+ async function executeQuery(endpoint, query) {
62
+ const encodedQuery = encodeURIComponent(query.trim());
63
+ const response = await fetch(endpoint, {
64
+ method: 'POST',
65
+ mode: 'cors',
66
+ headers: {
67
+ Accept: 'application/sparql-results+json',
68
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
69
+ },
70
+ body: `query=${encodedQuery}`
71
+ });
72
+ if (response.ok) {
73
+ return response.json();
74
+ } else {
75
+ throw new Error(`Request to MOW backend was unsuccessful: [${response.status}] ${response.statusText}`);
76
+ }
77
+ }
78
+
79
+ export { fetchCodeListOptions as a, fetchCodeListsByPublisher as f };
80
+ //# sourceMappingURL=fetch-data-284bf106.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-data-284bf106.js","sources":["../src/utils/variable-plugins/fetch-data.js"],"sourcesContent":["function generateCodeListOptionsQuery(codelistUri) {\n const codeListOptionsQuery = `\n PREFIX lblodMobilitiet: <http://data.lblod.info/vocabularies/mobiliteit/>\n PREFIX dct: <http://purl.org/dc/terms/>\n PREFIX skos: <http://www.w3.org/2004/02/skos/core#>\n PREFIX schema: <http://schema.org/>\n SELECT DISTINCT * WHERE { \n <${codelistUri}> a lblodMobilitiet:Codelist.\n ?codelistOptions skos:inScheme <${codelistUri}>.\n ?codelistOptions skos:prefLabel ?label.\n OPTIONAL {\n ?codelistOptions schema:position ?position .\n }\n OPTIONAL {\n <${codelistUri}> dct:type ?type.\n }\n }\n ORDER BY (!BOUND(?position)) ASC(?position)\n `;\n return codeListOptionsQuery;\n}\n\nfunction generateCodeListsByPublisherQuery(publisher) {\n const codeListOptionsQuery = `\n PREFIX lblodMobilitiet: <http://data.lblod.info/vocabularies/mobiliteit/>\n PREFIX dct: <http://purl.org/dc/terms/>\n PREFIX skos: <http://www.w3.org/2004/02/skos/core#>\n PREFIX mu: <http://mu.semte.ch/vocabularies/core/>\n SELECT DISTINCT * WHERE { \n ?uri a lblodMobilitiet:Codelist;\n skos:prefLabel ?label.\n ${\n publisher\n ? `\n ?uri dct:publisher <${publisher}>.\n `\n : ''\n }\n }\n `;\n return codeListOptionsQuery;\n}\n\nexport async function fetchCodeListOptions(endpoint, codelistUri) {\n const codelistsOptionsQueryResult = await executeQuery(\n endpoint,\n generateCodeListOptionsQuery(codelistUri)\n );\n const options = parseCodelistOptions(codelistsOptionsQueryResult);\n return {\n type:\n codelistsOptionsQueryResult.results.bindings[0] &&\n codelistsOptionsQueryResult.results.bindings[0].type\n ? codelistsOptionsQueryResult.results.bindings[0].type.value\n : '',\n options,\n };\n}\n\nexport async function fetchCodeListsByPublisher(endpoint, publisher) {\n const codelistsOptionsQueryResult = await executeQuery(\n endpoint,\n generateCodeListsByPublisherQuery(publisher)\n );\n const bindings = codelistsOptionsQueryResult.results.bindings;\n return bindings.map((binding) => ({\n uri: binding.uri.value,\n label: binding.label.value,\n }));\n}\n\nfunction parseCodelistOptions(queryResult) {\n const bindings = queryResult.results.bindings;\n return bindings.map((binding) => ({\n value: binding.label.value,\n label: binding.label.value,\n }));\n}\n\nasync function executeQuery(endpoint, query) {\n const encodedQuery = encodeURIComponent(query.trim());\n const response = await fetch(endpoint, {\n method: 'POST',\n mode: 'cors',\n headers: {\n Accept: 'application/sparql-results+json',\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n },\n body: `query=${encodedQuery}`,\n });\n if (response.ok) {\n return response.json();\n } else {\n throw new Error(\n `Request to MOW backend was unsuccessful: [${response.status}] ${response.statusText}`\n );\n }\n}\n"],"names":["generateCodeListOptionsQuery","codelistUri","codeListOptionsQuery","generateCodeListsByPublisherQuery","publisher","fetchCodeListOptions","endpoint","codelistsOptionsQueryResult","executeQuery","options","parseCodelistOptions","type","results","bindings","value","fetchCodeListsByPublisher","map","binding","uri","label","queryResult","query","encodedQuery","encodeURIComponent","trim","response","fetch","method","mode","headers","Accept","body","ok","json","Error","status","statusText"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { helper } from '@ember/component/helper';
2
+
3
+ var limitText = helper(function limitText([string]) {
4
+ if (string.length > 140) {
5
+ return string.slice(0, 140) + '...';
6
+ } else {
7
+ return string;
8
+ }
9
+ });
10
+
11
+ export { limitText as default };
12
+ //# sourceMappingURL=limit-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limit-text.js","sources":["../../src/helpers/limit-text.js"],"sourcesContent":["import { helper } from '@ember/component/helper';\n\nexport default helper(function limitText([string]) {\n if (string.length > 140) {\n return string.slice(0, 140) + '...';\n } else {\n return string;\n }\n});\n"],"names":["helper","limitText","string","length","slice"],"mappings":";;AAEA,gBAAeA,MAAM,CAAC,SAASC,SAAS,CAAC,CAACC,MAAM,CAAC,EAAE;AACjD,EAAA,IAAIA,MAAM,CAACC,MAAM,GAAG,GAAG,EAAE;IACvB,OAAOD,MAAM,CAACE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AACrC,GAAC,MAAM;AACL,IAAA,OAAOF,MAAM,CAAA;AACf,GAAA;AACF,CAAC,CAAC;;;;"}
@@ -0,0 +1,10 @@
1
+ function includeInstructions(html, instructions, annotated) {
2
+ let finalHtml = html;
3
+ for (let instruction of instructions) {
4
+ finalHtml = finalHtml.replaceAll(`\${${instruction.name}}`, annotated ? instruction.annotatedTemplate : instruction.template);
5
+ }
6
+ return finalHtml;
7
+ }
8
+
9
+ export { includeInstructions as i };
10
+ //# sourceMappingURL=includeInstructions-a32c24e6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"includeInstructions-a32c24e6.js","sources":["../src/utils/roadsign-regulation-plugin/includeInstructions.js"],"sourcesContent":["export default function includeInstructions(html, instructions, annotated) {\n let finalHtml = html;\n for (let instruction of instructions) {\n finalHtml = finalHtml.replaceAll(\n `\\${${instruction.name}}`,\n annotated ? instruction.annotatedTemplate : instruction.template\n );\n }\n return finalHtml;\n}\n"],"names":["includeInstructions","html","instructions","annotated","finalHtml","instruction","replaceAll","name","annotatedTemplate","template"],"mappings":"AAAe,SAASA,mBAAmB,CAACC,IAAI,EAAEC,YAAY,EAAEC,SAAS,EAAE;EACzE,IAAIC,SAAS,GAAGH,IAAI,CAAA;AACpB,EAAA,KAAK,IAAII,WAAW,IAAIH,YAAY,EAAE;IACpCE,SAAS,GAAGA,SAAS,CAACE,UAAU,CAC7B,CAAKD,GAAAA,EAAAA,WAAW,CAACE,IAAK,CAAA,CAAA,CAAE,EACzBJ,SAAS,GAAGE,WAAW,CAACG,iBAAiB,GAAGH,WAAW,CAACI,QAAQ,CACjE,CAAA;AACH,GAAA;AACA,EAAA,OAAOL,SAAS,CAAA;AAClB;;;;"}
@@ -2,7 +2,7 @@ import { b as _defineProperty, _ as _applyDecoratedDescriptor, a as _initializer
2
2
  import { inject } from '@ember/service';
3
3
  import { InlineComponentSpec } from '@lblod/ember-rdfa-editor/model/inline-components/model-inline-component';
4
4
  import { isElement } from '@lblod/ember-rdfa-editor/utils/dom-helpers';
5
- import { T as TABLE_OF_CONTENTS_DEFAULT_CONFIG } from '../constants-af958fcd.js';
5
+ import { T as TABLE_OF_CONTENTS_DEFAULT_CONFIG } from '../constants-c77fd478.js';
6
6
 
7
7
  class BesluitTypePlugin {
8
8
  constructor() {
@@ -147,6 +147,32 @@ class GenerateTemplatePlugin {
147
147
  }
148
148
  }
149
149
 
150
+ /**
151
+ * Entrypoint for the roadsign regulation plugin.
152
+ */
153
+ class RoadSignRegulationPlugin {
154
+ constructor() {
155
+ _defineProperty(this, "controller", void 0);
156
+ }
157
+ get name() {
158
+ return 'roadsign-regulation-plugin';
159
+ }
160
+
161
+ /**
162
+ * Gets called when the editor loads.
163
+ * Can optionally be async if needed.
164
+ * @param controller
165
+ */
166
+ initialize(controller) {
167
+ this.controller = controller;
168
+ controller.registerWidget({
169
+ componentName: 'roadsign-regulation-plugin/roadsign-regulation-card',
170
+ identifier: 'roadsign-regulation-plugin/roadsign-regulation-card',
171
+ desiredLocation: 'insertSidebar'
172
+ });
173
+ }
174
+ }
175
+
150
176
  class TableOfContentsSpec extends InlineComponentSpec {
151
177
  _renderStatic() {
152
178
  // TODO: should be implemented when static version of inline components work correctly
@@ -267,6 +293,65 @@ class ImportSnippetPlugin {
267
293
  }
268
294
  }
269
295
 
296
+ class InsertAndCollapseCommand {
297
+ constructor(model) {
298
+ _defineProperty(this, "name", 'insert-and-collapse');
299
+ this.model = model;
300
+ }
301
+ canExecute() {
302
+ return true;
303
+ }
304
+ execute(controller, htmlString, node) {
305
+ const range = controller.rangeFactory.fromInNode(node, 0, node.getMaxOffset());
306
+ controller.executeCommand('insert-html', htmlString, range);
307
+ controller.selection.selectRange(controller.selection.lastRange.shrinkToVisible());
308
+ const containedNodes = controller.selection.lastRange.contextNodes('rangeContains');
309
+ containedNodes.next();
310
+ const span = containedNodes.next().value;
311
+ const finalRange = controller.rangeFactory.fromInNode(span);
312
+ controller.selection.selectRange(finalRange);
313
+ this.model.writeSelection();
314
+ }
315
+ }
316
+
317
+ class TemplateVariablePlugin {
318
+ constructor() {
319
+ _defineProperty(this, "controller", void 0);
320
+ }
321
+ get name() {
322
+ return 'template-variable-plugin';
323
+ }
324
+ initialize(controller) {
325
+ this.controller = controller;
326
+ controller.registerWidget({
327
+ componentName: 'template-variable-plugin/template-variable-card',
328
+ identifier: 'template-variable-plugin/card',
329
+ desiredLocation: 'sidebar'
330
+ });
331
+ controller.registerCommand(new InsertAndCollapseCommand(controller._rawEditor._model));
332
+ }
333
+ }
334
+
335
+ class InsertVariablePlugin {
336
+ constructor() {
337
+ _defineProperty(this, "controller", void 0);
338
+ }
339
+ get name() {
340
+ return 'insert-variable-plugin';
341
+ }
342
+ initialize(controller, options) {
343
+ this.controller = controller;
344
+ controller.registerWidget({
345
+ componentName: 'insert-variable-plugin/insert-variable-card',
346
+ identifier: 'insert-variable-plugin/card',
347
+ desiredLocation: 'sidebar',
348
+ widgetArgs: {
349
+ options: options
350
+ }
351
+ });
352
+ }
353
+ }
354
+
270
355
  function pluginFactory(plugin) {
271
356
  return {
272
357
  create: initializers => {
@@ -292,12 +377,21 @@ function initialize(application) {
292
377
  application.register('plugin:generate-template', pluginFactory(GenerateTemplatePlugin), {
293
378
  singleton: false
294
379
  });
380
+ application.register('plugin:roadsign-regulation', pluginFactory(RoadSignRegulationPlugin), {
381
+ singleton: false
382
+ });
295
383
  application.register('plugin:rdfa-date', pluginFactory(RdfaDatePlugin), {
296
384
  singleton: false
297
385
  });
298
386
  application.register('plugin:import-snippet', pluginFactory(ImportSnippetPlugin), {
299
387
  singleton: false
300
388
  });
389
+ application.register('plugin:template-variable', pluginFactory(TemplateVariablePlugin), {
390
+ singleton: false
391
+ });
392
+ application.register('plugin:insert-variable', pluginFactory(InsertVariablePlugin), {
393
+ singleton: false
394
+ });
301
395
  }
302
396
  var pluginInitializer = {
303
397
  initialize