@lblod/ember-rdfa-editor-lblod-plugins 22.1.0 → 22.2.0-dev.83b95db9991f6b5ef090cd77765d8c09eac90db7

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.
@@ -0,0 +1,5 @@
1
+ ---
2
+ '@lblod/ember-rdfa-editor-lblod-plugins': patch
3
+ ---
4
+
5
+ Correctly export empty person nodes
@@ -0,0 +1,5 @@
1
+ ---
2
+ '@lblod/ember-rdfa-editor-lblod-plugins': patch
3
+ ---
4
+
5
+ Correctly export empty person node
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @lblod/ember-rdfa-editor-lblod-plugins
2
2
 
3
+ ## 22.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#461](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/461) [`c3d659f`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/c3d659f0ddfb62c9241a8a34aea53a45375687f2) Thanks [@elpoelma](https://github.com/elpoelma)! - Improve serialization of `mandatee_table` node
8
+
9
+ - [#463](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/463) [`8c18bc2`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/8c18bc2106dd2a48231e5465bf0df9bf2e507d13) Thanks [@elpoelma](https://github.com/elpoelma)! - Fix issue with unresponsive edit/insert button when person variable is selected
10
+
3
11
  ## 22.1.0
4
12
 
5
13
  ### Minor Changes
@@ -36,9 +36,13 @@ export default class MandateeTableNode extends Component<Sig> {
36
36
  <template>
37
37
  <div class='say-mandatee-table-node'>
38
38
  <div
39
- class='say-mandatee-table-header au-u-flex au-u-flex--row au-u-flex--vertical-center'
39
+ class='say-mandatee-table-header au-u-flex au-u-flex--row au-u-flex--vertical-center au-u-flex--spaced-tiny'
40
40
  >
41
- <AuIcon @icon={{UserIcon}} @size='large' class='au-u-margin-small' />
41
+ <AuIcon
42
+ @icon={{UserIcon}}
43
+ @size='large'
44
+ class='au-u-margin-left-tiny au-u-margin-right-tiny'
45
+ />
42
46
  <div>
43
47
  <strong>{{this.title}}</strong>
44
48
  <p>
@@ -33,7 +33,7 @@ export default class CodelistEditComponent extends Component<Args> {
33
33
  return this.args.controller;
34
34
  }
35
35
 
36
- selectedCodelist = trackedFunction(this, () => {
36
+ get selectedCodelist() {
37
37
  const { selection } = this.controller.mainEditorState;
38
38
  if (
39
39
  selection instanceof NodeSelection &&
@@ -46,11 +46,11 @@ export default class CodelistEditComponent extends Component<Args> {
46
46
  return codelist;
47
47
  }
48
48
  return;
49
- });
49
+ }
50
50
 
51
51
  get source() {
52
- if (this.selectedCodelist.value) {
53
- const { node } = this.selectedCodelist.value;
52
+ if (this.selectedCodelist) {
53
+ const { node } = this.selectedCodelist;
54
54
  const source = getOutgoingTriple(node.attrs, DCT('source'))?.object
55
55
  .value as Option<string>;
56
56
  if (source) {
@@ -61,8 +61,8 @@ export default class CodelistEditComponent extends Component<Args> {
61
61
  }
62
62
 
63
63
  get codelistUri() {
64
- if (this.selectedCodelist.value) {
65
- const { node } = this.selectedCodelist.value;
64
+ if (this.selectedCodelist) {
65
+ const { node } = this.selectedCodelist;
66
66
  const codelistUri = getOutgoingTriple(node.attrs, EXT('codelist'))?.object
67
67
  .value as Option<string>;
68
68
  if (codelistUri) {
@@ -73,11 +73,11 @@ export default class CodelistEditComponent extends Component<Args> {
73
73
  }
74
74
 
75
75
  get showCard() {
76
- return !!this.selectedCodelist.value;
76
+ return !!this.selectedCodelist;
77
77
  }
78
78
 
79
79
  get label() {
80
- return this.selectedCodelist.value?.node.attrs.label as string | undefined;
80
+ return this.selectedCodelist?.node.attrs.label as string | undefined;
81
81
  }
82
82
 
83
83
  codelistOptions = trackedFunction(this, async () => {
@@ -89,7 +89,7 @@ export default class CodelistEditComponent extends Component<Args> {
89
89
  });
90
90
 
91
91
  get multiSelect() {
92
- const localStyle = this.selectedCodelist.value?.node.attrs
92
+ const localStyle = this.selectedCodelist?.node.attrs
93
93
  .selectionStyle as string;
94
94
  if (localStyle) {
95
95
  return localStyle === 'multi';
@@ -99,11 +99,11 @@ export default class CodelistEditComponent extends Component<Args> {
99
99
 
100
100
  @action
101
101
  insert() {
102
- if (!this.selectedCodelist.value || !this.selectedCodelistOption) {
102
+ if (!this.selectedCodelist || !this.selectedCodelistOption) {
103
103
  return;
104
104
  }
105
105
  updateCodelistVariable(
106
- this.selectedCodelist.value,
106
+ this.selectedCodelist,
107
107
  this.selectedCodelistOption,
108
108
  this.controller,
109
109
  );
@@ -2,7 +2,6 @@ import Component from '@glimmer/component';
2
2
  import { action } from '@ember/object';
3
3
  import { SayController, PNode } from '@lblod/ember-rdfa-editor';
4
4
  import { NodeSelection } from '@lblod/ember-rdfa-editor';
5
- import { trackedFunction } from 'ember-resources/util/function';
6
5
  import { tracked } from '@glimmer/tracking';
7
6
  import { LmbPluginConfig } from '@lblod/ember-rdfa-editor-lblod-plugins/plugins/lmb-plugin';
8
7
  import Mandatee from '@lblod/ember-rdfa-editor-lblod-plugins/models/mandatee';
@@ -24,7 +23,7 @@ export default class PersonEditComponent extends Component<Args> {
24
23
  return this.args.controller;
25
24
  }
26
25
 
27
- selectedPersonNode = trackedFunction(this, () => {
26
+ get selectedPersonNode() {
28
27
  const { selection } = this.controller.mainEditorState;
29
28
  if (
30
29
  selection instanceof NodeSelection &&
@@ -37,19 +36,20 @@ export default class PersonEditComponent extends Component<Args> {
37
36
  return personNode;
38
37
  }
39
38
  return;
40
- });
39
+ }
41
40
 
42
41
  get showCard() {
43
- return !!this.selectedPersonNode.value;
42
+ return !!this.selectedPersonNode;
44
43
  }
45
44
 
46
45
  get isEditing() {
47
- const personNode = this.selectedPersonNode.value;
46
+ const personNode = this.selectedPersonNode;
48
47
  return !!personNode?.node.attrs.mandatee;
49
48
  }
50
49
 
51
50
  @action
52
51
  openModal() {
52
+ console.log('Open modal!!!');
53
53
  this.controller.focus();
54
54
  this.showModal = true;
55
55
  }
@@ -60,7 +60,7 @@ export default class PersonEditComponent extends Component<Args> {
60
60
  }
61
61
  @action
62
62
  onInsert(mandatee: Mandatee) {
63
- const personNode = this.selectedPersonNode.value as PersonNode;
63
+ const personNode = this.selectedPersonNode as PersonNode;
64
64
  this.controller.withTransaction((tr) => {
65
65
  tr.setNodeAttribute(personNode.pos, 'mandatee', mandatee);
66
66
  return tr.setNodeAttribute(
@@ -30,25 +30,38 @@ export const emberNodeConfig: () => EmberNodeConfig = () => {
30
30
  return [
31
31
  'div',
32
32
  {
33
- 'data-mandatee-table': true,
34
- 'data-tag': tag,
35
- 'data-title': title,
33
+ 'data-say-mandatee-table': true,
34
+ 'data-say-mandatee-table-tag': tag,
35
+ 'data-say-mandatee-table-title': title,
36
+ class: 'say-mandatee-table-node',
36
37
  },
37
- 0,
38
+ ['p', { class: 'say-mandatee-table-header' }, ['strong', {}, title]],
39
+ [
40
+ 'div',
41
+ {
42
+ class: 'say-mandatee-table-content',
43
+ 'data-say-mandatee-table-content': true,
44
+ },
45
+ 0,
46
+ ],
38
47
  ];
39
48
  },
40
49
  parseDOM: [
41
50
  {
42
51
  tag: 'div',
43
52
  getAttrs(element: HTMLElement) {
44
- if (element.dataset.mandateeTable && element.dataset.tag) {
53
+ if (
54
+ element.dataset.sayMandateeTable &&
55
+ element.dataset.sayMandateeTableTag
56
+ ) {
45
57
  return {
46
- tag: element.dataset.tag,
47
- title: element.dataset.title,
58
+ tag: element.dataset.sayMandateeTableTag,
59
+ title: element.dataset.sayMandateeTableTitle,
48
60
  };
49
61
  }
50
62
  return false;
51
63
  },
64
+ contentElement: `div[data-say-mandatee-table-content]`,
52
65
  },
53
66
  ],
54
67
  };
@@ -9,6 +9,7 @@ import {
9
9
  } from '@lblod/ember-rdfa-editor/utils/ember-node';
10
10
  import {
11
11
  DOMOutputSpec,
12
+ EditorState,
12
13
  getRdfaAttrs,
13
14
  PNode,
14
15
  rdfaAttrSpec,
@@ -19,6 +20,11 @@ import type { ComponentLike } from '@glint/template';
19
20
  import { hasOutgoingNamedNodeTriple } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/namespace';
20
21
  import { renderRdfaAware } from '@lblod/ember-rdfa-editor/core/schema';
21
22
  import Mandatee from '@lblod/ember-rdfa-editor-lblod-plugins/models/mandatee';
23
+ import { getTranslationFunction } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/translation';
24
+
25
+ const TRANSLATION_FALLBACKS = {
26
+ nodeview_placeholder: 'persoon',
27
+ };
22
28
 
23
29
  const rdfaAware = true;
24
30
  const parseDOM = [
@@ -50,7 +56,8 @@ const parseDOM = [
50
56
  },
51
57
  ];
52
58
 
53
- const toDOM = (node: PNode): DOMOutputSpec => {
59
+ const serialize = (node: PNode, state: EditorState): DOMOutputSpec => {
60
+ const t = getTranslationFunction(state);
54
61
  const mandatee = node.attrs.mandatee as Mandatee;
55
62
  return renderRdfaAware({
56
63
  renderable: node,
@@ -59,7 +66,12 @@ const toDOM = (node: PNode): DOMOutputSpec => {
59
66
  ...node.attrs,
60
67
  'data-mandatee': JSON.stringify(mandatee),
61
68
  },
62
- content: mandatee ? `${mandatee.fullName}` : '',
69
+ content: mandatee
70
+ ? `${mandatee.fullName}`
71
+ : t(
72
+ 'variable-plugin.person.nodeview-placeholder',
73
+ TRANSLATION_FALLBACKS.nodeview_placeholder,
74
+ ),
63
75
  });
64
76
  };
65
77
 
@@ -85,7 +97,7 @@ const emberNodeConfig: EmberNodeConfig = {
85
97
  default: null,
86
98
  },
87
99
  },
88
- toDOM,
100
+ serialize,
89
101
  parseDOM,
90
102
  };
91
103
 
@@ -5,7 +5,7 @@
5
5
  flex-direction: row;
6
6
  align-items: center;
7
7
  background-color: var(--au-blue-300);
8
- padding: 0.6rem 0.6rem 0.6rem 0;
8
+ padding: 0.6rem 0.6rem 0.6rem 0.6rem;
9
9
  cursor: default;
10
10
  }
11
11
  .say-mandatee-table-content {
@@ -11,10 +11,10 @@ type Args = {
11
11
  export default class CodelistEditComponent extends Component<Args> {
12
12
  selectedCodelistOption?: CodeListOption | CodeListOption[];
13
13
  get controller(): SayController;
14
- selectedCodelist: import("ember-resources/util/function").State<{
14
+ get selectedCodelist(): {
15
15
  node: import("prosemirror-model").Node;
16
16
  pos: number;
17
- } | undefined>;
17
+ } | undefined;
18
18
  get source(): string;
19
19
  get codelistUri(): string | undefined;
20
20
  get showCard(): boolean;
@@ -13,7 +13,7 @@ type PersonNode = {
13
13
  export default class PersonEditComponent extends Component<Args> {
14
14
  showModal: boolean;
15
15
  get controller(): SayController;
16
- selectedPersonNode: import("ember-resources/util/function").State<PersonNode | undefined>;
16
+ get selectedPersonNode(): PersonNode | undefined;
17
17
  get showCard(): boolean;
18
18
  get isEditing(): boolean;
19
19
  openModal(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lblod/ember-rdfa-editor-lblod-plugins",
3
- "version": "22.1.0",
3
+ "version": "22.2.0-dev.83b95db9991f6b5ef090cd77765d8c09eac90db7",
4
4
  "description": "Ember addon providing lblod specific plugins for the ember-rdfa-editor",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -268,7 +268,7 @@ variable-plugin:
268
268
  to: to
269
269
  person:
270
270
  card-title: Insert person
271
- nodeview-placeholder: person
271
+ nodeview-placeholder: Insert person
272
272
 
273
273
  table-of-contents-plugin:
274
274
  title: Table of Contents
@@ -272,7 +272,7 @@ variable-plugin:
272
272
  to: tot
273
273
  person:
274
274
  card-title: Persoon invoegen
275
- nodeview-placeholder: persoon
275
+ nodeview-placeholder: Voeg persoon in
276
276
  dummy:
277
277
  validation-card:
278
278
  title: Documentvalidatie