@projectcaluma/ember-form-builder 10.0.1 → 11.0.0-beta.2

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 (55) hide show
  1. package/CHANGELOG.md +1066 -0
  2. package/addon/components/cfb-form-editor/general.hbs +83 -90
  3. package/addon/components/cfb-form-editor/general.js +10 -4
  4. package/addon/components/cfb-form-editor/question/default.js +11 -12
  5. package/addon/components/cfb-form-editor/question/validation.hbs +1 -0
  6. package/addon/components/cfb-form-editor/question-list/item.hbs +4 -4
  7. package/addon/components/cfb-form-editor/question-list.hbs +2 -2
  8. package/addon/components/cfb-form-editor/question-list.js +2 -2
  9. package/addon/components/cfb-form-editor/question.hbs +2 -1
  10. package/addon/components/cfb-form-list.hbs +69 -72
  11. package/addon/components/cfb-form-list.js +10 -33
  12. package/addon/components/cfb-navigation.hbs +1 -1
  13. package/addon/components/cfb-toggle-switch.hbs +1 -1
  14. package/addon/engine.js +7 -10
  15. package/addon/gql/fragments/field.graphql +247 -0
  16. package/addon/gql/fragments/form-info.graphql +1 -0
  17. package/addon/gql/fragments/question-info.graphql +1 -0
  18. package/addon/gql/mutations/add-form-question.graphql +2 -0
  19. package/addon/gql/mutations/remove-form-question.graphql +2 -0
  20. package/addon/gql/mutations/reorder-form-questions.graphql +2 -0
  21. package/addon/gql/mutations/save-action-button-question.graphql +1 -0
  22. package/addon/gql/mutations/save-calculated-float-question.graphql +1 -0
  23. package/addon/gql/mutations/save-choice-question.graphql +2 -0
  24. package/addon/gql/mutations/save-date-question.graphql +1 -0
  25. package/addon/gql/mutations/save-dynamic-choice-question.graphql +1 -0
  26. package/addon/gql/mutations/save-dynamic-multiple-choice-question.graphql +1 -0
  27. package/addon/gql/mutations/save-file-question.graphql +1 -0
  28. package/addon/gql/mutations/save-float-question.graphql +1 -0
  29. package/addon/gql/mutations/save-form-question.graphql +2 -0
  30. package/addon/gql/mutations/save-form.graphql +1 -0
  31. package/addon/gql/mutations/save-integer-question.graphql +1 -0
  32. package/addon/gql/mutations/save-multiple-choice-question.graphql +2 -0
  33. package/addon/gql/mutations/save-option.graphql +1 -0
  34. package/addon/gql/mutations/save-static-question.graphql +1 -0
  35. package/addon/gql/mutations/save-table-question.graphql +2 -0
  36. package/addon/gql/mutations/save-text-question.graphql +1 -0
  37. package/addon/gql/mutations/save-textarea-question.graphql +1 -0
  38. package/addon/gql/queries/check-form-slug.graphql +1 -0
  39. package/addon/gql/queries/check-question-slug.graphql +1 -0
  40. package/addon/gql/queries/form-editor-general.graphql +1 -0
  41. package/addon/gql/queries/form-editor-question.graphql +7 -0
  42. package/addon/gql/queries/form-list.graphql +1 -0
  43. package/addon/gql/queries/search-form-question.graphql +4 -0
  44. package/addon/gql/queries/search-question.graphql +3 -0
  45. package/addon/routes/edit/questions/edit.js +1 -1
  46. package/addon/routes/edit.js +1 -1
  47. package/addon/utils/and.js +47 -0
  48. package/addon/utils/or.js +40 -0
  49. package/addon/validations/option.js +1 -1
  50. package/addon/validations/question.js +2 -2
  51. package/addon/validators/slug.js +1 -1
  52. package/app/utils/and.js +1 -0
  53. package/app/utils/or.js +1 -0
  54. package/index.js +6 -4
  55. package/package.json +27 -24
