@lblod/ember-rdfa-editor-lblod-plugins 32.5.3 → 32.6.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,11 @@
1
1
  # @lblod/ember-rdfa-editor-lblod-plugins
2
2
 
3
+ ## 32.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#599](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/599) [`532f3d1`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/532f3d1a04eba1aa2071ba6154f7b882ea76ae78) Thanks [@elpoelma](https://github.com/elpoelma)! - Order traffic signals of a mobility measure based on their position
8
+
3
9
  ## 32.5.3
4
10
 
5
11
  ### Patch Changes
@@ -142,13 +142,12 @@ async function _queryMobilityMeasures<Count extends boolean>(
142
142
  );
143
143
  const conceptsWithSigns = await Promise.all(
144
144
  concepts.map(async (concept) => {
145
- const trafficSignalConcepts = await queryTrafficSignalConcepts(
146
- endpoint,
147
- {
145
+ const trafficSignalConcepts = (
146
+ await queryTrafficSignalConcepts(endpoint, {
148
147
  measureConceptUri: concept.uri,
149
148
  imageBaseUrl,
150
- },
151
- );
149
+ })
150
+ ).sort((a, b) => a.position - b.position);
152
151
  return {
153
152
  ...concept,
154
153
  trafficSignalConcepts,
@@ -14,13 +14,13 @@ import { TRAFFIC_SIGNAL_CONCEPT_TYPES } from '../constants';
14
14
 
15
15
  type QueryOptions = {
16
16
  imageBaseUrl?: string;
17
- measureConceptUri?: string;
17
+ measureConceptUri: string;
18
18
  abortSignal?: AbortSignal;
19
19
  };
20
20
 
21
21
  export async function queryTrafficSignalConcepts(
22
22
  endpoint: string,
23
- options: QueryOptions = {},
23
+ options: QueryOptions,
24
24
  ) {
25
25
  const { imageBaseUrl, measureConceptUri, abortSignal } = options;
26
26
  const query = /* sparql */ `
@@ -29,6 +29,7 @@ export async function queryTrafficSignalConcepts(
29
29
  PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
30
30
  PREFIX dct: <http://purl.org/dc/terms/>
31
31
  PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
32
+ PREFIX schema: <http://schema.org/>
32
33
 
33
34
  SELECT DISTINCT
34
35
  ?uri
@@ -36,11 +37,29 @@ export async function queryTrafficSignalConcepts(
36
37
  ?code
37
38
  ?zonality
38
39
  ?image
40
+ ?position
39
41
  WHERE {
40
42
  ?uri
41
43
  a mobiliteit:Verkeerstekenconcept;
42
44
  a ?type;
43
45
  skos:prefLabel ?code.
46
+ {
47
+ ${sparqlEscapeUri(measureConceptUri)}
48
+ mobiliteit:heeftVerkeerstekenLijstItem ?listItem.
49
+ ?listItem
50
+ schema:item ?uri;
51
+ schema:position ?position.
52
+ }
53
+ UNION
54
+ {
55
+ ?uri mobiliteit:heeftMaatregelconcept ${sparqlEscapeUri(measureConceptUri)}.
56
+ FILTER NOT EXISTS {
57
+ ${sparqlEscapeUri(measureConceptUri)}
58
+ mobiliteit:heeftVerkeerstekenLijstItem ?listItem.
59
+ ?listItem
60
+ schema:item ?uri.
61
+ }
62
+ }
44
63
 
45
64
  OPTIONAL {
46
65
  ?uri mobiliteit:grafischeWeergave/ext:hasFile/mu:uuid ?imageId.
@@ -56,8 +75,6 @@ export async function queryTrafficSignalConcepts(
56
75
  <https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept>
57
76
  <https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept>
58
77
  }
59
-
60
- ${measureConceptUri ? `?uri mobiliteit:heeftMaatregelconcept ${sparqlEscapeUri(measureConceptUri)}` : ''}
61
78
  }
62
79
  `;
63
80
  const queryResult = await executeQuery<BindingObject<TrafficSignalConcept>>({
@@ -8,6 +8,7 @@ export const TrafficSignalConceptSchema = z
8
8
  code: z.string(),
9
9
  image: z.string(),
10
10
  zonality: z.nativeEnum(ZONALITY_OPTIONS).optional(),
11
+ position: z.coerce.number().default(-1),
11
12
  })
12
13
  .and(
13
14
  z.discriminatedUnion('type', [
@@ -90,6 +90,7 @@ export default class RoadsignsModal extends Component<Signature> {
90
90
  code: string;
91
91
  image: string;
92
92
  uri: string;
93
+ position: number;
93
94
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
94
95
  } & ({
95
96
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
@@ -117,6 +118,7 @@ export default class RoadsignsModal extends Component<Signature> {
117
118
  code: string;
118
119
  image: string;
119
120
  uri: string;
121
+ position: number;
120
122
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
121
123
  } & ({
122
124
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
@@ -21,6 +21,7 @@ export declare function queryMobilityMeasures(endpoint: string, options?: Mobili
21
21
  code: string;
22
22
  image: string;
23
23
  uri: string;
24
+ position: number;
24
25
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
25
26
  } & ({
26
27
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
@@ -1,12 +1,13 @@
1
1
  type QueryOptions = {
2
2
  imageBaseUrl?: string;
3
- measureConceptUri?: string;
3
+ measureConceptUri: string;
4
4
  abortSignal?: AbortSignal;
5
5
  };
6
- export declare function queryTrafficSignalConcepts(endpoint: string, options?: QueryOptions): Promise<(({
6
+ export declare function queryTrafficSignalConcepts(endpoint: string, options: QueryOptions): Promise<(({
7
7
  code: string;
8
8
  image: string;
9
9
  uri: string;
10
+ position: number;
10
11
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
11
12
  } & {
12
13
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
@@ -18,6 +19,7 @@ export declare function queryTrafficSignalConcepts(endpoint: string, options?: Q
18
19
  code: string;
19
20
  image: string;
20
21
  uri: string;
22
+ position: number;
21
23
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
22
24
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
23
25
  })[]>;
@@ -18,15 +18,18 @@ export declare const MobilityMeasureConceptSchema: z.ZodObject<{
18
18
  readonly ZONAL: "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d";
19
19
  readonly NON_ZONAL: "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
20
20
  }>>;
21
+ position: z.ZodDefault<z.ZodNumber>;
21
22
  }, "strip", z.ZodTypeAny, {
22
23
  code: string;
23
24
  image: string;
24
25
  uri: string;
26
+ position: number;
25
27
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
26
28
  }, {
27
29
  code: string;
28
30
  image: string;
29
31
  uri: string;
32
+ position?: number | undefined;
30
33
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
31
34
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
32
35
  type: z.ZodLiteral<"https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept">;
@@ -69,6 +72,7 @@ export declare const MobilityMeasureConceptSchema: z.ZodObject<{
69
72
  code: string;
70
73
  image: string;
71
74
  uri: string;
75
+ position: number;
72
76
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
73
77
  } & ({
74
78
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
@@ -89,6 +93,7 @@ export declare const MobilityMeasureConceptSchema: z.ZodObject<{
89
93
  code: string;
90
94
  image: string;
91
95
  uri: string;
96
+ position?: number | undefined;
92
97
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
93
98
  } & ({
94
99
  type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
@@ -8,15 +8,18 @@ export declare const TrafficSignalConceptSchema: z.ZodIntersection<z.ZodObject<{
8
8
  readonly ZONAL: "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d";
9
9
  readonly NON_ZONAL: "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
10
10
  }>>;
11
+ position: z.ZodDefault<z.ZodNumber>;
11
12
  }, "strip", z.ZodTypeAny, {
12
13
  code: string;
13
14
  image: string;
14
15
  uri: string;
16
+ position: number;
15
17
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
16
18
  }, {
17
19
  code: string;
18
20
  image: string;
19
21
  uri: string;
22
+ position?: number | undefined;
20
23
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
21
24
  }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
22
25
  type: z.ZodLiteral<"https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept">;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lblod/ember-rdfa-editor-lblod-plugins",
3
- "version": "32.5.3",
3
+ "version": "32.6.0",
4
4
  "description": "Ember addon providing lblod specific plugins for the ember-rdfa-editor",
5
5
  "keywords": [
6
6
  "ember-addon",