@projectcaluma/ember-distribution 12.6.0 → 12.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/addon/components/cd-inquiry-dialog/inquiry-part.js +2 -2
- package/addon/components/cd-inquiry-new-form/group-type.hbs +23 -0
- package/addon/components/cd-inquiry-new-form/group-type.js +15 -0
- package/addon/components/cd-inquiry-new-form/group.hbs +25 -0
- package/addon/components/cd-inquiry-new-form/select.hbs +36 -40
- package/addon/components/cd-inquiry-new-form/select.js +22 -1
- package/addon/templates/index.hbs +11 -1
- package/addon/utils/inquiry-deadline.js +4 -4
- package/addon/utils/inquiry-status.js +6 -6
- package/app/components/cd-inquiry-new-form/group-type.js +1 -0
- package/app/components/cd-inquiry-new-form/group.js +1 -0
- package/package.json +49 -33
- package/translations/de.yaml +1 -0
- package/translations/en.yaml +1 -0
- package/translations/fr.yaml +1 -0
- package/tsconfig.declarations.json +10 -0
@@ -75,8 +75,8 @@ export default class CdInquiryDialogInquiryPartComponent extends Component {
|
|
75
75
|
value: edge.node.selectedOption // single choice answer
|
76
76
|
? edge.node.selectedOption.label
|
77
77
|
: edge.node.selectedOptions // multiple choice answer
|
78
|
-
|
79
|
-
|
78
|
+
? edge.node.selectedOptions.edges.map((edge) => edge.node.label)
|
79
|
+
: edge.node.value, // regular answer
|
80
80
|
}))
|
81
81
|
: null;
|
82
82
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{{! template-lint-disable require-presentational-children }}
|
2
|
+
<tr
|
3
|
+
class="uk-background-muted uk-text-bold"
|
4
|
+
role="button"
|
5
|
+
{{on "click" (fn (mut this.isExpanded) (not this.isExpanded))}}
|
6
|
+
data-test-group-type={{@type.name}}
|
7
|
+
>
|
8
|
+
<td colspan="3" class="">
|
9
|
+
<div class="uk-flex uk-flex-between">
|
10
|
+
{{t @type.name}}
|
11
|
+
<UkIcon @icon={{if this.isExpanded "chevron-up" "chevron-down"}} />
|
12
|
+
</div>
|
13
|
+
</td>
|
14
|
+
</tr>
|
15
|
+
{{#if this.isExpanded}}
|
16
|
+
{{#each @type.groups as |group|}}
|
17
|
+
<CdInquiryNewForm::Group
|
18
|
+
@group={{group}}
|
19
|
+
@selectedGroups={{@selectedGroups}}
|
20
|
+
@updateSelectedGroups={{@updateSelectedGroups}}
|
21
|
+
/>
|
22
|
+
{{/each}}
|
23
|
+
{{/if}}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import Component from "@glimmer/component";
|
2
|
+
import { tracked } from "@glimmer/tracking";
|
3
|
+
|
4
|
+
export default class CdInquiryNewFormGroupTypeComponent extends Component {
|
5
|
+
@tracked _isExpanded = true;
|
6
|
+
|
7
|
+
get isExpanded() {
|
8
|
+
// if we are searching all the groups need to be expanded anyway
|
9
|
+
return this.args.search !== "" ? true : this._isExpanded;
|
10
|
+
}
|
11
|
+
|
12
|
+
set isExpanded(value) {
|
13
|
+
this._isExpanded = value;
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{{! template-lint-disable require-presentational-children }}
|
2
|
+
<tr
|
3
|
+
role="checkbox"
|
4
|
+
data-test-group={{@group.identifier}}
|
5
|
+
aria-checked={{includes @group.identifier @selectedGroups}}
|
6
|
+
{{on "click" (fn @updateSelectedGroups @group.identifier)}}
|
7
|
+
>
|
8
|
+
<td class="uk-padding-remove-right">
|
9
|
+
{{! template-lint-disable require-input-label no-nested-interactive }}
|
10
|
+
<input
|
11
|
+
type="checkbox"
|
12
|
+
class="uk-checkbox"
|
13
|
+
checked={{includes @group.identifier @selectedGroups}}
|
14
|
+
/>
|
15
|
+
</td>
|
16
|
+
<td class="uk-width-expand">{{group-name @group.identifier}}</td>
|
17
|
+
<td class="uk-text-right">
|
18
|
+
{{#if @group.config.icon}}
|
19
|
+
<UkIcon
|
20
|
+
@icon={{@group.config.icon}}
|
21
|
+
class="uk-display-block uk-text-{{@group.config.iconColor}}"
|
22
|
+
/>
|
23
|
+
{{/if}}
|
24
|
+
</td>
|
25
|
+
</tr>
|
@@ -1,15 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
{{#
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
{{#unless this.showAllServices}}
|
2
|
+
<div class="uk-margin-bottom uk-button-group" data-test-group-toggle-bar>
|
3
|
+
{{#each-in this.config.new.types as |slug config|}}
|
4
|
+
{{#unless config.disabled}}
|
5
|
+
<UkButton
|
6
|
+
data-test-type={{slug}}
|
7
|
+
@label={{t config.label}}
|
8
|
+
@color={{if (includes slug @selectedTypes) "primary" "default"}}
|
9
|
+
@onClick={{fn this.updateSelectedTypes slug}}
|
10
|
+
/>
|
11
|
+
{{/unless}}
|
12
|
+
{{/each-in}}
|
13
|
+
</div>
|
14
|
+
{{/unless}}
|
13
15
|
|
14
16
|
<div class="uk-search uk-search-default uk-width-1-1">
|
15
17
|
<span class="uk-search-icon-flip" uk-search-icon></span>
|
@@ -30,36 +32,30 @@
|
|
30
32
|
</div>
|
31
33
|
{{else if this.groups.value.length}}
|
32
34
|
<table
|
33
|
-
class=
|
35
|
+
class={{concat
|
36
|
+
"uk-table uk-table-hover uk-table-small uk-table-middle group-list "
|
37
|
+
(if this.showAllServices "uk-table-divider" "uk-table-striped")
|
38
|
+
}}
|
34
39
|
>
|
35
40
|
<tbody>
|
36
|
-
{{#
|
37
|
-
{{
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
{{#if group.config.icon}}
|
55
|
-
<UkIcon
|
56
|
-
@icon={{group.config.icon}}
|
57
|
-
class="uk-display-block uk-text-{{group.config.iconColor}}"
|
58
|
-
/>
|
59
|
-
{{/if}}
|
60
|
-
</td>
|
61
|
-
</tr>
|
62
|
-
{{/each}}
|
41
|
+
{{#if this.showAllServices}}
|
42
|
+
{{#each this.groupTypes as |type|}}
|
43
|
+
<CdInquiryNewForm::GroupType
|
44
|
+
@type={{type}}
|
45
|
+
@selectedGroups={{@selectedGroups}}
|
46
|
+
@updateSelectedGroups={{this.updateSelectedGroups}}
|
47
|
+
@search={{@search}}
|
48
|
+
/>
|
49
|
+
{{/each}}
|
50
|
+
{{else}}
|
51
|
+
{{#each this.groups.value as |group|}}
|
52
|
+
<CdInquiryNewForm::Group
|
53
|
+
@group={{group}}
|
54
|
+
@selectedGroups={{@selectedGroups}}
|
55
|
+
@updateSelectedGroups={{this.updateSelectedGroups}}
|
56
|
+
/>
|
57
|
+
{{/each}}
|
58
|
+
{{/if}}
|
63
59
|
</tbody>
|
64
60
|
</table>
|
65
61
|
{{else}}
|
@@ -20,8 +20,28 @@ export default class CdInquiryNewFormSelectComponent extends Component {
|
|
20
20
|
|
21
21
|
@config config;
|
22
22
|
|
23
|
+
get showAllServices() {
|
24
|
+
return this.config.ui?.new?.showAllServices;
|
25
|
+
}
|
26
|
+
|
27
|
+
get groupTypes() {
|
28
|
+
return Object.entries(this.config.new.types)
|
29
|
+
.filter(([, { disabled }]) => !disabled)
|
30
|
+
.map(([identifier, group]) => ({
|
31
|
+
identifier,
|
32
|
+
name: group.label,
|
33
|
+
config: group.config,
|
34
|
+
groups: this.groups?.value?.filter(
|
35
|
+
(group) => group.type === identifier,
|
36
|
+
),
|
37
|
+
}));
|
38
|
+
}
|
39
|
+
|
23
40
|
groups = trackedTask(this, this.fetchGroups, () => [
|
24
|
-
|
41
|
+
// if we want to show all services we need to fetch all groups
|
42
|
+
this.showAllServices
|
43
|
+
? Object.keys(this.config.new.types)
|
44
|
+
: this.args.selectedTypes,
|
25
45
|
this.args.search,
|
26
46
|
]);
|
27
47
|
|
@@ -69,6 +89,7 @@ export default class CdInquiryNewFormSelectComponent extends Component {
|
|
69
89
|
identifier: group[this.calumaOptions.groupIdentifierProperty],
|
70
90
|
name: group[this.calumaOptions.groupNameProperty],
|
71
91
|
config: this.config.new.types[type],
|
92
|
+
type,
|
72
93
|
}));
|
73
94
|
})
|
74
95
|
.sort((a, b) => a.name.localeCompare(b.name));
|
@@ -1,7 +1,17 @@
|
|
1
1
|
<div class="uk-text-center uk-text-muted">
|
2
2
|
{{svg-jar "distribution" class="uk-inline" width=200}}
|
3
3
|
<p class="uk-margin-medium uk-margin-remove-horizontal">
|
4
|
-
{{
|
4
|
+
{{#if
|
5
|
+
(or
|
6
|
+
(can "create inquiry of distribution")
|
7
|
+
(can "complete distribution")
|
8
|
+
(can "reopen distribution")
|
9
|
+
)
|
10
|
+
}}
|
11
|
+
{{t "caluma.distribution.empty"}}
|
12
|
+
{{else}}
|
13
|
+
{{t "caluma.distribution.no-actions"}}
|
14
|
+
{{/if}}
|
5
15
|
</p>
|
6
16
|
<CdNavigation::Controls @useButtons={{true}} />
|
7
17
|
</div>
|
@@ -67,12 +67,12 @@ function decorator(
|
|
67
67
|
const statusConfig = isSkipped
|
68
68
|
? INQUIRY_STATUS.SKIPPED
|
69
69
|
: isInProgress
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
70
|
+
? INQUIRY_STATUS.IN_PROGRESS
|
71
|
+
: isDraft
|
72
|
+
? INQUIRY_STATUS.DRAFT
|
73
|
+
: isSent
|
74
|
+
? INQUIRY_STATUS.SENT
|
75
|
+
: this.config.inquiry.answer.statusMapping[answer.value];
|
76
76
|
|
77
77
|
return {
|
78
78
|
slug: statusConfig.slug,
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from "@projectcaluma/ember-distribution/components/cd-inquiry-new-form/group-type";
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from "@projectcaluma/ember-distribution/components/cd-inquiry-new-form/group";
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@projectcaluma/ember-distribution",
|
3
|
-
"version": "12.
|
3
|
+
"version": "12.8.0",
|
4
4
|
"description": "Ember engine for the Caluma distribution module.",
|
5
5
|
"keywords": [
|
6
6
|
"ember-addon",
|
@@ -10,70 +10,86 @@
|
|
10
10
|
"homepage": "https://docs.caluma.io/ember-caluma",
|
11
11
|
"repository": "github:projectcaluma/ember-caluma",
|
12
12
|
"dependencies": {
|
13
|
-
"@
|
13
|
+
"@babel/core": "^7.23.6",
|
14
|
+
"@ember/legacy-built-in-components": "^0.5.0",
|
14
15
|
"@ember/string": "^3.1.1",
|
15
|
-
"@embroider/macros": "^1.13.
|
16
|
+
"@embroider/macros": "^1.13.4",
|
16
17
|
"@glimmer/component": "^1.1.2",
|
17
18
|
"@glimmer/tracking": "^1.1.2",
|
18
19
|
"ember-apollo-client": "~4.0.2",
|
19
|
-
"ember-auto-import": "^2.
|
20
|
+
"ember-auto-import": "^2.7.1",
|
20
21
|
"ember-can": "^4.2.0",
|
21
|
-
"ember-cli-babel": "^
|
22
|
-
"ember-cli-htmlbars": "^6.
|
23
|
-
"ember-concurrency": "^3.
|
24
|
-
"ember-engines-router-service": "^0.
|
22
|
+
"ember-cli-babel": "^8.2.0",
|
23
|
+
"ember-cli-htmlbars": "^6.3.0",
|
24
|
+
"ember-concurrency": "^3.1.1",
|
25
|
+
"ember-engines-router-service": "^0.5.0",
|
25
26
|
"ember-fetch": "^8.1.2",
|
26
27
|
"ember-flatpickr": "^4.0.0",
|
27
|
-
"ember-intl": "^
|
28
|
-
"ember-resources": "^6.4.
|
29
|
-
"ember-svg-jar": "^2.4.
|
28
|
+
"ember-intl": "^6.4.0",
|
29
|
+
"ember-resources": "^6.4.2",
|
30
|
+
"ember-svg-jar": "^2.4.7",
|
30
31
|
"ember-test-selectors": "^6.0.0",
|
31
|
-
"ember-uikit": "^
|
32
|
+
"ember-uikit": "^9.0.0",
|
32
33
|
"graphql": "^15.8.0",
|
33
34
|
"graphql-tag": "^2.12.6",
|
34
35
|
"lodash.merge": "^4.6.2",
|
35
|
-
"luxon": "^3.
|
36
|
+
"luxon": "^3.4.4",
|
36
37
|
"tracked-toolbox": "^2.0.0",
|
37
|
-
"@projectcaluma/ember-core": "^12.
|
38
|
-
"@projectcaluma/ember-form": "^12.
|
39
|
-
"@projectcaluma/ember-workflow": "^12.
|
38
|
+
"@projectcaluma/ember-core": "^12.8.0",
|
39
|
+
"@projectcaluma/ember-form": "^12.8.0",
|
40
|
+
"@projectcaluma/ember-workflow": "^12.8.0"
|
40
41
|
},
|
41
42
|
"devDependencies": {
|
42
43
|
"@ember/optional-features": "2.0.0",
|
43
|
-
"@ember/test-helpers": "3.2.
|
44
|
-
"@embroider/test-setup": "3.0.
|
45
|
-
"@faker-js/faker": "8.
|
44
|
+
"@ember/test-helpers": "3.2.1",
|
45
|
+
"@embroider/test-setup": "3.0.3",
|
46
|
+
"@faker-js/faker": "8.3.1",
|
46
47
|
"broccoli-asset-rev": "3.0.0",
|
47
|
-
"ember-cli": "
|
48
|
-
"ember-cli-
|
48
|
+
"ember-cli": "5.5.0",
|
49
|
+
"ember-cli-clean-css": "3.0.0",
|
50
|
+
"ember-cli-code-coverage": "2.0.3",
|
49
51
|
"ember-cli-dependency-checker": "3.3.2",
|
50
52
|
"ember-cli-inject-live-reload": "2.1.0",
|
51
|
-
"ember-cli-mirage": "3.0.
|
53
|
+
"ember-cli-mirage": "3.0.2",
|
52
54
|
"ember-cli-sass": "11.0.1",
|
53
55
|
"ember-cli-sri": "2.1.1",
|
54
56
|
"ember-cli-terser": "4.0.2",
|
55
57
|
"ember-engines": "0.9.0",
|
56
58
|
"ember-load-initializers": "2.1.2",
|
57
|
-
"ember-qunit": "
|
58
|
-
"ember-resolver": "11.0.
|
59
|
-
"ember-source": "
|
59
|
+
"ember-qunit": "8.0.2",
|
60
|
+
"ember-resolver": "11.0.1",
|
61
|
+
"ember-source": "5.5.0",
|
60
62
|
"ember-source-channel-url": "3.0.0",
|
61
|
-
"ember-try": "
|
63
|
+
"ember-try": "3.0.0",
|
62
64
|
"loader.js": "4.7.0",
|
63
|
-
"miragejs": "0.1.
|
64
|
-
"qunit": "2.
|
65
|
-
"qunit-dom": "
|
66
|
-
"sass": "1.
|
67
|
-
"uikit": "3.
|
65
|
+
"miragejs": "0.1.48",
|
66
|
+
"qunit": "2.20.0",
|
67
|
+
"qunit-dom": "3.0.0",
|
68
|
+
"sass": "1.69.5",
|
69
|
+
"uikit": "3.17.11",
|
68
70
|
"webpack": "5.89.0",
|
69
|
-
"@projectcaluma/ember-testing": "12.
|
71
|
+
"@projectcaluma/ember-testing": "12.8.0"
|
70
72
|
},
|
71
73
|
"peerDependencies": {
|
72
74
|
"ember-engines": "^0.9.0",
|
73
75
|
"ember-source": "^4.0.0"
|
74
76
|
},
|
77
|
+
"dependenciesMeta": {
|
78
|
+
"@projectcaluma/ember-core": {
|
79
|
+
"injected": true
|
80
|
+
},
|
81
|
+
"@projectcaluma/ember-form": {
|
82
|
+
"injected": true
|
83
|
+
},
|
84
|
+
"@projectcaluma/ember-testing": {
|
85
|
+
"injected": true
|
86
|
+
},
|
87
|
+
"@projectcaluma/ember-workflow": {
|
88
|
+
"injected": true
|
89
|
+
}
|
90
|
+
},
|
75
91
|
"engines": {
|
76
|
-
"node": "
|
92
|
+
"node": ">= 18"
|
77
93
|
},
|
78
94
|
"ember": {
|
79
95
|
"edition": "octane"
|
package/translations/de.yaml
CHANGED
package/translations/en.yaml
CHANGED
package/translations/fr.yaml
CHANGED