@@ -0,0 +1,40 @@
1
+ import { isPromise } from "validated-changeset";
2
+
3
+ function isTrue(value) {
4
+ return value === true;
5
+ }
6
+
7
+ function handleResult(result) {
8
+ if (isTrue(result)) throw true;
9
+ return result;
10
+ }
11
+
12
+ /**
13
+ * Copied and updated from nucleartide/ember-changeset-hofs
14
+ * @module or
15
+ */
16
+ export default function or(...validators) {
17
+ return (key, newValue, oldValue, changes, object) => {
18
+ let validation;
19
+
20
+ for (let i = 0; i < validators.length; i++) {
21
+ validation = validators[i](key, newValue, oldValue, changes, object);
22
+
23
+ if (isPromise(validation)) {
24
+ let promise = validation.then(handleResult);
25
+
26
+ for (let j = i + 1; j < validators.length; j++) {
27
+ promise = promise
28
+ .then(() => validators[j](key, newValue, oldValue, changes, object))
29
+ .then(handleResult);
30
+ }
31
+
32
+ return promise.catch((err) => err);
33
+ }
34
+
35
+ if (isTrue(validation)) return true;
36
+ }
37
+
38
+ return validation;
39
+ };
40
+ }
@@ -3,7 +3,7 @@ import {
3
3
  validateLength,
4
4
  } from "ember-changeset-validations/validators";
5
5
 
6
- import and from "@projectcaluma/ember-core/utils/and";
6
+ import and from "@projectcaluma/ember-form-builder/utils/and";
7
7
  import validateSlug from "@projectcaluma/ember-form-builder/validators/slug";
8
8
 
