@projectcaluma/ember-form 11.0.0-beta.15 → 11.0.0-beta.18

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,3 +1,42 @@
1
+ # [@projectcaluma/ember-form-v11.0.0-beta.18](https://github.com/projectcaluma/ember-caluma/compare/@projectcaluma/ember-form-v11.0.0-beta.17...@projectcaluma/ember-form-v11.0.0-beta.18) (2022-04-13)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **form:** fix error formatting for older browsers ([9e34876](https://github.com/projectcaluma/ember-caluma/commit/9e3487625ccb73918b32fdf787054bab9114162f))
7
+
8
+ # [@projectcaluma/ember-form-v11.0.0-beta.17](https://github.com/projectcaluma/ember-caluma/compare/@projectcaluma/ember-form-v11.0.0-beta.16...@projectcaluma/ember-form-v11.0.0-beta.17) (2022-04-07)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **form:** fix error status indicator for backend errors ([03fc27e](https://github.com/projectcaluma/ember-caluma/commit/03fc27e0626edf3a6f774c41d25485158ee6a99d)), closes [#1877](https://github.com/projectcaluma/ember-caluma/issues/1877)
14
+
15
+
16
+ ### Features
17
+
18
+ * **cf-field:** add optional hints for form fields ([d847fbf](https://github.com/projectcaluma/ember-caluma/commit/d847fbffa376ea60971fb9e91aff8bf54ce77d50))
19
+ * **form:** show technical details of backend errors in UI ([c34cda6](https://github.com/projectcaluma/ember-caluma/commit/c34cda691f78623f41da1f9d75a39efce7e0ff0f))
20
+
21
+
22
+ ### BREAKING CHANGES
23
+
24
+ * **cf-field:** Question hints requires Caluma >= v7.15.0
25
+
26
+ Add option to create hints for certain question types. These
27
+ are displayed below the input field and can be used to provide
28
+ short, informative messages. Hints are available for all question
29
+ types except for form, static and action button questions.
30
+
31
+ # [@projectcaluma/ember-form-v11.0.0-beta.16](https://github.com/projectcaluma/ember-caluma/compare/@projectcaluma/ember-form-v11.0.0-beta.15...@projectcaluma/ember-form-v11.0.0-beta.16) (2022-03-23)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **embroider:** add missing dependency on @ember/string ([3a6e6bb](https://github.com/projectcaluma/ember-caluma/commit/3a6e6bb39a8c1a40a2ae00b3d4ea00606a755e25))
37
+ * **embroider:** fix dynamic component usage ([1cf0f6e](https://github.com/projectcaluma/ember-caluma/commit/1cf0f6e2914651bbb0ec70d1f7485fd9db90c9b5))
38
+ * **embroider:** remove obsolete export for getWidget helper function ([94fb461](https://github.com/projectcaluma/ember-caluma/commit/94fb461aaa7cac6af9f5612b8f34ad047a2b67bb))
39
+
1
40
  # [@projectcaluma/ember-form-v11.0.0-beta.15](https://github.com/projectcaluma/ember-caluma/compare/@projectcaluma/ember-form-v11.0.0-beta.14...@projectcaluma/ember-form-v11.0.0-beta.15) (2022-03-16)
2
41
 
3
42
 
@@ -0,0 +1,5 @@
1
+ <div data-test-field-hint={{@field.pk}}>
2
+ <span class="uk-text-small uk-text-muted" ...attributes>
3
+ {{@field.question.raw.hintText}}
4
+ </span>
5
+ </div>
@@ -1,17 +1,23 @@
1
- <DocumentValidity
2
- @document={{@field.document}}
3
- @validateOnEnter={{this.validateOnEnter}}
4
- as |isValid validate|
5
- >
6
- <WorkItemButton
7
- @workItemId={{this.workItem}}
8
- @mutation={{this.action}}
9
- @label={{@field.question.raw.label}}
10
- @disabled={{or (and (not-eq isValid null) (not isValid)) @disabled}}
11
- @color={{this.color}}
12
- @beforeMutate={{fn this.beforeMutate validate}}
13
- @onSuccess={{this.onSuccess}}
14
- @onError={{this.onError}}
15
- class={{if @disabled "uk-hidden"}}
16
- />
17
- </DocumentValidity>
1
+ {{#if
2
+ (macroCondition
3
+ (macroDependencySatisfies "@projectcaluma/ember-workflow" "*")
4
+ )
5
+ }}
6
+ <DocumentValidity
7
+ @document={{@field.document}}
8
+ @validateOnEnter={{this.validateOnEnter}}
9
+ as |isValid validate|
10
+ >
11
+ <WorkItemButton
12
+ @workItemId={{this.workItem}}
13
+ @mutation={{this.action}}
14
+ @label={{@field.question.raw.label}}
15
+ @disabled={{or (and (not-eq isValid null) (not isValid)) @disabled}}
16
+ @color={{this.color}}
17
+ @beforeMutate={{fn this.beforeMutate validate}}
18
+ @onSuccess={{this.onSuccess}}
19
+ @onError={{this.onError}}
20
+ class={{if @disabled "uk-hidden"}}
21
+ />
22
+ </DocumentValidity>
23
+ {{/if}}
@@ -1,61 +1,78 @@
1
1
  import { assert } from "@ember/debug";
2
2
  import { action } from "@ember/object";
3
+ import { dependencySatisfies, macroCondition } from "@embroider/macros";
3
4
  import Component from "@glimmer/component";
4
5
  import { confirm } from "ember-uikit";
5
6
 
6
- export default class CfFieldInputActionButtonComponent extends Component {
7
- constructor(...args) {
8
- super(...args);
9
-
10
- assert(
11
- "The document must have a `workItemUuid` for `<CfField::Input::ActionButton />` to work.",
12
- this.args.field.document.workItemUuid
13
- );
14
- }
15
-
16
- get workItem() {
17
- return (
18
- this.args.context?.actionButtonWorkItemId ||
19
- this.args.field.document.workItemUuid
20
- );
21
- }
22
-
23
- get action() {
24
- return this.args.field.question.raw.action.toLowerCase();
25
- }
26
-
27
- get color() {
28
- return this.args.field.question.raw.color.toLowerCase();
29
- }
30
-
31
- get validateOnEnter() {
32
- return (
33
- this.args.field.question.raw.action === "COMPLETE" &&
34
- this.args.field.question.raw.validateOnEnter
35
- );
36
- }
37
-
38
- @action
39
- async beforeMutate(validateFn) {
40
- if (
41
- this.args.field.question.raw.action === "COMPLETE" &&
42
- !(await validateFn())
43
- ) {
44
- return false;
45
- }
46
-
47
- const confirmText = this.args.field.question.raw.infoText;
48
-
49
- return !confirmText || confirm(confirmText);
50
- }
51
-
52
- @action
53
- onSuccess() {
54
- return this.args.context?.actionButtonOnSuccess?.();
55
- }
56
-
57
- @action
58
- onError(error) {
59
- return this.args.context?.actionButtonOnError?.(error);
60
- }
7
+ let CfFieldInputActionButtonComponent;
8
+
9
+ if (macroCondition(dependencySatisfies("@projectcaluma/ember-workflow", ""))) {
10
+ CfFieldInputActionButtonComponent = class extends Component {
11
+ constructor(...args) {
12
+ super(...args);
13
+
14
+ assert(
15
+ "The document must have a `workItemUuid` for `<CfField::Input::ActionButton />` to work.",
16
+ this.args.field.document.workItemUuid
17
+ );
18
+ }
19
+
20
+ get workItem() {
21
+ return (
22
+ this.args.context?.actionButtonWorkItemId ||
23
+ this.args.field.document.workItemUuid
24
+ );
25
+ }
26
+
27
+ get action() {
28
+ return this.args.field.question.raw.action.toLowerCase();
29
+ }
30
+
31
+ get color() {
32
+ return this.args.field.question.raw.color.toLowerCase();
33
+ }
34
+
35
+ get validateOnEnter() {
36
+ return (
37
+ this.args.field.question.raw.action === "COMPLETE" &&
38
+ this.args.field.question.raw.validateOnEnter
39
+ );
40
+ }
41
+
42
+ @action
43
+ async beforeMutate(validateFn) {
44
+ if (
45
+ this.args.field.question.raw.action === "COMPLETE" &&
46
+ !(await validateFn())
47
+ ) {
48
+ return false;
49
+ }
50
+
51
+ const confirmText = this.args.field.question.raw.infoText;
52
+
53
+ return !confirmText || confirm(confirmText);
54
+ }
55
+
56
+ @action
57
+ onSuccess() {
58
+ return this.args.context?.actionButtonOnSuccess?.();
59
+ }
60
+
61
+ @action
62
+ onError(error) {
63
+ return this.args.context?.actionButtonOnError?.(error);
64
+ }
65
+ };
66
+ } else {
67
+ CfFieldInputActionButtonComponent = class extends Component {
68
+ constructor(...args) {
69
+ super(...args);
70
+
71
+ assert(
72
+ "@projectcaluma/ember-workflow must be installed to enable the usage of the action button questions"
73
+ );
74
+ }
75
+ };
61
76
  }
77
+
78
+ export default CfFieldInputActionButtonComponent;
@@ -1,8 +1,7 @@
1
1
  {{#each @field.options as |option i|}}
2
- {{#if (gt i 0)}}<br />{{/if}}
2
+ {{#if (and (gt i 0) (not @field.raw.question.meta.vertical))}}<br />{{/if}}
3
3
  <label
4
- class="cf-checkbox_label
5
- {{if @field.isInvalid 'uk-form-danger'}}
4
+ class="{{if @field.isInvalid 'uk-form-danger'}}
6
5
  {{if @field.raw.question.meta.vertical 'uk-margin-large-right'}}"
7
6
  >
8
7
  <input
@@ -1,29 +1,27 @@
1
- {{#let (component this.componentName) as |DynamicSelect|}}
2
- <DynamicSelect
3
- @options={{@field.options}}
4
- @selected={{@field.selected}}
5
- @disabled={{@disabled}}
6
- @allowClear={{true}}
7
- @preventScroll={{true}}
8
- @searchEnabled={{this.searchEnabled}}
9
- @searchField="label"
10
- @triggerId={{@field.pk}}
11
- @renderInPlace={{true}}
12
- @placeholder={{this.placeholder}}
13
- @loadingMessage={{t "caluma.form.power-select.options-loading"}}
14
- @searchMessage={{t "caluma.form.power-select.options-empty"}}
15
- @searchPlaceholder={{t "caluma.form.power-select.search-placeholder"}}
16
- @noMatchesMessage={{t "caluma.form.power-select.search-empty"}}
17
- @onChange={{this.change}}
18
- as |option|
19
- >
20
- {{#if (and option.disabled (not @disabled))}}
21
- <del
22
- class="uk-text-muted"
23
- title={{t "caluma.form.optionNotAvailable"}}
24
- >{{option.label}}</del>
25
- {{else}}
26
- {{option.label}}
27
- {{/if}}
28
- </DynamicSelect>
29
- {{/let}}
1
+ <this.selectComponent
2
+ @options={{@field.options}}
3
+ @selected={{@field.selected}}
4
+ @disabled={{@disabled}}
5
+ @allowClear={{true}}
6
+ @preventScroll={{true}}
7
+ @searchEnabled={{this.searchEnabled}}
8
+ @searchField="label"
9
+ @triggerId={{@field.pk}}
10
+ @renderInPlace={{true}}
11
+ @placeholder={{this.placeholder}}
12
+ @loadingMessage={{t "caluma.form.power-select.options-loading"}}
13
+ @searchMessage={{t "caluma.form.power-select.options-empty"}}
14
+ @searchPlaceholder={{t "caluma.form.power-select.search-placeholder"}}
15
+ @noMatchesMessage={{t "caluma.form.power-select.search-empty"}}
16
+ @onChange={{this.change}}
17
+ as |option|
18
+ >
19
+ {{#if (and option.disabled (not @disabled))}}
20
+ <del
21
+ class="uk-text-muted"
22
+ title={{t "caluma.form.optionNotAvailable"}}
23
+ >{{option.label}}</del>
24
+ {{else}}
25
+ {{option.label}}
26
+ {{/if}}
27
+ </this.selectComponent>
@@ -1,7 +1,10 @@
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 { ensureSafeComponent } from "@embroider/util";
4
5
  import Component from "@glimmer/component";
6
+ import PowerSelectComponent from "ember-power-select/components/power-select";
7
+ import PowerSelectMultipleComponent from "ember-power-select/components/power-select-multiple";
5
8
 
6
9
  /**
7
10
  * Dropdown component for the single and multiple choice question type
@@ -16,8 +19,11 @@ export default class CfFieldInputPowerselectComponent extends Component {
16
19
  return this.args.field?.question.isMultipleChoice;
17
20
  }
18
21
 
19
- get componentName() {
20
- return this.multiple ? "power-select-multiple" : "power-select";
22
+ get selectComponent() {
23
+ return ensureSafeComponent(
24
+ this.multiple ? PowerSelectMultipleComponent : PowerSelectComponent,
25
+ this
26
+ );
21
27
  }
22
28
 
23
29
  get searchEnabled() {
@@ -1,5 +1,5 @@
1
1
  {{#each @field.options as |option i|}}
2
- {{#if (gt i 0)}}<br />{{/if}}
2
+ {{#if (and (gt i 0) (not @field.raw.question.meta.vertical))}}<br />{{/if}}
3
3
  <label
4
4
  class="{{if @field.isInvalid 'uk-form-danger'}}
5
5
  {{if @field.raw.question.meta.vertical 'uk-margin-large-right'}}"
@@ -1,21 +1,8 @@
1
- {{#if this.type}}
2
- {{#let (component (concat "cf-field/input/" this.type)) as |InputComponent|}}
3
- <div
4
- class="uk-form-controls
5
- {{if
6
- (and
7
- (has-question-type @field.question 'multiple-choice' 'choice')
8
- @field.question.raw.meta.vertical
9
- )
10
- 'uk-flex'
11
- }}"
12
- >
13
- <InputComponent
14
- @field={{@field}}
15
- @disabled={{@disabled}}
16
- @onSave={{@onSave}}
17
- @context={{@context}}
18
- />
19
- </div>
20
- {{/let}}
21
- {{/if}}
1
+ <div class="uk-form-controls">
2
+ <this.inputComponent
3
+ @field={{@field}}
4
+ @disabled={{@disabled}}
5
+ @onSave={{@onSave}}
6
+ @context={{@context}}
7
+ />
8
+ </div>
@@ -1,12 +1,33 @@
1
- import { dasherize } from "@ember/string";
1
+ import { ensureSafeComponent } from "@embroider/util";
2
2
  import Component from "@glimmer/component";
3
3
 
4
- const mapping = {
5
- MultipleChoiceQuestion: "checkbox",
6
- ChoiceQuestion: "radio",
7
- DynamicMultipleChoiceQuestion: "checkbox",
8
- DynamicChoiceQuestion: "radio",
9
- CalculatedFloatQuestion: "float",
4
+ import ActionButtonComponent from "@projectcaluma/ember-form/components/cf-field/input/action-button";
5
+ import CheckboxComponent from "@projectcaluma/ember-form/components/cf-field/input/checkbox";
6
+ import DateComponent from "@projectcaluma/ember-form/components/cf-field/input/date";
7
+ import FileComponent from "@projectcaluma/ember-form/components/cf-field/input/file";
8
+ import FloatComponent from "@projectcaluma/ember-form/components/cf-field/input/float";
9
+ import IntegerComponent from "@projectcaluma/ember-form/components/cf-field/input/integer";
10
+ import RadioComponent from "@projectcaluma/ember-form/components/cf-field/input/radio";
11
+ import StaticComponent from "@projectcaluma/ember-form/components/cf-field/input/static";
12
+ import TableComponent from "@projectcaluma/ember-form/components/cf-field/input/table";
13
+ import TextComponent from "@projectcaluma/ember-form/components/cf-field/input/text";
14
+ import TextareaComponent from "@projectcaluma/ember-form/components/cf-field/input/textarea";
15
+
16
+ const COMPONENT_MAPPING = {
17
+ ActionButtonQuestion: ActionButtonComponent,
18
+ CalculatedFloatQuestion: FloatComponent,
19
+ ChoiceQuestion: RadioComponent,
20
+ DateQuestion: DateComponent,
21
+ DynamicChoiceQuestion: RadioComponent,
22
+ DynamicMultipleChoiceQuestion: CheckboxComponent,
23
+ FileQuestion: FileComponent,
24
+ FloatQuestion: FloatComponent,
25
+ IntegerQuestion: IntegerComponent,
26
+ MultipleChoiceQuestion: CheckboxComponent,
27
+ StaticQuestion: StaticComponent,
28
+ TableQuestion: TableComponent,
29
+ TextareaQuestion: TextareaComponent,
30
+ TextQuestion: TextComponent,
10
31
  };
11
32
 
12
33
  /**
@@ -16,17 +37,14 @@ const mapping = {
16
37
  */
17
38
  export default class CfFieldInputComponent extends Component {
18
39
  /**
19
- * The input component type
40
+ * The input component
20
41
  *
21
- * @property {String} type
42
+ * @property {Component} inputComponent
22
43
  * @accessor
23
44
  */
24
- get type() {
45
+ get inputComponent() {
25
46
  const typename = this.args.field?.question.raw.__typename;
26
47
 
27
- return (
28
- typename &&
29
- (mapping[typename] || dasherize(typename.replace(/Question$/, "")))
30
- );
48
+ return ensureSafeComponent(COMPONENT_MAPPING[typename], this);
31
49
  }
32
50
  }
@@ -38,7 +38,25 @@
38
38
  {{#if this.save.isRunning}}
39
39
  <UkSpinner class="uk-animation-fade" />
40
40
  {{else if (or this.save.last.isError @field.isInvalid)}}
41
- <UkIcon @icon="warning" class="uk-animation-fade uk-text-danger" />
41
+ <div class="uk-flex-inline">
42
+ <UkIcon
43
+ @icon="warning"
44
+ class="uk-animation-fade uk-text-danger"
45
+ />
46
+ {{#if this.save.last.error}}
47
+ <div uk-dropdown="pos: bottom-left" class="uk-padding-small">
48
+ <div class="uk-alert uk-alert-danger uk-margin-small">
49
+ {{t "caluma.form.error.intro"}}
50
+ </div>
51
+ <p class="uk-text-meta uk-margin-small">
52
+ {{t "caluma.form.error.details"}}
53
+ </p>
54
+ <pre class="uk-margin-remove">
55
+ {{~format-graphql-error this.save.last.error~}}
56
+ </pre>
57
+ </div>
58
+ {{/if}}
59
+ </div>
42
60
  {{else if this.save.last.isSuccessful}}
43
61
  <UkIcon @icon="check" class="uk-animation-fade uk-text-success" />
44
62
  {{/if}}
@@ -46,6 +64,10 @@
46
64
  {{/if}}
47
65
  </div>
48
66
 
67
+ {{#if (and @field.question.raw.hintText this.hintTextVisible)}}
68
+ <CfField::hint @field={{@field}} />
69
+ {{/if}}
70
+
49
71
  {{#if @field.errors.length}}
50
72
  <CfField::errors @field={{@field}} />
51
73
  {{/if}}
@@ -46,6 +46,15 @@ export default class CfFieldComponent extends Component {
46
46
  return !hasQuestionType(this.args.field?.question, "action-button");
47
47
  }
48
48
 
49
+ get hintTextVisible() {
50
+ return !hasQuestionType(
51
+ this.args.field?.question,
52
+ "action-button",
53
+ "static",
54
+ "form"
55
+ );
56
+ }
57
+
49
58
  get saveIndicatorVisible() {
50
59
  return !hasQuestionType(this.args.field?.question, "action-button");
51
60
  }
@@ -73,12 +82,6 @@ export default class CfFieldComponent extends Component {
73
82
 
74
83
  yield this.args.field.validate.perform();
75
84
 
76
- try {
77
- // Save the new field value unlinked so the fields save task is not
78
- // aborted when this component is destroyed
79
- return yield this.args.field.save.unlinked().perform();
80
- } catch (e) {
81
- // The component was destroyed before the fields save task was finished
82
- }
85
+ return yield this.args.field.save.unlinked().perform();
83
86
  }
84
87
  }
@@ -28,6 +28,7 @@ fragment SimpleQuestion on Question {
28
28
  }
29
29
  }
30
30
  }
31
+ hintText
31
32
  }
32
33
  ... on TextareaQuestion {
33
34
  textareaMinLength: minLength
@@ -46,6 +47,7 @@ fragment SimpleQuestion on Question {
46
47
  }
47
48
  }
48
49
  }
50
+ hintText
49
51
  }
50
52
  ... on IntegerQuestion {
51
53
  integerMinValue: minValue
@@ -55,6 +57,7 @@ fragment SimpleQuestion on Question {
55
57
  value
56
58
  }
57
59
  placeholder
60
+ hintText
58
61
  }
59
62
  ... on FloatQuestion {
60
63
  floatMinValue: minValue
@@ -64,6 +67,7 @@ fragment SimpleQuestion on Question {
64
67
  value
65
68
  }
66
69
  placeholder
70
+ hintText
67
71
  }
68
72
  ... on ChoiceQuestion {
69
73
  choiceOptions: options {
@@ -80,6 +84,7 @@ fragment SimpleQuestion on Question {
80
84
  id
81
85
  value
82
86
  }
87
+ hintText
83
88
  }
84
89
  ... on MultipleChoiceQuestion {
85
90
  multipleChoiceOptions: options {
@@ -96,18 +101,24 @@ fragment SimpleQuestion on Question {
96
101
  id
97
102
  value
98
103
  }
104
+ hintText
99
105
  }
100
106
  ... on DateQuestion {
101
107
  dateDefaultAnswer: defaultAnswer {
102
108
  id
103
109
  value
104
110
  }
111
+ hintText
105
112
  }
106
113
  ... on StaticQuestion {
107
114
  staticContent
108
115
  }
109
116
  ... on CalculatedFloatQuestion {
110
117
  calcExpression
118
+ hintText
119
+ }
120
+ ... on FileQuestion {
121
+ hintText
111
122
  }
112
123
  ... on ActionButtonQuestion {
113
124
  action
@@ -130,6 +141,7 @@ fragment FieldTableQuestion on Question {
130
141
  }
131
142
  }
132
143
  }
144
+ hintText
133
145
  tableDefaultAnswer: defaultAnswer {
134
146
  id
135
147
  value {
@@ -0,0 +1,21 @@
1
+ import { helper } from "@ember/component/helper";
2
+
3
+ export function formatGraphqlErrorObject(error) {
4
+ try {
5
+ const path = error.path.join(".");
6
+ const { line, column } = error.locations[error.locations.length - 1];
7
+
8
+ return `${path}:${line}:${column}: ${error.message}`;
9
+ } catch (e) {
10
+ return null;
11
+ }
12
+ }
13
+
14
+ export function formatGraphqlError(error) {
15
+ return (
16
+ error?.errors?.map(formatGraphqlErrorObject).filter(Boolean).join("\n") ??
17
+ ""
18
+ );
19
+ }
20
+
21
+ export default helper(([error]) => formatGraphqlError(error));
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-form/components/cf-field/hint";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-form/helpers/format-graphql-error";
@@ -1,4 +1 @@
1
- export {
2
- default,
3
- getWidget,
4
- } from "@projectcaluma/ember-form/helpers/get-widget";
1
+ export { default } from "@projectcaluma/ember-form/helpers/get-widget";
@@ -9,20 +9,3 @@
9
9
  min-height: 20px;
10
10
  min-width: 20px;
11
11
  }
12
-
13
- .cf-checkbox_label {
14
- display: block;
15
- position: relative;
16
- padding-left: 26px;
17
-
18
- .uk-checkbox {
19
- position: absolute;
20
- top: 0.25em;
21
- left: 0;
22
- margin: 0;
23
- }
24
-
25
- & + br {
26
- display: none;
27
- }
28
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcaluma/ember-form",
3
- "version": "11.0.0-beta.15",
3
+ "version": "11.0.0-beta.18",
4
4
  "description": "Ember addon for rendering Caluma forms.",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -14,12 +14,14 @@
14
14
  "test:ember-compatibility": "ember try:each"
15
15
  },
16
16
  "dependencies": {
17
- "@embroider/macros": "^1.5.0",
18
- "@glimmer/component": "^1.0.4",
19
- "@glimmer/tracking": "^1.0.4",
20
- "@projectcaluma/ember-core": "^11.0.0-beta.5",
21
- "ember-apollo-client": "^3.2.1",
22
- "ember-auto-import": "^2.4.0",
17
+ "@ember/string": "^3.0.0",
18
+ "@embroider/macros": "^1.6.0",
19
+ "@embroider/util": "^1.6.0",
20
+ "@glimmer/component": "^1.1.1",
21
+ "@glimmer/tracking": "^1.1.1",
22
+ "@projectcaluma/ember-core": "^11.0.0-beta.6",
23
+ "ember-apollo-client": "^4.0.2",
24
+ "ember-auto-import": "^2.4.1",
23
25
  "ember-autoresize-modifier": "^0.5.0",
24
26
  "ember-cli-babel": "^7.26.11",
25
27
  "ember-cli-htmlbars": "^6.0.1",
@@ -27,13 +29,13 @@
27
29
  "ember-composable-helpers": "^5.0.0",
28
30
  "ember-concurrency": "^2.2.1",
29
31
  "ember-fetch": "^8.1.1",
30
- "ember-in-viewport": "^4.0.0",
32
+ "ember-in-viewport": "^4.0.2",
31
33
  "ember-intl": "^5.7.2",
32
34
  "ember-math-helpers": "^2.18.1",
33
35
  "ember-pikaday": "^4.0.0",
34
36
  "ember-power-select": "^5.0.4",
35
37
  "ember-resources": "^4.4.0",
36
- "ember-uikit": "^5.1.0",
38
+ "ember-uikit": "^5.1.1",
37
39
  "ember-validators": "^4.1.2",
38
40
  "graphql": "^15.8.0",
39
41
  "jexl": "^2.3.0",
@@ -43,11 +45,11 @@
43
45
  },
44
46
  "devDependencies": {
45
47
  "@ember/optional-features": "2.0.0",
46
- "@ember/test-helpers": "2.6.0",
47
- "@embroider/test-setup": "1.5.0",
48
- "@faker-js/faker": "6.0.0-beta.0",
49
- "@projectcaluma/ember-testing": "11.0.0-beta.4",
50
- "@projectcaluma/ember-workflow": "11.0.0-beta.5",
48
+ "@ember/test-helpers": "2.7.0",
49
+ "@embroider/test-setup": "1.6.0",
50
+ "@faker-js/faker": "6.1.2",
51
+ "@projectcaluma/ember-testing": "11.0.0-beta.6",
52
+ "@projectcaluma/ember-workflow": "11.0.0-beta.6",
51
53
  "broccoli-asset-rev": "3.0.0",
52
54
  "ember-cli": "3.28.5",
53
55
  "ember-cli-code-coverage": "1.0.3",
@@ -68,10 +70,18 @@
68
70
  "loader.js": "4.7.0",
69
71
  "miragejs": "0.1.43",
70
72
  "npm-run-all": "4.1.5",
71
- "qunit": "2.18.0",
73
+ "qunit": "2.18.1",
72
74
  "qunit-dom": "2.0.0",
73
75
  "uuid": "8.3.2",
74
- "webpack": "5.70.0"
76
+ "webpack": "5.72.0"
77
+ },
78
+ "peerDependencies": {
79
+ "@projectcaluma/ember-workflow": "^11.0.0-beta.6"
80
+ },
81
+ "peerDependenciesMeta": {
82
+ "@projectcaluma/ember-workflow": {
83
+ "optional": true
84
+ }
75
85
  },
76
86
  "engines": {
77
87
  "node": "12.* || 14.* || >= 16"
@@ -12,6 +12,10 @@ caluma:
12
12
  optionNotAvailable: "Diese Option ist nicht mehr verfügbar"
13
13
  info: "Mehr Informationen"
14
14
 
15
+ error:
16
+ intro: "Oh nein, auf unserer Seite ist etwas schief gelaufen. Ihre Antwort konnte nicht gespeichert werden."
17
+ details: "Technische Details:"
18
+
15
19
  navigation:
16
20
  next: "Weiter"
17
21
  previous: "Zurück"
@@ -12,6 +12,10 @@ caluma:
12
12
  optionNotAvailable: "This option is not available anymore"
13
13
  info: "More information"
14
14
 
15
+ error:
16
+ intro: "Oh no, something went wrong on our side. Your answer could not be saved."
17
+ details: "Technical details:"
18
+
15
19
  navigation:
16
20
  next: "Next"
17
21
  previous: "Previous"
@@ -12,6 +12,10 @@ caluma:
12
12
  optionNotAvailable: "Cette option n'est plus disponible"
13
13
  info: "Plus d'informations"
14
14
 
15
+ error:
16
+ intro: "Oh non, quelque chose a mal tourné de notre côté. Votre réponse n'a pas pu être sauvegardée."
17
+ details: "Détails techniques :"
18
+
15
19
  navigation:
16
20
  next: "suivante"
17
21
  previous: "précédente"