@projectcaluma/ember-distribution 1.0.0-beta.6 → 1.0.0-beta.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/addon/components/cd-document-header.hbs +20 -0
  3. package/addon/components/{icon-button.hbs → cd-icon-button.hbs} +0 -0
  4. package/addon/components/{icon-button.js → cd-icon-button.js} +1 -1
  5. package/addon/components/{inquiry-answer-form.hbs → cd-inquiry-answer-form.hbs} +27 -10
  6. package/addon/components/{inquiry-answer-form.js → cd-inquiry-answer-form.js} +7 -3
  7. package/addon/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-deadline.hbs +2 -0
  8. package/addon/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-deadline.js +1 -1
  9. package/addon/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-divider.hbs +0 -0
  10. package/addon/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-divider.js +1 -1
  11. package/addon/components/cd-inquiry-dialog/inquiry-part.hbs +95 -0
  12. package/addon/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-part.js +16 -9
  13. package/addon/components/cd-inquiry-dialog/inquiry.hbs +16 -0
  14. package/addon/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry.js +1 -1
  15. package/addon/components/cd-inquiry-dialog.hbs +24 -0
  16. package/addon/components/{inquiry-dialog.js → cd-inquiry-dialog.js} +32 -4
  17. package/addon/components/cd-inquiry-edit-form.hbs +31 -0
  18. package/addon/components/{inquiry-edit-form.js → cd-inquiry-edit-form.js} +3 -3
  19. package/addon/components/{inquiry-new-form.hbs → cd-inquiry-new-form.hbs} +4 -2
  20. package/addon/components/{inquiry-new-form.js → cd-inquiry-new-form.js} +17 -43
  21. package/addon/components/{distribution-navigation → cd-navigation}/controls.hbs +10 -4
  22. package/addon/components/cd-navigation/controls.js +95 -0
  23. package/addon/components/{distribution-navigation → cd-navigation}/item.hbs +1 -4
  24. package/addon/components/{distribution-navigation → cd-navigation}/item.js +1 -1
  25. package/addon/components/{distribution-navigation → cd-navigation}/section.hbs +2 -2
  26. package/addon/components/{distribution-navigation → cd-navigation}/section.js +1 -1
  27. package/addon/components/{distribution-navigation → cd-navigation}/status-indicator.hbs +2 -1
  28. package/addon/components/{distribution-navigation → cd-navigation}/status-indicator.js +1 -1
  29. package/addon/components/{distribution-navigation.hbs → cd-navigation.hbs} +3 -6
  30. package/addon/components/{distribution-navigation.js → cd-navigation.js} +1 -1
  31. package/addon/components/{notfound.hbs → cd-notfound.hbs} +0 -0
  32. package/addon/components/cd-truncated.hbs +8 -0
  33. package/addon/components/cd-truncated.js +32 -0
  34. package/addon/config.js +1 -1
  35. package/addon/controllers/application.js +3 -0
  36. package/addon/controllers/new.js +1 -1
  37. package/addon/engine.js +7 -1
  38. package/addon/gql/fragments/inquiry.graphql +21 -12
  39. package/addon/gql/mutations/complete-work-item.graphql +8 -0
  40. package/addon/gql/queries/incomplete-inquiries.graphql +13 -0
  41. package/addon/gql/queries/inquiry-answer.graphql +15 -1
  42. package/addon/gql/queries/inquiry-dialog.graphql +2 -2
  43. package/addon/gql/queries/inquiry-edit.graphql +2 -0
  44. package/addon/gql/queries/inquiry-navigation.graphql +2 -1
  45. package/addon/services/distribution.js +33 -3
  46. package/addon/templates/application.hbs +16 -6
  47. package/addon/templates/inquiry/detail/answer.hbs +1 -1
  48. package/addon/templates/inquiry/detail/index.hbs +1 -1
  49. package/addon/templates/inquiry/index.hbs +1 -1
  50. package/addon/templates/new.hbs +1 -1
  51. package/addon/templates/notfound.hbs +1 -1
  52. package/addon/utils/inquiry-deadline.js +3 -5
  53. package/app/components/cd-document-header.js +1 -0
  54. package/app/components/{inquiry-dialog.js → cd-icon-button.js} +1 -1
  55. package/app/components/{inquiry-dialog/inquiry.js → cd-inquiry-answer-form.js} +1 -1
  56. package/app/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-deadline.js +1 -1
  57. package/app/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-divider.js +1 -1
  58. package/app/components/{inquiry-dialog → cd-inquiry-dialog}/inquiry-part.js +1 -1
  59. package/app/components/{distribution-navigation.js → cd-inquiry-dialog/inquiry.js} +1 -1
  60. package/app/components/{inquiry-edit-form.js → cd-inquiry-dialog.js} +1 -1
  61. package/app/components/cd-inquiry-edit-form.js +1 -0
  62. package/app/components/{inquiry-answer-form.js → cd-inquiry-new-form.js} +1 -1
  63. package/app/components/cd-navigation/controls.js +1 -0
  64. package/app/components/cd-navigation/item.js +1 -0
  65. package/app/components/cd-navigation/section.js +1 -0
  66. package/app/components/{distribution-navigation/item.js → cd-navigation/status-indicator.js} +1 -1
  67. package/app/components/{inquiry-new-form.js → cd-navigation.js} +1 -1
  68. package/app/components/{notfound.js → cd-notfound.js} +1 -1
  69. package/app/components/{icon-button.js → cd-truncated.js} +1 -1
  70. package/app/styles/@projectcaluma/ember-distribution.scss +2 -0
  71. package/app/styles/_answer-form.scss +4 -0
  72. package/app/styles/_truncated.scss +3 -0
  73. package/package.json +24 -24
  74. package/translations/de.yaml +11 -4
  75. package/translations/en.yaml +12 -4
  76. package/translations/fr.yaml +11 -4
  77. package/addon/components/distribution-navigation/controls.js +0 -51
  78. package/addon/components/inquiry-dialog/inquiry-part.hbs +0 -48
  79. package/addon/components/inquiry-dialog/inquiry.hbs +0 -16
  80. package/addon/components/inquiry-dialog.hbs +0 -11
  81. package/addon/components/inquiry-edit-form.hbs +0 -29
  82. package/app/components/distribution-navigation/controls.js +0 -1
  83. package/app/components/distribution-navigation/section.js +0 -1
  84. package/app/components/distribution-navigation/status-indicator.js +0 -1
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/cd-navigation/item";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/cd-navigation/section";
@@ -1 +1 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/item";
1
+ export { default } from "@projectcaluma/ember-distribution/components/cd-navigation/status-indicator";
@@ -1 +1 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/inquiry-new-form";
1
+ export { default } from "@projectcaluma/ember-distribution/components/cd-navigation";
@@ -1 +1 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/notfound";
1
+ export { default } from "@projectcaluma/ember-distribution/components/cd-notfound";
@@ -1 +1 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/icon-button";
1
+ export { default } from "@projectcaluma/ember-distribution/components/cd-truncated";
@@ -1,3 +1,5 @@
1
+ @import "../answer-form";
1
2
  @import "../icon-button";
