@projectcaluma/ember-analytics 11.0.0-beta.39 → 11.0.0

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.
@@ -1,6 +1,11 @@
1
- <table class="uk-table uk-table-divider uk-table-hover" uk-overflow-auto>
1
+ <table
2
+ class="uk-table uk-table-divider uk-table-hover"
3
+ uk-overflow-auto
4
+ {{did-insert this.setupUIkit}}
5
+ >
2
6
  <thead>
3
7
  <tr>
8
+ <th></th>
4
9
  <th>{{t "caluma.analytics.edit.question"}}</th>
5
10
  <th>{{t "caluma.analytics.edit.display-title"}}</th>
6
11
  <th>{{t "caluma.analytics.edit.aggregation"}}</th>
@@ -11,10 +16,23 @@
11
16
  <th></th>
12
17
  </tr>
13
18
  </thead>
14
- <tbody>
19
+ <tbody
20
+ data-test-field-list
21
+ uk-sortable="handle: .uk-sortable-handle;"
22
+ class="uk-list"
23
+ id="field-list"
24
+ >
15
25
  {{#each this.fields as |field|}}
16
26
  {{#let (fn this.updateField field) as |update|}}
17
- <tr>
27
+ <tr id={{field.id}}>
28
+ <td>
29
+ <span
30
+ data-test-sort-handle
31
+ uk-icon="menu"
32
+ class="uk-sortable-handle"
33
+ role="button"
34
+ ></span>
35
+ </td>
18
36
  <td>
19
37
  {{field.dataSource}}
20
38
  </td>
@@ -71,7 +89,7 @@
71
89
  </tr>
72
90
  {{/let}}
73
91
  {{else}}
74
- <td colspan="5">
92
+ <td colspan="7">
75
93
  <h3 class="uk-flex uk-flex-center uk-flex-middle">
76
94
  <UkIcon @icon="search" @ratio="1.5" class="uk-margin-small-right" />
77
95
  {{t "caluma.analytics.edit.empty"}}
@@ -1,10 +1,13 @@
1
1
  import { action } from "@ember/object";
2
+ import { run } from "@ember/runloop";
2
3
  import { inject as service } from "@ember/service";
3
4
  import Component from "@glimmer/component";
4
5
  import { queryManager, getObservable } from "ember-apollo-client";
5
- import { enqueueTask } from "ember-concurrency";
6
+ import { enqueueTask, restartableTask } from "ember-concurrency";
7
+ import UIkit from "uikit";
6
8
 
7
9
  import removeAnalyticsFieldMutation from "@projectcaluma/ember-analytics/gql/mutations/remove-analytics-field.graphql";
10
+ import reorderAnalyticsFieldsMutation from "@projectcaluma/ember-analytics/gql/mutations/reorder-analytics-fields.graphql";
8
11
  import saveAnalyticsField from "@projectcaluma/ember-analytics/tasks/save-analytics-field";
9
12
 
10
13
  export default class CaFieldSelectorListComponent extends Component {
@@ -51,4 +54,40 @@ export default class CaFieldSelectorListComponent extends Component {
51
54
  );
52
55
  }
53
56
  }
57
+
58
+ @restartableTask
59
+ *reorderFields(fields) {
60
+ try {
61
+ yield this.apollo.mutate({
62
+ mutation: reorderAnalyticsFieldsMutation,
63
+ variables: {
64
+ input: {
65
+ table: this.args.analyticsTable.id,
66
+ fields,
67
+ },
68
+ },
69
+ });
70
+
71
+ this.notification.success(
72
+ this.intl.t("caluma.analytics.notification.reorder-success")
73
+ );
74
+ } catch (e) {
75
+ this.notification.danger(
76
+ this.intl.t("caluma.analytics.notification.reorder-error")
77
+ );
78
+ }
79
+ }
80
+
81
+ _handleMoved({ detail: [sortable] }) {
82
+ const options = [...sortable.$el.children];
83
+
84
+ this.reorderFields.perform(options.map((option) => option.id));
85
+ }
86
+
87
+ @action
88
+ setupUIkit() {
89
+ UIkit.util.on("#field-list", "moved", (...args) =>
90
+ run(this, this._handleMoved, ...args)
91
+ );
92
+ }
54
93
  }
@@ -0,0 +1,5 @@
1
+ mutation ReorderAnalyticsFields($input: ReorderAnalyticsFieldsInput!) {
2
+ reorderAnalyticsFields(input: $input) {
3
+ clientMutationId
4
+ }
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcaluma/ember-analytics",
3
- "version": "11.0.0-beta.39",
3
+ "version": "11.0.0",
4
4
  "description": "Ember addon for Caluma analytics.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -10,7 +10,7 @@
10
10
  "homepage": "https://docs.caluma.io/ember-caluma",
11
11
  "repository": "github:projectcaluma/ember-caluma",
12
12
  "scripts": {
13
- "test": "npm-run-all --print-name \"lint\" \"test:*\"",
13
+ "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
14
14
  "test:ember": "ember test",
15
15
  "test:ember-compatibility": "ember try:each"
16
16
  },
@@ -18,20 +18,20 @@
18
18
  "@ember/legacy-built-in-components": "^0.4.1",
19
19
  "@glimmer/component": "^1.1.2",
20
20
  "@glimmer/tracking": "^1.1.2",
21
- "@projectcaluma/ember-core": "^11.0.0-beta.39",
21
+ "@projectcaluma/ember-core": "^11.0.0",
22
22
  "ember-apollo-client": "^4.0.2",
23
- "ember-auto-import": "^2.4.3",
23
+ "ember-auto-import": "^2.6.0",
24
24
  "ember-changeset": "^4.1.2",
25
25
  "ember-changeset-validations": "^4.1.1",
26
26
  "ember-cli-babel": "^7.26.11",
27
- "ember-cli-htmlbars": "^6.1.1",
27
+ "ember-cli-htmlbars": "^6.2.0",
28
28
  "ember-composable-helpers": "^5.0.0",
29
29
  "ember-concurrency": "^2.3.7",
30
30
  "ember-engines-router-service": "^0.3.0",
31
31
  "ember-fetch": "^8.1.2",
32
32
  "ember-intl": "^5.7.0",
33
33
  "ember-power-select": "6.0.1",
34
- "ember-resources": "^5.6.0",
34
+ "ember-resources": "^5.6.2",
35
35
  "ember-uikit": "^6.1.1",
36
36
  "ember-validated-form": "^6.1.2",
37
37
  "graphql": "^15.6.1"
@@ -45,12 +45,13 @@
45
45
  "devDependencies": {
46
46
  "@ember/optional-features": "2.0.0",
47
47
  "@ember/test-helpers": "2.7.0",
48
- "@embroider/test-setup": "2.0.0",
48
+ "@embroider/test-setup": "2.1.1",
49
49
  "@faker-js/faker": "7.6.0",
50
- "@projectcaluma/ember-testing": "11.0.0-beta.39",
50
+ "@projectcaluma/ember-testing": "11.0.0",
51
51
  "broccoli-asset-rev": "3.0.0",
52
- "ember-cli": "4.8.0",
53
- "ember-cli-code-coverage": "1.0.3",
52
+ "concurrently": "7.6.0",
53
+ "ember-cli": "4.9.2",
54
+ "ember-cli-code-coverage": "2.0.0",
54
55
  "ember-cli-dependency-checker": "3.3.1",
55
56
  "ember-cli-inject-live-reload": "2.1.0",
56
57
  "ember-cli-mirage": "3.0.0-alpha.3",
@@ -58,24 +59,25 @@
58
59
  "ember-cli-sri": "2.1.1",
59
60
  "ember-cli-terser": "4.0.2",
60
61
  "ember-data": "4.7.3",
61
- "ember-disable-prototype-extensions": "1.1.3",
62
- "ember-engines": "0.9.0",
62
+ "ember-engines": "0.8.23",
63
63
  "ember-load-initializers": "2.1.2",
64
- "ember-qunit": "6.0.0",
65
- "ember-resolver": "8.0.3",
66
- "ember-source": "4.8.2",
64
+ "ember-qunit": "6.1.1",
65
+ "ember-resolver": "8.1.0",
66
+ "ember-source": "4.10.0",
67
67
  "ember-source-channel-url": "3.0.0",
68
68
  "ember-try": "2.0.0",
69
69
  "loader.js": "4.7.0",
70
- "npm-run-all": "4.1.5",
71
- "qunit": "2.19.3",
70
+ "qunit": "2.19.4",
72
71
  "qunit-dom": "2.0.0",
73
- "sass": "1.56.1",
72
+ "sass": "1.57.1",
74
73
  "webpack": "5.75.0"
75
74
  },
76
75
  "peerDependency": {
77
76
  "ember-engines": ">= 0.8"
78
77
  },
78
+ "peerDependencies": {
79
+ "ember-source": "^3.28.0 || ^4.0.0"
80
+ },
79
81
  "engines": {
80
82
  "node": "14.* || 16.* || >= 18"
81
83
  },
@@ -16,6 +16,8 @@ caluma:
16
16
  fetch-error: Beim Laden der Daten ist ein Fehler aufgetreten.
17
17
  filter-exists: Filter existiert bereits!!
18
18
  field-saved: Feld gespeichert.
19
+ reorder-success: Felder wurden erfolgreich sortiert!
20
+ reorder-error: Beim Sortieren der Felder ist etwas schief gelaufen.
19
21
  list:
20
22
  list-title: Liste aller Auswertungen
21
23
  edit: Bearbeiten
@@ -16,6 +16,8 @@ caluma:
16
16
  fetch-error: An error occurred while loading the data.
17
17
  filter-exists: Filter already exists!
18
18
  field-saved: Field successfully saved.
19
+ reorder-success: Fields were successfully reordered!
20
+ reorder-error: Something went wrong while reordering the fields.
19
21
  list:
20
22
  list-title: All reports
21
23
  edit: Edit
@@ -16,6 +16,8 @@ caluma:
16
16
  fetch-error: "Une erreur s'est produite lors du chargement des données."
17
17
  filter-exists: "Le filtre existe déjà!"
18
18
  field-saved: Le champ a été sauvegardé avec succès.
19
+ reorder-success: Vos entrées ont été triées avec succès!
20
+ reorder-error: Quelque chose s'est mal passé lors du tri des entrées.
19
21
  list:
20
22
  list-title: Tous les rapports
21
23
  edit: Editer