@lblod/ember-rdfa-editor-lblod-plugins 32.1.0 → 32.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @lblod/ember-rdfa-editor-lblod-plugins
2
2
 
3
+ ## 32.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#579](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/579) [`88b6a8e`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/88b6a8e486ed3470e5739068e73f1322d5f9f5b3) Thanks [@piemonkey](https://github.com/piemonkey)! - Change structure-plugin to output say:body with datatype rdf:HTML instead of rdf:XMLLiteral as it is more correct
8
+
9
+ - [#577](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/577) [`d3a1901`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/d3a19011398e1d95bafda85cd660a4c5a6089a22) Thanks [@piemonkey](https://github.com/piemonkey)! - Move structure-plugin to use on-changed plugin to always keep RDFa and numbering up to date on changes
10
+
11
+ - [#577](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/577) [`299773f`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/299773f4653951112192b30676ad34787fe57b72) Thanks [@piemonkey](https://github.com/piemonkey)! - Move to @lblod/ember-rdfa-editor version 12.9.0 with support for drag-and-drop ember-nodes and on-changed plugin
12
+
13
+ - [#580](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/580) [`57d72b6`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/57d72b6f4f4d02524f5e6e7e1256c11f3ee026d4) Thanks [@piemonkey](https://github.com/piemonkey)! - Fix location plugin to output correct WKT polygons (with matching start and end points) for area locations
14
+
15
+ ### Patch Changes
16
+
17
+ - [#578](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/578) [`2913a8d`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/2913a8d9754a7ac3eb99d9663d2730628e84f885) Thanks [@elpoelma](https://github.com/elpoelma)! - Fix missing translations in citation-plugin
18
+
19
+ - [#578](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/578) [`848ada7`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/848ada7597f19d56dc84256b7db42d6876181168) Thanks [@elpoelma](https://github.com/elpoelma)! - Improve translations of worship-plugin (capitalization, add missing translations etc.)
20
+
3
21
  ## 32.1.0
4
22
 
5
23
  ### Minor Changes
@@ -38,8 +38,8 @@
38
38
  @allowClear={{false}}
39
39
  @disabled={{false}}
40
40
  @searchEnabled={{true}}
41
- @loadingMessage={{t 'citaten-plugin.alert.loading'}}
42
- @noMatchesMessage={{t 'citaten-plugin.alert.no-results'}}
41
+ @loadingMessage={{t 'common.loading'}}
42
+ @noMatchesMessage={{t 'common.search.no-results'}}
43
43
  @searchMessage={{t 'citaten-plugin.search.placeholder'}}
44
44
  @options={{this.legislationTypes}}
45
45
  @selected={{this.legislationSelected}}
@@ -220,7 +220,12 @@ export default class SnippetNode extends Component<Signature> {
220
220
  />
221
221
  {{else}}
222
222
  <div class='say-snippet-card'>
223
- <div class='say-snippet-title'>
223
+ <div
224
+ class='say-snippet-title'
225
+ contenteditable='false'
226
+ {{! template-lint-disable no-invalid-interactive }}
227
+ {{on 'click' @selectNode}}
228
+ >
224
229
  <span class='au-c-badge au-c-badge--small say-snippet-title-icon'>
225
230
  <AuIcon @icon='plus-text' />
226
231
  </span>
@@ -204,14 +204,28 @@ export default class Structure extends Component<Sig> {
204
204
  focusInner() {
205
205
  this.innerView?.focus();
206
206
  }
207
+ selectNode = (event: MouseEvent) => {
208
+ if (
209
+ !(event.target instanceof HTMLElement) ||
210
+ !event.target.classList.contains('say-structure__title')
211
+ ) {
212
+ // Only select the node if we're not trying to edit the title...
213
+ this.args.selectNode();
214
+ }
215
+ };
216
+
207
217
  <template>
208
218
  <div
209
219
  class='say-structure'
210
220
  {{didUpdate this.onAttrsUpdate this.titleAttr}}
211
221
  {{on 'focus' this.focusInner}}
212
222
  >
213
- <div class='say-structure__header' contenteditable='false'>
214
-
223
+ <div
224
+ class='say-structure__header'
225
+ contenteditable='false'
226
+ {{! template-lint-disable no-invalid-interactive }}
227
+ {{on 'click' this.selectNode}}
228
+ >
215
229
  {{#let (element this.headerTag) as |Tag|}}
216
230
  <Tag class='say-structure__header-element'><span
217
231
  class='say-structure__name'
@@ -1,9 +1,9 @@
1
1
  {{! @glint-nocheck: not typesafe yet }}
2
2
  <PowerSelect
3
3
  @loadingMessage={{t 'common.search.loading'}}
4
- @searchMessage={{t 'worship-plugin.modal.search.search'}}
5
- @noMatchesMessage={{t 'worship-plugin.modal.search.no-results'}}
6
- @placeholderMessage={{t 'worship-plugin.modal.fields.admin-unit'}}
4
+ @searchMessage={{t 'worship-plugin.modal.fields.admin-unit.search'}}
5
+ @noMatchesMessage={{t 'worship-plugin.modal.fields.admin-unit.no-results'}}
6
+ @placeholder={{t 'worship-plugin.modal.fields.admin-unit.placeholder'}}
7
7
  @allowClear={{true}}
8
8
  @renderInPlace={{true}}
9
9
  @searchEnabled={{true}}
@@ -4,7 +4,7 @@
4
4
  <th>
5
5
  <Common::Sort::SortableTableHeader
6
6
  @field='label'
7
- @label={{t 'worship-plugin.modal.fields.name'}}
7
+ @label={{t 'worship-plugin.modal.fields.name.label'}}
8
8
  @sort={{@sort}}
9
9
  @setSort={{@setSort}}
10
10
  />
@@ -18,21 +18,21 @@
18
18
  <div class='au-c-sidebar'>
19
19
  <div class='au-c-sidebar__content au-u-padding'>
20
20
  <AuHeading @level='3' @skin='4' class='au-u-padding-bottom-small'>
21
- {{t 'worship-plugin.modal.search.title'}}
21
+ {{t 'worship-plugin.modal.filter-on'}}
22
22
  </AuHeading>
23
23
  <AuLabel class='au-margin-bottom-small' for='searchTerm'>
24
- {{t 'worship-plugin.modal.fields.name'}}
24
+ {{t 'worship-plugin.modal.fields.name.label'}}
25
25
  </AuLabel>
26
26
  <AuNativeInput
27
27
  @type='text'
28
28
  @width='block'
29
29
  id='searchTerm'
30
30
  value={{this.searchText}}
31
- placeholder={{t 'worship-plugin.modal.search.placeholder'}}
31
+ placeholder={{t 'worship-plugin.modal.fields.name.placeholder'}}
32
32
  {{on 'input' this.setInputSearchText}}
33
33
  />
34
34
  <AuLabel class='au-margin-bottom-small' for='admin-unit-select'>
35
- {{t 'worship-plugin.modal.fields.admin-unit'}}
35
+ {{t 'worship-plugin.modal.fields.admin-unit.label'}}
36
36
  </AuLabel>
37
37
  <WorshipPlugin::AdministrativeUnitPicker
38
38
  id='admin-unit-select'
@@ -18,7 +18,13 @@ export class Polygon {
18
18
  declare uri: string;
19
19
  declare locations: GeoPos[];
20
20
  constructor(args: Omit<Polygon, 'constructor' | 'formatted'>) {
21
- Object.assign(this, args);
21
+ this.uri = args.uri;
22
+ // The start and end points of a polygon should match
23
+ if (isSamePos(args.locations[0], args.locations.at(-1))) {
24
+ this.locations = args.locations;
25
+ } else {
26
+ this.locations = [...args.locations, args.locations[0]];
27
+ }
22
28
  }
23
29
 
24
30
  get formatted() {
@@ -109,6 +115,15 @@ export type GeoPos = {
109
115
  lambert: Lambert72Coordinates;
110
116
  };
111
117
 
118
+ export function isSamePos(
119
+ a: GeoPos | undefined,
120
+ b: GeoPos | undefined,
121
+ ): boolean {
122
+ return (
123
+ !!a && !!b && a.lambert.x === b.lambert.x && a.lambert.y === b.lambert.y
124
+ );
125
+ }
126
+
112
127
  export function constructLambert72GMLString({ x, y }: Lambert72Coordinates) {
113
128
  return `<gml:Point srsName="http://www.opengis.net/def/crs/EPSG/0/31370" xmlns:gml="http://www.opengis.net/gml/3.2"><gml:pos>${x} ${y}</gml:pos></gml:Point>`;
114
129
  }
@@ -1,12 +1,9 @@
1
1
  import { Command } from '@lblod/ember-rdfa-editor';
2
- import { transactionCombinator } from '@lblod/ember-rdfa-editor/utils/transaction-utils';
3
2
  import {
4
3
  type StructurePluginOptions,
5
4
  type StructureType,
6
5
  } from '../../structure-plugin/structure-types';
7
- import { recalculateNumbers } from '../monads/recalculate-structure-numbers';
8
6
  import { findHowToInsertStructure } from '../monads/insert-structure';
9
- import { regenerateRdfaLinks } from '../monads/regenerate-rdfa-links';
10
7
  import { closeHistory } from '@lblod/ember-rdfa-editor/plugins/history';
11
8
 
12
9
  export const insertStructure = (
@@ -14,14 +11,13 @@ export const insertStructure = (
14
11
  uriGenerator: Required<StructurePluginOptions>['uriGenerator'],
15
12
  ): Command => {
16
13
  return (state, dispatch) => {
17
- const { result, transaction } = transactionCombinator(state)([
18
- findHowToInsertStructure(structureType, uriGenerator),
19
- // Prevent calculations that will not fail, if the command is just being tested
20
- ...(dispatch ? [recalculateNumbers, regenerateRdfaLinks] : []),
21
- ]);
14
+ const { result, transaction } = findHowToInsertStructure(
15
+ structureType,
16
+ uriGenerator,
17
+ )(state, { sayIsDryRun: !dispatch });
22
18
 
23
19
  transaction.scrollIntoView();
24
- if (result.every((ok) => ok)) {
20
+ if (result) {
25
21
  if (dispatch) {
26
22
  // makes sure each structure insertion is undoable, even when quickly
27
23
  // creating a bunch of them
@@ -42,8 +42,12 @@ import {
42
42
  Option,
43
43
  isSome,
44
44
  } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/option';
45
+ import { recalculateNumbers } from './monads/recalculate-structure-numbers';
46
+ import { regenerateRdfaLinks } from './monads/regenerate-rdfa-links';
47
+ import { NodeSpecOnChanged } from '@lblod/ember-rdfa-editor/plugins/on-changed/plugin';
45
48
 
46
49
  const rdfaAware = true;
50
+ const parser = new DOMParser();
47
51
 
48
52
  const PARAGRAPH_SYMBOL = '§';
49
53
 
@@ -111,7 +115,13 @@ function buildTocEntry(node: PNode, state: EditorState) {
111
115
  }
112
116
  }
113
117
 
114
- const parser = new DOMParser();
118
+ const onChanged: NodeSpecOnChanged = {
119
+ doOnce: true,
120
+ monadGenerator: () => {
121
+ return [recalculateNumbers, regenerateRdfaLinks];
122
+ },
123
+ };
124
+
115
125
  export const emberNodeConfig: (
116
126
  config?: StructurePluginOptions,
117
127
  ) => EmberNodeConfig = (config) => {
@@ -128,6 +138,29 @@ export const emberNodeConfig: (
128
138
  atom: false,
129
139
  editable: rdfaAware,
130
140
  tocEntry: buildTocEntry,
141
+ // This stopEvent would prevent the issue where a cursor jumps temporarily inside a structure
142
+ // when it is selected (unless it's inside one that is already selected).
143
+ // Unfortunately, this has the side-effect that if a structure title anywhere in the document
144
+ // is selected, when any structure name is clicked, the selection remains where it is instead
145
+ // of moving. Due to the complexity of detecting this situation it seems better to leave the
146
+ // weird visual bug in place.
147
+ // stopEvent(event) {
148
+ // // Prevent mousedown events from jumping focus inside the ember-node temporarily when
149
+ // // selecting by clicking on the title
150
+ // if (event.type === 'mousedown') {
151
+ // const target = event.target;
152
+ // if (
153
+ // target instanceof HTMLElement &&
154
+ // (target.className.includes('say-structure__header') ||
155
+ // target.className.includes('say-structure__name'))
156
+ // ) {
157
+ // event.preventDefault();
158
+ // return true;
159
+ // }
160
+ // }
161
+ // // Follow default stopEvent logic
162
+ // return null;
163
+ // },
131
164
  attrs: {
132
165
  ...rdfaAttrSpec({ rdfaAware }),
133
166
 
@@ -166,6 +199,7 @@ export const emberNodeConfig: (
166
199
  : config?.onlyArticleSpecialName,
167
200
  },
168
201
  },
202
+ onChanged,
169
203
  serialize(node: PNode, state: EditorState) {
170
204
  const tag = node.attrs.headerTag;
171
205
  const structureType = node.attrs.structureType as StructureType;
@@ -273,7 +307,7 @@ export const emberNodeConfig: (
273
307
  headerSpec,
274
308
  [
275
309
  'div',
276
- { property: SAY('body').full, datatype: RDF('XMLLiteral').full },
310
+ { property: SAY('body').full, datatype: RDF('HTML').full },
277
311
  0,
278
312
  ],
279
313
  ],
@@ -4,4 +4,4 @@ export type LegacyTableOfContentsConfig = {
4
4
  }[];
5
5
  export type TableOfContentsConfig =
6
6
  | LegacyTableOfContentsConfig
7
- | { scrollContainer?: () => HTMLElement };
7
+ | { scrollContainer?: () => HTMLElement | undefined };
@@ -71,7 +71,7 @@ export function variableAutofillerPlugin(config: AutofilledArgs): ProsePlugin {
71
71
  }
72
72
  return tr;
73
73
  }
74
- return newState.tr;
74
+ return null;
75
75
  },
76
76
  });
77
77
  }
@@ -97,6 +97,7 @@
97
97
  padding: 5px;
98
98
  border-bottom: 1px solid var(--au-blue-300);
99
99
  color: var(--au-blue-700);
100
+ cursor: pointer;
100
101
  .say-snippet-title-icon {
101
102
  background-color: var(--au-blue-300);
102
103
  color: black;
@@ -158,6 +159,18 @@
158
159
  }
159
160
  }
160
161
  }
162
+ .ProseMirror-selectednode {
163
+ .say-snippet-content {
164
+ background-color: var(--au-blue-200);
165
+ }
166
+ .say-snippet-title {
167
+ background-color: var(--au-blue-300);
168
+ }
169
+ // Only grab if this exact snippet is selected
170
+ & > .say-snippet-card > .say-snippet-title {
171
+ cursor: grab;
172
+ }
173
+ }
161
174
 
162
175
  .ember-node.say-active:has(> .say-snippet-card) {
163
176
  outline: none;
@@ -179,6 +192,7 @@
179
192
  background-color: var(--au-orange-300);
180
193
  border-radius: var(--au-radius);
181
194
  border: 0.1rem solid var(--au-orange-500);
195
+ cursor: pointer;
182
196
 
183
197
  .say-snippet-placeholder__icon {
184
198
  background-color: var(--au-orange-500);
@@ -210,6 +224,7 @@
210
224
 
211
225
  .ProseMirror-selectednode > .say-snippet-placeholder {
212
226
  background-color: var(--au-blue-200);
227
+ cursor: grab;
213
228
  }
214
229
 
215
230
  .say-snippet-placeholder-node {
@@ -12,6 +12,7 @@
12
12
  padding-left: 0.7rem;
13
13
  border-bottom: 1px solid var(--au-gray-300);
14
14
  border-radius: 0.1em 0.1em 0 0;
15
+ cursor: pointer;
15
16
 
16
17
  .say-structure__header-element {
17
18
  margin: 0;
@@ -31,6 +32,7 @@
31
32
  .say-structure__title {
32
33
  flex: 1 1 100%;
33
34
 
35
+ cursor: text;
34
36
  border: none;
35
37
  flex-grow: 1;
36
38
  display: inline-block;
@@ -99,3 +101,20 @@
99
101
  border-bottom-width: 0.2rem;
100
102
  }
101
103
  }
104
+
105
+ // Don't highlight the whole node as selected if we're editing the title
106
+ .ember-node.ProseMirror-selectednode
107
+ > .say-structure:not(:has(.ProseMirror-focused)) {
108
+ background-color: var(--au-blue-200);
109
+
110
+ > .say-structure__header {
111
+ background-color: var(--au-blue-300);
112
+ }
113
+
114
+ > .say-structure__header {
115
+ cursor: grab;
116
+ .say-structure__header {
117
+ cursor: text;
118
+ }
119
+ }
120
+ }
@@ -41,5 +41,6 @@ export default class Structure extends Component<Sig> {
41
41
  onInnerEditorFocus: (view: SayView) => void;
42
42
  initializeNestedEditor(target: HTMLElement): void;
43
43
  focusInner(): void;
44
+ selectNode: (event: MouseEvent) => void;
44
45
  }
45
46
  export {};
@@ -63,6 +63,7 @@ export type GeoPos = {
63
63
  global?: GlobalCoordinates;
64
64
  lambert: Lambert72Coordinates;
65
65
  };
66
+ export declare function isSamePos(a: GeoPos | undefined, b: GeoPos | undefined): boolean;
66
67
  export declare function constructLambert72GMLString({ x, y }: Lambert72Coordinates): string;
67
68
  /**
68
69
  * Use a regex to parse a simple point as a GML string and return the coordinates.
@@ -3,5 +3,5 @@ export type LegacyTableOfContentsConfig = {
3
3
  scrollContainer?: () => HTMLElement;
4
4
  }[];
5
5
  export type TableOfContentsConfig = LegacyTableOfContentsConfig | {
6
- scrollContainer?: () => HTMLElement;
6
+ scrollContainer?: () => HTMLElement | undefined;
7
7
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lblod/ember-rdfa-editor-lblod-plugins",
3
- "version": "32.1.0",
3
+ "version": "32.2.0",
4
4
  "description": "Ember addon providing lblod specific plugins for the ember-rdfa-editor",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -109,7 +109,7 @@
109
109
  "@glint/template": "^1.5.0",
110
110
  "@graphy/content.ttl.write": "^4.3.7",
111
111
  "@graphy/memory.dataset.fast": "4.3.3",
112
- "@lblod/ember-rdfa-editor": "12.8.0",
112
+ "@lblod/ember-rdfa-editor": "12.9.0",
113
113
  "@rdfjs/types": "^1.1.0",
114
114
  "@release-it/keep-a-changelog": "^4.0.0",
115
115
  "@tsconfig/ember": "^3.0.8",
package/pnpm-lock.yaml CHANGED
@@ -181,8 +181,8 @@ importers:
181
181
  specifier: 4.3.3
182
182
  version: 4.3.3
183
183
  '@lblod/ember-rdfa-editor':
184
- specifier: 12.8.0
185
- version: 12.8.0(uyopq47zhjkpyroiqgd3grmn6i)
184
+ specifier: 12.9.0
185
+ version: 12.9.0(uyopq47zhjkpyroiqgd3grmn6i)
186
186
  '@rdfjs/types':
187
187
  specifier: ^1.1.0
188
188
  version: 1.1.0
@@ -1708,8 +1708,8 @@ packages:
1708
1708
  '@jridgewell/trace-mapping@0.3.25':
1709
1709
  resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
1710
1710
 
1711
- '@lblod/ember-rdfa-editor@12.8.0':
1712
- resolution: {integrity: sha512-ertVM7p2QOSg0SbwoVCv1o6c/ZlfuSP750URzco8hzrTLd+zuZWWK+94nEpXQRuHgc8mDUU0MQcRYTrewt2h6g==}
1711
+ '@lblod/ember-rdfa-editor@12.9.0':
1712
+ resolution: {integrity: sha512-T455Dtygw/IhCUn0a8mf+e8CUf7cI4hGY/oEa6+riGCXyOyfpH4/dZ0d5XSA34LjBnqzImG6wmhk9ws1iQYcPg==}
1713
1713
  peerDependencies:
1714
1714
  '@appuniversum/ember-appuniversum': ^3.5.0
1715
1715
  '@ember/test-helpers': ^2.9.4 || ^3.2.1 || ^4.0.2 || ^5.0.0
@@ -11928,7 +11928,7 @@ snapshots:
11928
11928
  '@jridgewell/resolve-uri': 3.1.2
11929
11929
  '@jridgewell/sourcemap-codec': 1.4.15
11930
11930
 
11931
- '@lblod/ember-rdfa-editor@12.8.0(uyopq47zhjkpyroiqgd3grmn6i)':
11931
+ '@lblod/ember-rdfa-editor@12.9.0(uyopq47zhjkpyroiqgd3grmn6i)':
11932
11932
  dependencies:
11933
11933
  '@appuniversum/ember-appuniversum': 3.5.0(@ember/test-helpers@3.3.1(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(webpack@5.97.1))(@glint/environment-ember-loose@1.5.1(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(@types/ember__array@4.0.10(@babel/core@7.26.0))(@types/ember__component@4.0.22(@babel/core@7.26.0))(@types/ember__controller@4.0.12(@babel/core@7.26.0))(@types/ember__object@4.0.12(@babel/core@7.26.0))(@types/ember__routing@4.0.22(@babel/core@7.26.0))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.1.0(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(tracked-built-ins@3.3.0)(webpack@5.97.1)
11934
11934
  '@codemirror/commands': 6.6.0
@@ -12480,6 +12480,27 @@ snapshots:
12480
12480
  dependencies:
12481
12481
  '@types/ms': 0.7.34
12482
12482
 
12483
+ '@types/ember@4.0.11':
12484
+ dependencies:
12485
+ '@types/ember__application': 4.0.11(@babel/core@7.26.0)
12486
+ '@types/ember__array': 4.0.10(@babel/core@7.26.0)
12487
+ '@types/ember__component': 4.0.22(@babel/core@7.26.0)
12488
+ '@types/ember__controller': 4.0.12(@babel/core@7.26.0)
12489
+ '@types/ember__debug': 4.0.8(@babel/core@7.26.0)
12490
+ '@types/ember__engine': 4.0.11(@babel/core@7.26.0)
12491
+ '@types/ember__error': 4.0.6
12492
+ '@types/ember__object': 4.0.12(@babel/core@7.26.0)
12493
+ '@types/ember__polyfills': 4.0.6
12494
+ '@types/ember__routing': 4.0.22(@babel/core@7.26.0)
12495
+ '@types/ember__runloop': 4.0.10
12496
+ '@types/ember__service': 4.0.9(@babel/core@7.26.0)
12497
+ '@types/ember__string': 3.16.3
12498
+ '@types/ember__template': 4.0.7
12499
+ '@types/ember__test': 4.0.6(@babel/core@7.26.0)
12500
+ '@types/ember__utils': 4.0.7
12501
+ '@types/rsvp': 4.0.9
12502
+ optional: true
12503
+
12483
12504
  '@types/ember@4.0.11(@babel/core@7.26.0)':
12484
12505
  dependencies:
12485
12506
  '@types/ember__application': 4.0.11(@babel/core@7.26.0)
@@ -12507,7 +12528,7 @@ snapshots:
12507
12528
  '@types/ember__application@4.0.11(@babel/core@7.26.0)':
12508
12529
  dependencies:
12509
12530
  '@glimmer/component': 1.1.2(@babel/core@7.26.0)
12510
- '@types/ember': 4.0.11(@babel/core@7.26.0)
12531
+ '@types/ember': 4.0.11
12511
12532
  '@types/ember__engine': 4.0.11(@babel/core@7.26.0)
12512
12533
  '@types/ember__object': 4.0.12(@babel/core@7.26.0)
12513
12534
  '@types/ember__owner': 4.0.9
@@ -12609,6 +12630,11 @@ snapshots:
12609
12630
  - supports-color
12610
12631
  optional: true
12611
12632
 
12633
+ '@types/ember__runloop@4.0.10':
12634
+ dependencies:
12635
+ '@types/ember': 4.0.11
12636
+ optional: true
12637
+
12612
12638
  '@types/ember__runloop@4.0.10(@babel/core@7.26.0)':
12613
12639
  dependencies:
12614
12640
  '@types/ember': 4.0.11(@babel/core@7.26.0)
@@ -12641,6 +12667,11 @@ snapshots:
12641
12667
  - supports-color
12642
12668
  optional: true
12643
12669
 
12670
+ '@types/ember__utils@4.0.7':
12671
+ dependencies:
12672
+ '@types/ember': 4.0.11
12673
+ optional: true
12674
+
12644
12675
  '@types/ember__utils@4.0.7(@babel/core@7.26.0)':
12645
12676
  dependencies:
12646
12677
  '@types/ember': 4.0.11(@babel/core@7.26.0)
@@ -394,14 +394,16 @@ worship-plugin:
394
394
  modal:
395
395
  title: Choose a worship service
396
396
  insert: Insert
397
- search:
398
- title: Filter on
399
- placeholder: Type something...
400
- search: search
401
- no results: nothing found
397
+ filter-on: Filter on
402
398
  fields:
403
- name: Name
404
- admin-unit: Administrative Unit
399
+ name:
400
+ label: Name
401
+ placeholder: Type something
402
+ admin-unit:
403
+ label: Administrative Unit
404
+ placeholder: Select administrative unit
405
+ search: Type to search
406
+ no-results: No results
405
407
 
406
408
  lmb-plugin:
407
409
  insert:
@@ -389,18 +389,20 @@ confidentiality-plugin:
389
389
 
390
390
  worship-plugin:
391
391
  insert:
392
- title: Erediensten invoegen
392
+ title: Eredienst invoegen
393
393
  modal:
394
- title: Kies een erediensten
394
+ title: Kies een eredienst
395
395
  insert: Invoegen
396
- search:
397
- title: Filter op
398
- placeholder: Typ iets...
399
- search: zoeken
400
- no results: niets gevonden
396
+ filter-on: Filter op
401
397
  fields:
402
- name: Naam
403
- admin-unit: Bestuurseenheid
398
+ name:
399
+ label: Naam
400
+ placeholder: Typ om te zoeken
401
+ admin-unit:
402
+ label: Bestuurseenheid
403
+ placeholder: Selecteer bestuurseenheid
404
+ search: Typ om te zoeken
405
+ no-results: Geen resultaat
404
406
 
405
407
  lmb-plugin:
406
408
  insert: