@projectcaluma/ember-form 9.3.0 → 10.0.3
Sign up to get free protection for your applications and to get access to all the features.
- package/addon/components/cf-content.js +2 -2
- package/addon/components/cf-field/input/action-button.hbs +1 -1
- package/addon/components/cf-field/input/action-button.js +7 -0
- package/addon/components/cf-field/input/checkbox.hbs +1 -1
- package/addon/components/cf-field/input/file.js +1 -1
- package/addon/components/cf-field/input/float.hbs +2 -2
- package/addon/components/cf-field/input/integer.hbs +2 -2
- package/addon/components/cf-field/input/text.hbs +2 -2
- package/addon/components/cf-field/input/textarea.hbs +2 -2
- package/addon/components/cf-field-value.js +1 -1
- package/addon/components/cf-navigation-item.hbs +2 -2
- package/addon/components/document-validity.js +3 -5
- package/addon/gql/fragments/{field-question.graphql → field.graphql} +83 -0
- package/addon/gql/mutations/save-document-date-answer.graphql +2 -2
- package/addon/gql/mutations/save-document-file-answer.graphql +2 -2
- package/addon/gql/mutations/save-document-float-answer.graphql +2 -2
- package/addon/gql/mutations/save-document-integer-answer.graphql +2 -2
- package/addon/gql/mutations/save-document-list-answer.graphql +2 -2
- package/addon/gql/mutations/save-document-string-answer.graphql +2 -2
- package/addon/gql/mutations/save-document-table-answer.graphql +2 -2
- package/addon/gql/mutations/save-document.graphql +3 -2
- package/addon/gql/queries/document-answers.graphql +38 -0
- package/addon/gql/queries/{get-document-forms.graphql → document-forms.graphql} +3 -2
- package/addon/gql/queries/{get-document-used-dynamic-options.graphql → document-used-dynamic-options.graphql} +2 -1
- package/addon/gql/queries/{get-dynamic-options.graphql → dynamic-options.graphql} +2 -1
- package/addon/gql/queries/{get-fileanswer-info.graphql → fileanswer-info.graphql} +2 -1
- package/addon/lib/document.js +16 -4
- package/addon/lib/field.js +2 -2
- package/addon/lib/question.js +1 -1
- package/package.json +12 -12
- package/addon/gql/fragments/field-answer.graphql +0 -57
- package/addon/gql/queries/get-document-answers.graphql +0 -24
@@ -5,8 +5,8 @@ import Component from "@glimmer/component";
|
|
5
5
|
import { queryManager } from "ember-apollo-client";
|
6
6
|
import { dropTask } from "ember-concurrency-decorators";
|
7
7
|
|
8
|
-
import getDocumentAnswersQuery from "@projectcaluma/ember-form/gql/queries/
|
9
|
-
import getDocumentFormsQuery from "@projectcaluma/ember-form/gql/queries/
|
8
|
+
import getDocumentAnswersQuery from "@projectcaluma/ember-form/gql/queries/document-answers.graphql";
|
9
|
+
import getDocumentFormsQuery from "@projectcaluma/ember-form/gql/queries/document-forms.graphql";
|
10
10
|
import { parseDocument } from "@projectcaluma/ember-form/lib/parsers";
|
11
11
|
|
12
12
|
/**
|
@@ -23,6 +23,13 @@ export default class CfFieldInputActionButtonComponent extends Component {
|
|
23
23
|
);
|
24
24
|
}
|
25
25
|
|
26
|
+
get workItem() {
|
27
|
+
return (
|
28
|
+
this.args.context?.actionButtonWorkItemId ||
|
29
|
+
this.args.field.document.workItemUuid
|
30
|
+
);
|
31
|
+
}
|
32
|
+
|
26
33
|
get action() {
|
27
34
|
return this.args.field.question.action.toLowerCase();
|
28
35
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{{#each @field.options as |option i|}}
|
2
2
|
{{#if (gt i 0)}}<br />{{/if}}
|
3
|
-
<label class="cf-checkbox_label {{if @field.isInvalid
|
3
|
+
<label class="cf-checkbox_label {{if @field.isInvalid 'uk-form-danger'}}">
|
4
4
|
<input
|
5
5
|
class="uk-checkbox uk-margin-small-right"
|
6
6
|
type="checkbox"
|
@@ -4,7 +4,7 @@ import Component from "@glimmer/component";
|
|
4
4
|
import { queryManager } from "ember-apollo-client";
|
5
5
|
|
6
6
|
import removeAnswerMutation from "@projectcaluma/ember-form/gql/mutations/remove-answer.graphql";
|
7
|
-
import getFileAnswerInfoQuery from "@projectcaluma/ember-form/gql/queries/
|
7
|
+
import getFileAnswerInfoQuery from "@projectcaluma/ember-form/gql/queries/fileanswer-info.graphql";
|
8
8
|
|
9
9
|
export default class CfFieldInputFileComponent extends Component {
|
10
10
|
@service intl;
|
@@ -2,8 +2,8 @@
|
|
2
2
|
type="number"
|
3
3
|
step="0.001"
|
4
4
|
class="uk-input
|
5
|
-
{{if @field.isInvalid
|
6
|
-
{{if this.disabled
|
5
|
+
{{if @field.isInvalid 'uk-form-danger'}}
|
6
|
+
{{if this.disabled 'uk-disabled'}}"
|
7
7
|
readonly={{this.disabled}}
|
8
8
|
name={{@field.pk}}
|
9
9
|
id={{@field.pk}}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
type="number"
|
3
3
|
step="1"
|
4
4
|
class="uk-input
|
5
|
-
{{if @field.isInvalid
|
6
|
-
{{if @disabled
|
5
|
+
{{if @field.isInvalid 'uk-form-danger'}}
|
6
|
+
{{if @disabled 'uk-disabled'}}"
|
7
7
|
name={{@field.pk}}
|
8
8
|
id={{@field.pk}}
|
9
9
|
value={{@field.answer.value}}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<input
|
2
2
|
type="text"
|
3
3
|
class="uk-input
|
4
|
-
{{if @field.isInvalid
|
5
|
-
{{if @disabled
|
4
|
+
{{if @field.isInvalid 'uk-form-danger'}}
|
5
|
+
{{if @disabled 'uk-disabled'}}"
|
6
6
|
name={{@field.pk}}
|
7
7
|
id={{@field.pk}}
|
8
8
|
value={{@field.answer.value}}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<textarea
|
2
2
|
class="uk-textarea
|
3
|
-
{{if @field.isInvalid
|
4
|
-
{{if @disabled
|
3
|
+
{{if @field.isInvalid 'uk-form-danger'}}
|
4
|
+
{{if @disabled 'uk-disabled'}}"
|
5
5
|
name={{@field.pk}}
|
6
6
|
id={{@field.pk}}
|
7
7
|
placeholder={{@field.question.placeholder}}
|
@@ -3,7 +3,7 @@ import Component from "@glimmer/component";
|
|
3
3
|
import { queryManager } from "ember-apollo-client";
|
4
4
|
import moment from "moment";
|
5
5
|
|
6
|
-
import getFileAnswerInfoQuery from "@projectcaluma/ember-form/gql/queries/
|
6
|
+
import getFileAnswerInfoQuery from "@projectcaluma/ember-form/gql/queries/fileanswer-info.graphql";
|
7
7
|
|
8
8
|
export default class CfFieldValueComponent extends Component {
|
9
9
|
@queryManager apollo;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<li
|
2
2
|
class="cf-navigation__item uk-width-auto
|
3
|
-
{{if (or @item.active @item.childrenActive)
|
3
|
+
{{if (or @item.active @item.childrenActive) 'uk-active'}}"
|
4
4
|
>
|
5
5
|
<LinkTo @query={{hash displayedForm=@item.slug}}>
|
6
6
|
{{#if (and @useAsHeading this.active)}}
|
@@ -19,7 +19,7 @@
|
|
19
19
|
{{/if}}
|
20
20
|
<span
|
21
21
|
class="cf-navigation__item__icon cf-navigation__item__icon--{{@item.state}}
|
22
|
-
{{if @item.dirty
|
22
|
+
{{if @item.dirty 'cf-navigation__item__icon--dirty'}}"
|
23
23
|
></span>
|
24
24
|
</LinkTo>
|
25
25
|
|
@@ -37,11 +37,9 @@ export default class DocumentValidity extends Component {
|
|
37
37
|
|
38
38
|
@restartableTask
|
39
39
|
*_validate() {
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
})
|
44
|
-
);
|
40
|
+
for (const field of this.args.document.fields) {
|
41
|
+
yield field.validate.linked().perform();
|
42
|
+
}
|
45
43
|
|
46
44
|
if (this.isValid) {
|
47
45
|
this.args.onValid?.();
|
@@ -1,4 +1,10 @@
|
|
1
|
+
# We can not symlink this file so an exact copy exists in another package:
|
2
|
+
# packages/form-builder/addon/gql/fragments/field.graphql
|
3
|
+
#
|
4
|
+
# When changing this file the other must also receive the same changes.
|
5
|
+
|
1
6
|
fragment SimpleQuestion on Question {
|
7
|
+
id
|
2
8
|
slug
|
3
9
|
label
|
4
10
|
isRequired
|
@@ -9,6 +15,7 @@ fragment SimpleQuestion on Question {
|
|
9
15
|
textMinLength: minLength
|
10
16
|
textMaxLength: maxLength
|
11
17
|
textDefaultAnswer: defaultAnswer {
|
18
|
+
id
|
12
19
|
value
|
13
20
|
}
|
14
21
|
placeholder
|
@@ -17,6 +24,7 @@ fragment SimpleQuestion on Question {
|
|
17
24
|
textareaMinLength: minLength
|
18
25
|
textareaMaxLength: maxLength
|
19
26
|
textareaDefaultAnswer: defaultAnswer {
|
27
|
+
id
|
20
28
|
value
|
21
29
|
}
|
22
30
|
placeholder
|
@@ -25,6 +33,7 @@ fragment SimpleQuestion on Question {
|
|
25
33
|
integerMinValue: minValue
|
26
34
|
integerMaxValue: maxValue
|
27
35
|
integerDefaultAnswer: defaultAnswer {
|
36
|
+
id
|
28
37
|
value
|
29
38
|
}
|
30
39
|
placeholder
|
@@ -33,6 +42,7 @@ fragment SimpleQuestion on Question {
|
|
33
42
|
floatMinValue: minValue
|
34
43
|
floatMaxValue: maxValue
|
35
44
|
floatDefaultAnswer: defaultAnswer {
|
45
|
+
id
|
36
46
|
value
|
37
47
|
}
|
38
48
|
placeholder
|
@@ -41,6 +51,7 @@ fragment SimpleQuestion on Question {
|
|
41
51
|
choiceOptions: options {
|
42
52
|
edges {
|
43
53
|
node {
|
54
|
+
id
|
44
55
|
slug
|
45
56
|
label
|
46
57
|
isArchived
|
@@ -48,6 +59,7 @@ fragment SimpleQuestion on Question {
|
|
48
59
|
}
|
49
60
|
}
|
50
61
|
choiceDefaultAnswer: defaultAnswer {
|
62
|
+
id
|
51
63
|
value
|
52
64
|
}
|
53
65
|
}
|
@@ -55,6 +67,7 @@ fragment SimpleQuestion on Question {
|
|
55
67
|
multipleChoiceOptions: options {
|
56
68
|
edges {
|
57
69
|
node {
|
70
|
+
id
|
58
71
|
slug
|
59
72
|
label
|
60
73
|
isArchived
|
@@ -62,11 +75,13 @@ fragment SimpleQuestion on Question {
|
|
62
75
|
}
|
63
76
|
}
|
64
77
|
multipleChoiceDefaultAnswer: defaultAnswer {
|
78
|
+
id
|
65
79
|
value
|
66
80
|
}
|
67
81
|
}
|
68
82
|
... on DateQuestion {
|
69
83
|
dateDefaultAnswer: defaultAnswer {
|
84
|
+
id
|
70
85
|
value
|
71
86
|
}
|
72
87
|
}
|
@@ -84,8 +99,10 @@ fragment SimpleQuestion on Question {
|
|
84
99
|
}
|
85
100
|
|
86
101
|
fragment FieldTableQuestion on Question {
|
102
|
+
id
|
87
103
|
... on TableQuestion {
|
88
104
|
rowForm {
|
105
|
+
id
|
89
106
|
slug
|
90
107
|
questions {
|
91
108
|
edges {
|
@@ -96,6 +113,7 @@ fragment FieldTableQuestion on Question {
|
|
96
113
|
}
|
97
114
|
}
|
98
115
|
tableDefaultAnswer: defaultAnswer {
|
116
|
+
id
|
99
117
|
value {
|
100
118
|
id
|
101
119
|
answers {
|
@@ -103,6 +121,7 @@ fragment FieldTableQuestion on Question {
|
|
103
121
|
node {
|
104
122
|
id
|
105
123
|
question {
|
124
|
+
id
|
106
125
|
slug
|
107
126
|
}
|
108
127
|
... on StringAnswer {
|
@@ -129,10 +148,12 @@ fragment FieldTableQuestion on Question {
|
|
129
148
|
}
|
130
149
|
|
131
150
|
fragment FieldQuestion on Question {
|
151
|
+
id
|
132
152
|
...SimpleQuestion
|
133
153
|
...FieldTableQuestion
|
134
154
|
... on FormQuestion {
|
135
155
|
subForm {
|
156
|
+
id
|
136
157
|
slug
|
137
158
|
name
|
138
159
|
questions {
|
@@ -140,10 +161,12 @@ fragment FieldQuestion on Question {
|
|
140
161
|
node {
|
141
162
|
# This part here limits our query to 2 level deep nested forms. This
|
142
163
|
# has to be solved in another way!
|
164
|
+
id
|
143
165
|
...SimpleQuestion
|
144
166
|
...FieldTableQuestion
|
145
167
|
... on FormQuestion {
|
146
168
|
subForm {
|
169
|
+
id
|
147
170
|
slug
|
148
171
|
name
|
149
172
|
questions {
|
@@ -162,3 +185,63 @@ fragment FieldQuestion on Question {
|
|
162
185
|
}
|
163
186
|
}
|
164
187
|
}
|
188
|
+
|
189
|
+
fragment SimpleAnswer on Answer {
|
190
|
+
id
|
191
|
+
question {
|
192
|
+
id
|
193
|
+
slug
|
194
|
+
}
|
195
|
+
... on StringAnswer {
|
196
|
+
stringValue: value
|
197
|
+
}
|
198
|
+
... on IntegerAnswer {
|
199
|
+
integerValue: value
|
200
|
+
}
|
201
|
+
... on FloatAnswer {
|
202
|
+
floatValue: value
|
203
|
+
}
|
204
|
+
... on ListAnswer {
|
205
|
+
listValue: value
|
206
|
+
}
|
207
|
+
... on FileAnswer {
|
208
|
+
fileValue: value {
|
209
|
+
id
|
210
|
+
uploadUrl
|
211
|
+
downloadUrl
|
212
|
+
metadata
|
213
|
+
name
|
214
|
+
}
|
215
|
+
}
|
216
|
+
... on DateAnswer {
|
217
|
+
dateValue: value
|
218
|
+
}
|
219
|
+
}
|
220
|
+
|
221
|
+
fragment FieldAnswer on Answer {
|
222
|
+
id
|
223
|
+
...SimpleAnswer
|
224
|
+
... on TableAnswer {
|
225
|
+
tableValue: value {
|
226
|
+
id
|
227
|
+
form {
|
228
|
+
id
|
229
|
+
slug
|
230
|
+
questions {
|
231
|
+
edges {
|
232
|
+
node {
|
233
|
+
...FieldQuestion
|
234
|
+
}
|
235
|
+
}
|
236
|
+
}
|
237
|
+
}
|
238
|
+
answers {
|
239
|
+
edges {
|
240
|
+
node {
|
241
|
+
...SimpleAnswer
|
242
|
+
}
|
243
|
+
}
|
244
|
+
}
|
245
|
+
}
|
246
|
+
}
|
247
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentDateAnswerInput!) {
|
3
|
+
mutation SaveDocumentDateAnswer($input: SaveDocumentDateAnswerInput!) {
|
4
4
|
saveDocumentDateAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentFileAnswerInput!) {
|
3
|
+
mutation SaveDocumentFileAnswer($input: SaveDocumentFileAnswerInput!) {
|
4
4
|
saveDocumentFileAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentFloatAnswerInput!) {
|
3
|
+
mutation SaveDocumentFloatAnswer($input: SaveDocumentFloatAnswerInput!) {
|
4
4
|
saveDocumentFloatAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentIntegerAnswerInput!) {
|
3
|
+
mutation SaveDocumentIntegerAnswer($input: SaveDocumentIntegerAnswerInput!) {
|
4
4
|
saveDocumentIntegerAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentListAnswerInput!) {
|
3
|
+
mutation SaveDocumentListAnswer($input: SaveDocumentListAnswerInput!) {
|
4
4
|
saveDocumentListAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentStringAnswerInput!) {
|
3
|
+
mutation SaveDocumentStringAnswer($input: SaveDocumentStringAnswerInput!) {
|
4
4
|
saveDocumentStringAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentTableAnswerInput!) {
|
3
|
+
mutation SaveDocumentTableAnswer($input: SaveDocumentTableAnswerInput!) {
|
4
4
|
saveDocumentTableAnswer(input: $input) {
|
5
5
|
answer {
|
6
6
|
...FieldAnswer
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
mutation ($input: SaveDocumentInput!) {
|
3
|
+
mutation SaveDocument($input: SaveDocumentInput!) {
|
4
4
|
saveDocument(input: $input) {
|
5
5
|
document {
|
6
6
|
id
|
@@ -12,6 +12,7 @@ mutation ($input: SaveDocumentInput!) {
|
|
12
12
|
}
|
13
13
|
}
|
14
14
|
form {
|
15
|
+
id
|
15
16
|
slug
|
16
17
|
questions {
|
17
18
|
edges {
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#import * from '../fragments/field.graphql'
|
2
|
+
|
3
|
+
query DocumentAnswers($id: ID!) {
|
4
|
+
allDocuments(filter: [{ id: $id }]) {
|
5
|
+
edges {
|
6
|
+
node {
|
7
|
+
id
|
8
|
+
form {
|
9
|
+
id
|
10
|
+
slug
|
11
|
+
}
|
12
|
+
workItem {
|
13
|
+
id
|
14
|
+
}
|
15
|
+
case {
|
16
|
+
id
|
17
|
+
workItems {
|
18
|
+
edges {
|
19
|
+
node {
|
20
|
+
id
|
21
|
+
task {
|
22
|
+
id
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
answers {
|
29
|
+
edges {
|
30
|
+
node {
|
31
|
+
...FieldAnswer
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
@@ -1,9 +1,10 @@
|
|
1
|
-
#
|
1
|
+
#import FieldQuestion, FieldTableQuestion, SimpleQuestion from '../fragments/field.graphql'
|
2
2
|
|
3
|
-
query ($slug: String!) {
|
3
|
+
query DocumentForms($slug: String!) {
|
4
4
|
allForms(filter: [{ slug: $slug }]) {
|
5
5
|
edges {
|
6
6
|
node {
|
7
|
+
id
|
7
8
|
slug
|
8
9
|
name
|
9
10
|
meta
|
@@ -1,9 +1,10 @@
|
|
1
|
-
query
|
1
|
+
query DocumentUsedDynamicOptions($document: ID!, $question: ID!) {
|
2
2
|
allUsedDynamicOptions(
|
3
3
|
filter: [{ document: $document }, { question: $question }]
|
4
4
|
) {
|
5
5
|
edges {
|
6
6
|
node {
|
7
|
+
id
|
7
8
|
slug
|
8
9
|
label
|
9
10
|
}
|
package/addon/lib/document.js
CHANGED
@@ -83,9 +83,21 @@ export default Base.extend({
|
|
83
83
|
return decodeId(this.raw.id);
|
84
84
|
}),
|
85
85
|
|
86
|
-
workItemUuid: computed(
|
87
|
-
|
88
|
-
|
86
|
+
workItemUuid: computed(
|
87
|
+
"raw.{workItem.id,case.workItems.edges.[]}",
|
88
|
+
function () {
|
89
|
+
// The document is either directly attached to a work item (via
|
90
|
+
// CompleteTaskFormTask) or it's the case document and therefore
|
91
|
+
// indirectly attached to a work item (via CompleteWorkflowFormTask)
|
92
|
+
const rawId =
|
93
|
+
this.raw.workItem?.id ||
|
94
|
+
this.raw.case?.workItems.edges.find(
|
95
|
+
(edge) => edge.node.task.__typename === "CompleteWorkflowFormTask"
|
96
|
+
)?.node.id;
|
97
|
+
|
98
|
+
return rawId ? decodeId(rawId) : null;
|
99
|
+
}
|
100
|
+
),
|
89
101
|
|
90
102
|
/**
|
91
103
|
* The root form of this document
|
@@ -234,7 +246,7 @@ export default Base.extend({
|
|
234
246
|
}
|
235
247
|
|
236
248
|
if (field.hidden || [undefined, null].includes(field.value)) {
|
237
|
-
return field.question.isMultipleChoice ? [] : null;
|
249
|
+
return defaultValue ?? field.question.isMultipleChoice ? [] : null;
|
238
250
|
}
|
239
251
|
|
240
252
|
if (field.question.__typename === "TableQuestion") {
|
package/addon/lib/field.js
CHANGED
@@ -19,7 +19,7 @@ import saveDocumentIntegerAnswerMutation from "@projectcaluma/ember-form/gql/mut
|
|
19
19
|
import saveDocumentListAnswerMutation from "@projectcaluma/ember-form/gql/mutations/save-document-list-answer.graphql";
|
20
20
|
import saveDocumentStringAnswerMutation from "@projectcaluma/ember-form/gql/mutations/save-document-string-answer.graphql";
|
21
21
|
import saveDocumentTableAnswerMutation from "@projectcaluma/ember-form/gql/mutations/save-document-table-answer.graphql";
|
22
|
-
import getDocumentUsedDynamicOptionsQuery from "@projectcaluma/ember-form/gql/queries/
|
22
|
+
import getDocumentUsedDynamicOptionsQuery from "@projectcaluma/ember-form/gql/queries/document-used-dynamic-options.graphql";
|
23
23
|
import Base from "@projectcaluma/ember-form/lib/base";
|
24
24
|
import {
|
25
25
|
nestedDependencyParents,
|
@@ -564,7 +564,7 @@ export default Base.extend({
|
|
564
564
|
"fieldset.field.hidden",
|
565
565
|
"jexlContext",
|
566
566
|
"optionalDependencies.@each.{hidden,value}",
|
567
|
-
"question.isRequired",
|
567
|
+
"question.{__typename,isRequired}",
|
568
568
|
"pk",
|
569
569
|
function () {
|
570
570
|
if (
|
package/addon/lib/question.js
CHANGED
@@ -5,7 +5,7 @@ import { camelize } from "@ember/string";
|
|
5
5
|
import { queryManager } from "ember-apollo-client";
|
6
6
|
import { task } from "ember-concurrency";
|
7
7
|
|
8
|
-
import getDynamicOptions from "@projectcaluma/ember-form/gql/queries/
|
8
|
+
import getDynamicOptions from "@projectcaluma/ember-form/gql/queries/dynamic-options.graphql";
|
9
9
|
import Base from "@projectcaluma/ember-form/lib/base";
|
10
10
|
|
11
11
|
const getValue = (answer) => {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@projectcaluma/ember-form",
|
3
|
-
"version": "
|
3
|
+
"version": "10.0.3",
|
4
4
|
"description": "Ember addon for rendering Caluma forms.",
|
5
5
|
"keywords": [
|
6
6
|
"ember-addon"
|
@@ -16,19 +16,19 @@
|
|
16
16
|
"dependencies": {
|
17
17
|
"@glimmer/component": "^1.0.4",
|
18
18
|
"@glimmer/tracking": "^1.0.4",
|
19
|
-
"@projectcaluma/ember-core": "
|
19
|
+
"@projectcaluma/ember-core": "^10.1.0",
|
20
20
|
"ember-apollo-client": "^3.2.0",
|
21
21
|
"ember-auto-import": "^2.2.3",
|
22
22
|
"ember-cli-babel": "^7.26.6",
|
23
|
-
"ember-cli-htmlbars": "^6.0.
|
23
|
+
"ember-cli-htmlbars": "^6.0.1",
|
24
24
|
"ember-cli-showdown": "^6.0.0",
|
25
25
|
"ember-composable-helpers": "^4.5.0",
|
26
26
|
"ember-fetch": "^8.0.4",
|
27
|
-
"ember-in-viewport": "^
|
27
|
+
"ember-in-viewport": "^4.0.0",
|
28
28
|
"ember-intl": "^5.7.0",
|
29
29
|
"ember-math-helpers": "^2.18.0",
|
30
30
|
"ember-pikaday": "^3.0.0",
|
31
|
-
"ember-power-select": "^
|
31
|
+
"ember-power-select": "^5.0.3",
|
32
32
|
"ember-uikit": "^4.0.0",
|
33
33
|
"graphql": "^15.6.1",
|
34
34
|
"jexl": "^2.3.0",
|
@@ -39,11 +39,11 @@
|
|
39
39
|
"devDependencies": {
|
40
40
|
"@ember/optional-features": "2.0.0",
|
41
41
|
"@ember/test-helpers": "2.6.0",
|
42
|
-
"@embroider/test-setup": "0.
|
43
|
-
"@projectcaluma/ember-testing": "
|
44
|
-
"@projectcaluma/ember-workflow": "
|
42
|
+
"@embroider/test-setup": "0.48.1",
|
43
|
+
"@projectcaluma/ember-testing": "10.0.0",
|
44
|
+
"@projectcaluma/ember-workflow": "10.0.2",
|
45
45
|
"broccoli-asset-rev": "3.0.0",
|
46
|
-
"ember-cli": "3.28.
|
46
|
+
"ember-cli": "3.28.4",
|
47
47
|
"ember-cli-code-coverage": "1.0.3",
|
48
48
|
"ember-cli-dependency-checker": "3.2.0",
|
49
49
|
"ember-cli-inject-live-reload": "2.1.0",
|
@@ -56,7 +56,7 @@
|
|
56
56
|
"ember-maybe-import-regenerator": "1.0.0",
|
57
57
|
"ember-qunit": "5.1.5",
|
58
58
|
"ember-resolver": "8.0.3",
|
59
|
-
"ember-source": "3.28.
|
59
|
+
"ember-source": "3.28.8",
|
60
60
|
"ember-source-channel-url": "3.0.0",
|
61
61
|
"ember-try": "2.0.0",
|
62
62
|
"faker": "5.5.3",
|
@@ -65,10 +65,10 @@
|
|
65
65
|
"qunit": "2.17.2",
|
66
66
|
"qunit-dom": "2.0.0",
|
67
67
|
"uuid": "8.3.2",
|
68
|
-
"webpack": "5.
|
68
|
+
"webpack": "5.65.0"
|
69
69
|
},
|
70
70
|
"engines": {
|
71
|
-
"node": "
|
71
|
+
"node": "12.* || 14.* || >= 16"
|
72
72
|
},
|
73
73
|
"ember": {
|
74
74
|
"edition": "octane"
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# import * from '@projectcaluma/ember-form/gql/fragments/field-question.graphql'
|
2
|
-
|
3
|
-
fragment SimpleAnswer on Answer {
|
4
|
-
id
|
5
|
-
question {
|
6
|
-
slug
|
7
|
-
}
|
8
|
-
... on StringAnswer {
|
9
|
-
stringValue: value
|
10
|
-
}
|
11
|
-
... on IntegerAnswer {
|
12
|
-
integerValue: value
|
13
|
-
}
|
14
|
-
... on FloatAnswer {
|
15
|
-
floatValue: value
|
16
|
-
}
|
17
|
-
... on ListAnswer {
|
18
|
-
listValue: value
|
19
|
-
}
|
20
|
-
... on FileAnswer {
|
21
|
-
fileValue: value {
|
22
|
-
uploadUrl
|
23
|
-
downloadUrl
|
24
|
-
metadata
|
25
|
-
name
|
26
|
-
}
|
27
|
-
}
|
28
|
-
... on DateAnswer {
|
29
|
-
dateValue: value
|
30
|
-
}
|
31
|
-
}
|
32
|
-
|
33
|
-
fragment FieldAnswer on Answer {
|
34
|
-
...SimpleAnswer
|
35
|
-
... on TableAnswer {
|
36
|
-
tableValue: value {
|
37
|
-
id
|
38
|
-
form {
|
39
|
-
slug
|
40
|
-
questions {
|
41
|
-
edges {
|
42
|
-
node {
|
43
|
-
...FieldQuestion
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
answers {
|
49
|
-
edges {
|
50
|
-
node {
|
51
|
-
...SimpleAnswer
|
52
|
-
}
|
53
|
-
}
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# import * from '@projectcaluma/ember-form/gql/fragments/field-answer.graphql'
|
2
|
-
|
3
|
-
query ($id: ID!) {
|
4
|
-
allDocuments(filter: [{ id: $id }]) {
|
5
|
-
edges {
|
6
|
-
node {
|
7
|
-
id
|
8
|
-
form {
|
9
|
-
slug
|
10
|
-
}
|
11
|
-
workItem {
|
12
|
-
id
|
13
|
-
}
|
14
|
-
answers {
|
15
|
-
edges {
|
16
|
-
node {
|
17
|
-
...FieldAnswer
|
18
|
-
}
|
19
|
-
}
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|