9
9
  export default {
@@ -7,8 +7,8 @@ import {
7
7
  import validateGtLt from "../validators/gt-lt";
8
8
  import validateOptions from "../validators/options";
9
9
 
10
- import and from "@projectcaluma/ember-core/utils/and";
11
- import or from "@projectcaluma/ember-core/utils/or";
10
+ import and from "@projectcaluma/ember-form-builder/utils/and";
11
+ import or from "@projectcaluma/ember-form-builder/utils/or";
12
12
  import validateSlug from "@projectcaluma/ember-form-builder/validators/slug";
13
13
  import validateType from "@projectcaluma/ember-form-builder/validators/type";
14
14
 
@@ -4,7 +4,7 @@ import {
4
4
  validateFormat,
5
5
  } from "ember-changeset-validations/validators";
6
6
 
7
- import and from "@projectcaluma/ember-core/utils/and";
7
+ import and from "@projectcaluma/ember-form-builder/utils/and";
8
8
 
9
9
  const validateSlug = () =>
10
10
  and(
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-form-builder/utils/and";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-form-builder/utils/or";
package/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  // eslint-disable-next-line node/no-unpublished-require
4
- const EngineAddon = require("ember-engines/lib/engine-addon");
4
+ const { buildEngine } = require("ember-engines/lib/engine-addon");
5
5
 
6
- /* eslint-disable ember/avoid-leaking-state-in-ember-objects */
7
- module.exports = EngineAddon.extend({
6
+ module.exports = buildEngine({
8
7
  name: require("./package.json").name,
9
- lazyLoading: false,
8
+
9
+ lazyLoading: {
10
+ enabled: false,
11
+ },
10
12
 
11
13
  included(...args) {
12
14
  this._super.included.apply(this, args);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcaluma/ember-form-builder",
3
- "version": "10.0.1",
3
+ "version": "11.0.0-beta.2",
4
4
  "description": "Ember engine for building Caluma forms.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -14,50 +14,53 @@
14
14
  "test:ember": "ember test",
15
15
  "test:ember-compatibility": "ember try:each"
16
16
  },
17
+ "peerDependencies": {
18
+ "ember-engines": ">= 0.8"
19
+ },
17
20
  "dependencies": {
18
- "@ember/render-modifiers": "^2.0.0",
21
+ "@ember/render-modifiers": "^2.0.3",
19
22
  "@glimmer/component": "^1.0.4",
20
23
  "@glimmer/tracking": "^1.0.4",
21
- "@projectcaluma/ember-core": "^10.0.1",
22
- "@projectcaluma/ember-form": "^10.0.1",
24
+ "@projectcaluma/ember-core": "^11.0.0-beta.2",
25
+ "@projectcaluma/ember-form": "^11.0.0-beta.2",
23
26
  "codejar": "^3.5.0",
24
27
  "ember-apollo-client": "^3.2.0",
25
- "ember-auto-import": "^2.2.3",
26
- "ember-changeset": "^3.15.0",
27
- "ember-changeset-validations": "^3.16.0",
28
- "ember-cli-babel": "^7.26.6",
29
- "ember-cli-htmlbars": "^6.0.0",
30
- "ember-composable-helpers": "^4.5.0",
28
+ "ember-auto-import": "^2.3.0",
29
+ "ember-changeset": "^4.0.0-beta.1",
30
+ "ember-changeset-validations": "^4.0.0-beta.2",
31
+ "ember-cli-babel": "^7.26.11",
32
+ "ember-cli-htmlbars": "^6.0.1",
33
+ "ember-composable-helpers": "^5.0.0",
31
34
  "ember-concurrency": "^2.2.0",
32
- "ember-concurrency-decorators": "^2.0.3",
33
35
  "ember-engines-router-service": "^0.3.0",
34
- "ember-fetch": "^8.0.4",
36
+ "ember-fetch": "^8.1.1",
35
37
  "ember-math-helpers": "^2.18.0",
36
38
  "ember-pikaday": "^3.0.0",
37
- "ember-power-select": "^4.1.7",
39
+ "ember-power-select": "^5.0.3",
40
+ "ember-resources": "^4.1.3",
38
41
  "ember-test-selectors": "^6.0.0",
39
42
  "ember-uikit": "^4.0.0",
40
- "ember-validated-form": "^5.0.0",
41
- "graphql": "^15.6.1",
43
+ "ember-validated-form": "^5.1.1",
44
+ "graphql": "^15.8.0",
42
45
  "graphql-tag": "^2.12.6",
43
46
  "jexl": "^2.3.0",
44
47
  "moment": "^2.29.1",
45
- "prismjs": "^1.25.0"
48
+ "prismjs": "^1.26.0"
46
49
  },
47
50
  "devDependencies": {
48
51
  "@ember/optional-features": "2.0.0",
49
52
  "@ember/test-helpers": "2.6.0",
50
- "@embroider/test-setup": "0.47.2",
51
- "@projectcaluma/ember-testing": "9.1.0",
53
+ "@embroider/test-setup": "0.50.2",
54
+ "@faker-js/faker": "6.0.0-alpha.3",
55
+ "@projectcaluma/ember-testing": "10.2.0-beta.1",
52
56
  "broccoli-asset-rev": "3.0.0",
53
- "ember-cli": "3.28.4",
57
+ "ember-cli": "3.28.5",
54
58
  "ember-cli-code-coverage": "1.0.3",
55
59
  "ember-cli-dependency-checker": "3.2.0",
56
60
  "ember-cli-inject-live-reload": "2.1.0",
57
- "ember-cli-mirage": "2.2.0",
61
+ "ember-cli-mirage": "2.3.1",
58
62
  "ember-cli-sri": "2.1.1",
59
63
  "ember-cli-terser": "4.0.2",
60
- "ember-data": "3.28.3",
61
64
  "ember-disable-prototype-extensions": "1.1.3",
62
65
  "ember-engines": "0.8.20",
63
66
  "ember-export-application-global": "2.0.1",
@@ -65,15 +68,15 @@
65
68
  "ember-maybe-import-regenerator": "1.0.0",
66
69
  "ember-qunit": "5.1.5",
67
70
  "ember-resolver": "8.0.3",
68
- "ember-source": "3.28.6",
71
+ "ember-source": "3.28.8",
69
72
  "ember-source-channel-url": "3.0.0",
70
73
  "ember-try": "2.0.0",
71
- "faker": "5.5.3",
72
74
  "loader.js": "4.7.0",
75
+ "miragejs": "0.1.43",
73
76
  "npm-run-all": "4.1.5",
74
77
  "qunit": "2.17.2",
75
78
  "qunit-dom": "2.0.0",
76
- "webpack": "5.64.1"
79
+ "webpack": "5.66.0"
77
80
  },
78
81
  "engines": {
79
82
  "node": "12.* || 14.* || >= 16"