2
3
  @import "../inquiry-divider";
3
4
  @import "../status-indicator";
5
+ @import "../truncated";
@@ -0,0 +1,4 @@
1
+ .inquiry-answer-form__request {
2
+ border-left: 5px solid $global-border;
3
+ padding-left: $global-gutter - 5px;
4
+ }
@@ -0,0 +1,3 @@
1
+ .cd-truncated {
2
+ white-space: pre-line;
3
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcaluma/ember-distribution",
3
- "version": "1.0.0-beta.6",
3
+ "version": "1.0.0-beta.9",
4
4
  "description": "Ember engine for the Caluma distribution module.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -19,15 +19,15 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@ember/string": "^3.0.0",
22
- "@embroider/macros": "^1.5.0",
23
- "@glimmer/component": "^1.0.4",
24
- "@glimmer/tracking": "^1.0.4",
25
- "@projectcaluma/ember-core": "^11.0.0-beta.6",
26
- "@projectcaluma/ember-form": "^11.0.0-beta.16",
27
- "@projectcaluma/ember-workflow": "^11.0.0-beta.6",
22
+ "@embroider/macros": "^1.6.0",
23
+ "@glimmer/component": "^1.1.2",
24
+ "@glimmer/tracking": "^1.1.2",
25
+ "@projectcaluma/ember-core": "^11.0.0-beta.7",
26
+ "@projectcaluma/ember-form": "^11.0.0-beta.19",
27
+ "@projectcaluma/ember-workflow": "^11.0.0-beta.7",
28
28
  "ember-apollo-client": "^4.0.2",
29
- "ember-auto-import": "^2.4.0",
30
- "ember-can": "^4.1.0",
29
+ "ember-auto-import": "^2.4.1",
30
+ "ember-can": "^4.2.0",
31
31
  "ember-cli-babel": "^7.26.11",
32
32
  "ember-cli-htmlbars": "^6.0.1",
33
33
  "ember-concurrency": "^2.2.1",
@@ -35,49 +35,49 @@
35
35
  "ember-fetch": "^8.1.1",
36
36
  "ember-intl": "^5.7.2",
37
37
  "ember-pikaday": "^4.0.0",
38
- "ember-resources": "^4.4.0",
38
+ "ember-resources": "^4.7.1",
39
39
  "ember-svg-jar": "^2.3.4",
40
40
  "ember-test-selectors": "^6.0.0",
41
- "ember-uikit": "^5.1.1",
41
+ "ember-uikit": "^5.1.3",
42
42
  "graphql": "^15.8.0",
43
43
  "graphql-tag": "^2.12.6",
44
44
  "ionicons": "^6.0.1",
45
45
  "lodash.merge": "^4.6.2",
46
- "luxon": "^2.3.1",
46
+ "luxon": "^2.4.0",
47
47
  "tracked-toolbox": "^1.2.3"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@ember/optional-features": "2.0.0",
51
- "@ember/test-helpers": "2.6.0",
52
- "@embroider/test-setup": "1.5.0",
53
- "@faker-js/faker": "6.0.0",
54
- "@projectcaluma/ember-testing": "11.0.0-beta.5",
51
+ "@ember/test-helpers": "2.7.0",
52
+ "@embroider/test-setup": "1.6.0",
53
+ "@faker-js/faker": "6.3.1",
54
+ "@projectcaluma/ember-testing": "11.0.0-beta.7",
55
55
  "broccoli-asset-rev": "3.0.0",
56
56
  "ember-cli": "3.28.5",
57
57
  "ember-cli-code-coverage": "1.0.3",
58
- "ember-cli-dependency-checker": "3.2.0",
58
+ "ember-cli-dependency-checker": "3.3.1",
59
59
  "ember-cli-inject-live-reload": "2.1.0",
60
- "ember-cli-mirage": "3.0.0-alpha.2",
61
- "ember-cli-sass": "10.0.1",
60
+ "ember-cli-mirage": "3.0.0-alpha.3",
61
+ "ember-cli-sass": "11.0.1",
62
62
  "ember-cli-sri": "2.1.1",
63
63
  "ember-cli-terser": "4.0.2",
64
64
  "ember-disable-prototype-extensions": "1.1.3",
65
- "ember-engines": "0.8.20",
65
+ "ember-engines": "0.8.22",
66
66
  "ember-export-application-global": "2.0.1",
67
67
  "ember-load-initializers": "2.1.2",
68
68
  "ember-maybe-import-regenerator": "1.0.0",
69
69
  "ember-qunit": "5.1.5",
70
70
  "ember-resolver": "8.0.3",
71
- "ember-source": "3.28.8",
71
+ "ember-source": "3.28.9",
72
72
  "ember-source-channel-url": "3.0.0",
73
73
  "ember-try": "2.0.0",
74
74
  "loader.js": "4.7.0",
75
75
  "miragejs": "0.1.43",
76
76
  "npm-run-all": "4.1.5",
77
- "qunit": "2.18.0",
77
+ "qunit": "2.19.1",
78
78
  "qunit-dom": "2.0.0",
79
- "sass": "1.49.9",
80
- "webpack": "5.70.0"
79
+ "sass": "1.51.0",
80
+ "webpack": "5.72.0"
81
81
  },
