@projectcaluma/ember-form-builder 11.0.0-beta.39 → 11.0.0-beta.40

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.
@@ -1,6 +1,7 @@
1
1
  import { getOwner } from "@ember/application";
2
2
  import { action } from "@ember/object";
3
3
  import { inject as service } from "@ember/service";
4
+ import { camelize } from "@ember/string";
4
5
  import Component from "@glimmer/component";
5
6
 
6
7
  import { TYPE_MAP } from "@projectcaluma/ember-form/lib/field";
@@ -60,16 +61,20 @@ export default class CfbFormEditorQuestionDefault extends Component {
60
61
  __typename: "Form",
61
62
  };
62
63
 
64
+ const typename = TYPE_MAP[this.args.model.__typename];
65
+ const valueKey = camelize(typename.replace(/Answer$/, "Value"));
66
+
63
67
  const newAnswer = {
64
68
  id: btoa(`Answer:dv-answer-${this.args.model.slug}`),
65
- __typename: TYPE_MAP[this.args.model.__typename],
69
+ __typename: typename,
70
+ [valueKey]: undefined,
66
71
  };
67
72
 
68
73
  // The value depends on where it comes from. If there is a default value
69
74
  // present on load the `value.content` will be set. After an update through
70
75
  // this component the value will be a POJO on `value`.
71
76
  const answer = {
72
- ...(this.args._value?.content || this.args._value || newAnswer),
77
+ ...(this.args.value?.content ?? this.args.value ?? newAnswer),
73
78
  question: this.question,
74
79
  };
75
80
 
@@ -115,8 +120,8 @@ export default class CfbFormEditorQuestionDefault extends Component {
115
120
 
116
121
  this.args.update({
117
122
  [this.field.answer._valueKey]: this.field.answer.serializedValue,
118
- __typename: this.field.answer.__typename,
119
- id: this.field.answer.id,
123
+ __typename: this.field.answer.raw.__typename,
124
+ id: this.field.answer.raw.id,
120
125
  });
121
126
 
122
127
  if (this.field.errors.length > 0) {
@@ -27,14 +27,14 @@ export default {
27
27
  validateType("IntegerQuestion", false),
28
28
  and(
29
29
  validateNumber({ allowBlank: true, integer: true }),
30
- validateGtLt({ lt: "integerMaxValue" })
30
+ validateGtLt({ lt: "integerMaxValue", allowNone: true })
31
31
  )
32
32
  ),
33
33
  integerMaxValue: or(
34
34
  validateType("IntegerQuestion", false),
35
35
  and(
36
36
  validateNumber({ allowBlank: true, integer: true }),
37
- validateGtLt({ gt: "integerMinValue" })
37
+ validateGtLt({ gt: "integerMinValue", allowNone: true })
38
38
  )
39
39
  ),
40
40
 
@@ -42,14 +42,14 @@ export default {
42
42
  validateType("FloatQuestion", false),
43
43
  and(
44
44
  validateNumber({ allowBlank: true }),
45
- validateGtLt({ lt: "floatMaxValue" })
45
+ validateGtLt({ lt: "floatMaxValue", allowNone: true })
46
46
  )
47
47
  ),
48
48
  floatMaxValue: or(
49
49
  validateType("FloatQuestion", false),
50
50
  and(
51
51
  validateNumber({ allowBlank: true }),
52
- validateGtLt({ gt: "floatMinValue" })
52
+ validateGtLt({ gt: "floatMinValue", allowNone: true })
53
53
  )
54
54
  ),
55
55
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcaluma/ember-form-builder",
3
- "version": "11.0.0-beta.39",
3
+ "version": "11.0.0-beta.40",
4
4
  "description": "Ember engine for building Caluma forms.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -10,12 +10,13 @@
10
10
  "homepage": "https://docs.caluma.io/ember-caluma",
11
11
  "repository": "github:projectcaluma/ember-caluma",
12
12
  "scripts": {
13
- "test": "npm-run-all --print-name \"lint\" \"test:*\"",
13
+ "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
14
14
  "test:ember": "ember test",
15
15
  "test:ember-compatibility": "ember try:each"
16
16
  },
17
17
  "peerDependencies": {
18
- "ember-engines": ">= 0.8"
18
+ "ember-engines": ">= 0.8",
19
+ "ember-source": "^3.28.0 || ^4.0.0"
19
20
  },
20
21
  "dependencies": {
21
22
  "@ember/legacy-built-in-components": "^0.4.1",
@@ -24,11 +25,11 @@
24
25
  "@embroider/macros": "^1.10.0",
25
26
  "@glimmer/component": "^1.1.2",
26
27
  "@glimmer/tracking": "^1.1.2",
27
- "@projectcaluma/ember-core": "^11.0.0-beta.39",
28
- "@projectcaluma/ember-form": "^11.0.0-beta.39",
28
+ "@projectcaluma/ember-core": "^11.0.0-beta.40",
29
+ "@projectcaluma/ember-form": "^11.0.0-beta.40",
29
30
  "codejar": "^3.6.0",
30
31
  "ember-apollo-client": "~4.0.2",
31
- "ember-auto-import": "^2.4.3",
32
+ "ember-auto-import": "^2.5.0",
32
33
  "ember-changeset": "^4.1.2",
33
34
  "ember-changeset-validations": "^4.1.1",
34
35
  "ember-cli-babel": "^7.26.11",
@@ -60,12 +61,13 @@
60
61
  "devDependencies": {
61
62
  "@ember/optional-features": "2.0.0",
62
63
  "@ember/test-helpers": "2.7.0",
63
- "@embroider/test-setup": "2.0.0",
64
+ "@embroider/test-setup": "2.0.2",
64
65
  "@faker-js/faker": "7.6.0",
65
- "@projectcaluma/ember-testing": "11.0.0-beta.39",
66
+ "@projectcaluma/ember-testing": "11.0.0-beta.40",
66
67
  "broccoli-asset-rev": "3.0.0",
68
+ "concurrently": "7.6.0",
67
69
  "ember-autoresize-modifier": "^0.6.0",
68
- "ember-cli": "4.8.0",
70
+ "ember-cli": "4.9.2",
69
71
  "ember-cli-code-coverage": "1.0.3",
70
72
  "ember-cli-dependency-checker": "3.3.1",
71
73
  "ember-cli-inject-live-reload": "2.1.0",
@@ -73,17 +75,15 @@
73
75
  "ember-cli-sri": "2.1.1",
74
76
  "ember-cli-terser": "4.0.2",
75
77
  "ember-data": "4.7.3",
76
- "ember-disable-prototype-extensions": "1.1.3",
77
- "ember-engines": "0.9.0",
78
+ "ember-engines": "0.8.23",
78
79
  "ember-load-initializers": "2.1.2",
79
- "ember-qunit": "6.0.0",
80
+ "ember-qunit": "6.1.1",
80
81
  "ember-resolver": "8.0.3",
81
- "ember-source": "4.8.2",
82
+ "ember-source": "4.9.3",
82
83
  "ember-source-channel-url": "3.0.0",
83
84
  "ember-try": "2.0.0",
84
85
  "loader.js": "4.7.0",
85
86
  "miragejs": "0.1.46",
86
- "npm-run-all": "4.1.5",
87
87
  "qunit": "2.19.3",
88
88
  "qunit-dom": "2.0.0",
89
89
  "webpack": "5.75.0"