82
82
  "engines": {
83
83
  "node": "12.* || 14.* || >= 16"
@@ -4,19 +4,26 @@ caluma:
4
4
  start: "Starten"
5
5
  send: "Offene Anfragen versenden"
6
6
  send-confirm: "Wollen Sie wirklich alle offenen Anfragen versenden?"
7
+ complete-confirm:
8
+ "Es gibt noch <b>{count} offene {count, plural, =1 {Anfrage} other {Anfragen}}</b>
9
+ in der aktuellen Zirkulation. Wenn Sie die Zirkulation abschliessen, werden
10
+ alle verbleibenden offenen Anfragen abgebrochen. Möchten Sie fortfahren?"
7
11
  send-error: "Fehler beim Versenden der offenen Anfragen"
12
+ complete-error: "Fehler beim Abschliessen der Zirkulation"
13
+
14
+ more: "mehr"
15
+ less: "weniger"
16
+
17
+ last-modified: "Zuletzt bearbeitet von {user} am {date} um {time}"
18
+ details: "Details"
8
19
 
9
20
  edit:
10
- title: "Anfrage bearbeiten"
11
21
  link: "Bearbeiten"
12
-
13
22
  send: "Senden"
14
23
  send-error: "Fehler beim Senden der Anfrage"
15
24
 
16
25
  answer:
17
- title: "Anfrage beantworten"
18
26
  link: "Beantworten"
19
-
20
27
  release-for-review: "Zur Kontrolle freigeben"
21
28
  release-adjustment-for-review: "Anpassung zur Kontrolle freigeben"
22
29
  confirm: "Bestätigen"
@@ -4,19 +4,27 @@ caluma:
4
4
  start: "Start"
5
5
  send: "Send pending inquiries"
6
6
  send-confirm: "Do you really want to send all pending inquiries?"
7
+ complete-confirm:
8
+ "There {count, plural, =1 {is} other {are}} <b>{count} pending
9
+ {count, plural, =1 {inquiry} other {inquiries}}</b> on the current
10
+ distribution. Completing the distribution will cause all remaining
11
+ pending inquiries to be canceled. Would you like to continue?"
7
12
  send-error: "Error while sending pending inquiries"
13
+ complete-error: "Error while completing distribution"
14
+
15
+ more: "more"
16
+ less: "less"
17
+
18
+ last-modified: "Last modified by {user} on {date} at {time}"
19
+ details: "Details"
8
20
 
9
21
  edit:
10
- title: "Edit inquiry"
11
22
  link: "Edit"
12
-
13
23
  send: "Send"
14
24
  send-error: "Error while sending the inquiry"
15
25
 
16
26
  answer:
17
- title: "Answer inquiry"
18
27
  link: "Answer"
19
-
20
28
  release-for-review: "Release for review"
21
29
  release-adjustment-for-review: "Release adjustment for review"
22
30
  confirm: "Confirm"
@@ -4,19 +4,26 @@ caluma:
4
4
  start: "Lancer"
5
5
  send: "Envoyer les demandes ouvertes"
6
6
  send-confirm: "Voulez-vous vraiment envoyer toutes les demandes ouvertes ?"
7
+ complete-confirm:
8
+ "Il y a <b>{count} {count, plural, =1 {demande} other {demandes}} en
9
+ attente</b> sur la distribution actuelle. Si vous terminez la distribution,
10
+ toutes les demandes en attente seront annulées. Voulez-vous continuer ?"
7
11
  send-error: "Erreur lors de l'envoi des demandes ouvertes"
12
+ complete-error: "Erreur lors de la terminaison de la distribution"
13
+
14
+ more: "plus"
15
+ less: "moins"
16
+
17
+ last-modified: "Dernière modification par {user} le {date} à {time}"
18
+ details: "Détails"
8
19
 
9
20
  edit:
10
- title: "Modifier la demande"
11
21
  link: "Modifier"
12
-
13
22
  send: "Envoyer"
14
23
  send-error: "Erreur lors de l'envoi de la demande"
15
24
 
16
25
  answer:
17
- title: "Répondre à la demande"
18
26
  link: "Répondre"
19
-
20
27
  release-for-review: "Valider pour vérification"
21
28
  release-adjustment-for-review: "Valider la révision pour vérification"
22
29
  confirm: "Confirmer"
@@ -1,51 +0,0 @@
1
- import { action } from "@ember/object";
2
- import { inject as service } from "@ember/service";
3
- import Component from "@glimmer/component";
4
- import { queryManager } from "ember-apollo-client";
5
- import { dropTask } from "ember-concurrency";
6
- import { confirm } from "ember-uikit";
7
- import { gql } from "graphql-tag";
8
-
9
- import { decodeId } from "@projectcaluma/ember-core/helpers/decode-id";
10
-
11
- export default class DistributionNavigationControlsComponent extends Component {
12
- @service distribution;
13
- @service intl;
14
-
15
- @queryManager apollo;
16
-
17
- @action
18
- noop(e) {
19
- e.preventDefault();
20
- }
21
-
22
- @dropTask
23
- *sendInquiries() {
24
- if (!(yield confirm(this.intl.t("caluma.distribution.send-confirm")))) {
25
- return;
26
- }
27
-
28
- try {
29
- const ids = this.distribution.controls.value.send.edges.map((edge) =>
30
- decodeId(edge.node.id)
31
- );
32
-
33
- const mutations = ids.map(
34
- (id, index) => `
35
- sendInquiry${index}: resumeWorkItem(input: { id: "${id}" }) {
36
- workItem {
37
- id
38
- status
39
- }
40
- }
41
- `
42
- );
43
-
44
- const mutation = gql`mutation SendInquiries {${mutations.join("\n")}}`;
45
-
46
- yield this.apollo.mutate({ mutation });
47
- } catch (e) {
48
- this.notification.danger(this.intl.t("caluma.distribution.send-error"));
49
- }
50
- }
51
- }
@@ -1,48 +0,0 @@
1
- <p class="uk-flex uk-flex-middle uk-text-bold uk-margin-remove">
2
- {{#if (eq @type "request")}}
3
- {{svg-jar "arrow-redo-outline" height=24 class="uk-margin-small-right"}}
4
- {{group-name @inquiry.controllingGroups}}
5
- {{else if (eq @type "answer")}}
6
- {{svg-jar "arrow-undo-outline" height=24 class="uk-margin-small-right"}}
7
- {{group-name @inquiry.addressedGroups}}
8
- {{/if}}
9
- </p>
10
-
11
- <ul
12
- class="uk-subnav uk-subnav-divider
13
- {{if
14
- this.config.ui.small
15
- 'uk-margin-remove-top uk-margin-small-bottom'
16
- 'uk-margin-small-top'
17
- }}"
18
- >
19
- <li>
20
- <span>
21
- {{format-date this.date}}
22
- {{format-time this.date hour="2-digit" minute="2-digit"}}
23
- </span>
24
- </li>
25
- {{#if (can "edit inquiry" @inquiry)}}
26
- <li>
27
- <LinkTo @route="inquiry.detail.index" @model={{decode-id @inquiry.id}}>
28
- {{t "caluma.distribution.edit.link"}}
29
- </LinkTo>
30
- </li>
31
- <li>
32
- <a href="" {{on "click" (perform this.withdraw)}} data-test-withdraw>
33
- {{t "caluma.distribution.withdraw.link"}}
34
- </a>
35
- </li>
36
- {{/if}}
37
- {{#if (can "answer inquiry" @inquiry)}}
38
- <li>
39
- <LinkTo @route="inquiry.detail.answer" @model={{decode-id @inquiry.id}}>
40
- {{t "caluma.distribution.answer.link"}}
41
- </LinkTo>
42
- </li>
43
- {{/if}}
44
- </ul>
45
-
46
- {{#if this.info}}
47
- <p class="uk-margin-remove">{{this.info}}</p>
48
- {{/if}}
@@ -1,16 +0,0 @@
1
- <article
2
- class="uk-card uk-card-default uk-margin
3
- {{if this.config.ui.small 'uk-card-small'}}"
4
- >
5
- <div class="uk-card-body">
6
- <InquiryDialog::InquiryDeadline @inquiry={{@inquiry}} />
7
-
8
- {{#if this.hasAnswer}}
9
- <InquiryDialog::InquiryPart @inquiry={{@inquiry}} @type="answer" />
10
-
11
- <InquiryDialog::InquiryDivider @inquiry={{@inquiry}} />
12
- {{/if}}
13
-
14
- <InquiryDialog::InquiryPart @inquiry={{@inquiry}} @type="request" />
15
- </div>
16
- </article>
@@ -1,11 +0,0 @@
1
- {{#if this._inquiries.isRunning}}
2
- <div class="uk-text-center"><UkSpinner @ratio={{2}} /></div>
3
- {{else if this.inquiries.length}}
4
- <section>
5
- {{#each this.inquiries as |inquiry|}}
6
- <InquiryDialog::Inquiry @inquiry={{inquiry}} />
7
- {{/each}}
8
- </section>
9
- {{else}}
10
- <Notfound />
11
- {{/if}}
@@ -1,29 +0,0 @@
1
- <CfContent
2
- @documentId={{decode-id this.inquiry.document.id}}
3
- @disabled={{cannot "edit inquiry" this.inquiry}}
4
- @loading={{this._inquiry.isRunning}}
5
- >
6
- <:default as |content|>
7
- <h1 class="uk-flex uk-flex-middle">
8
- {{t "caluma.distribution.edit.title"}}
9
- {{#if (eq this.inquiry.status "RUNNING")}}
10
- <UkLabel
11
- class="uk-margin-left"
12
- @label={{t "caluma.distribution.status.draft"}}
13
- />
14
- {{/if}}
15
- </h1>
16
-
17
- <content.form />
18
-
19
- <DocumentValidity @document={{content.document}} as |isValid validate|>
20
- <UkButton
21
- @type="submit"
22
- @color="primary"
23
- @disabled={{or (not isValid) this.send.isRunning}}
24
- @onClick={{perform this.send validate}}
25
- >{{t "caluma.distribution.edit.send"}}</UkButton>
26
- </DocumentValidity>
27
- </:default>
28
- <:notfound><Notfound /></:notfound>
29
- </CfContent>
@@ -1 +0,0 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/controls";
@@ -1 +0,0 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/section";
@@ -1 +0,0 @@
1
- export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/status-indicator";