@things-factory/worklist 5.0.13 → 6.0.0-alpha.3

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.
Files changed (206) hide show
  1. package/client/components/activity-/{bowner-view.js → bowner-view.ts} +27 -34
  2. package/client/components/{activity-instance-preview.js → activity-instance-preview.ts} +38 -50
  3. package/client/components/{activity-reporter-view.js → activity-reporter-view.ts} +27 -39
  4. package/client/components/{activity-starter-form.js → activity-starter-form.ts} +53 -68
  5. package/client/pages/activity/activity-list-page.ts +4 -3
  6. package/client/pages/activity/{activity-model-item-list.js → activity-model-item-list.ts} +11 -18
  7. package/client/pages/activity/{activity-page.js → activity-page.ts} +36 -40
  8. package/client/pages/activity/{starter-list-page.js → starter-list-page.ts} +15 -20
  9. package/client/pages/activity-instance/{activity-instance-list-page.js → activity-instance-list-page.ts} +22 -30
  10. package/client/pages/activity-instance/{activity-instance-page.js → activity-instance-page.ts} +36 -41
  11. package/client/pages/activity-store/{activity-store-page.js → activity-store-page.ts} +22 -29
  12. package/client/pages/activity-supervisor/{reporter-list-page.js → reporter-list-page.ts} +14 -21
  13. package/client/pages/activity-template/{activity-template-importer.js → activity-template-importer.ts} +32 -38
  14. package/client/pages/activity-template/{activity-template-list-page.js → activity-template-list-page.ts} +30 -37
  15. package/client/pages/activity-template/{activity-template-model-item-list.js → activity-template-model-item-list.ts} +5 -4
  16. package/client/pages/activity-thread/{activity-thread-importer.js → activity-thread-importer.ts} +32 -37
  17. package/client/pages/activity-thread/{activity-thread-list-page.js → activity-thread-list-page.ts} +20 -27
  18. package/client/pages/activity-thread/{activity-thread-page.js → activity-thread-page.ts} +36 -40
  19. package/client/pages/dashboard/{dashboard-home.js → dashboard-home.ts} +3 -7
  20. package/client/pages/todo/{assigned-list-page.js → assigned-list-page.ts} +13 -20
  21. package/client/pages/todo/{draft-list-page.js → draft-list-page.ts} +13 -20
  22. package/client/pages/todo/{pickable-list-page.js → pickable-list-page.ts} +13 -20
  23. package/client/pages/todo/{todo-list-page.js → todo-list-page.ts} +12 -19
  24. package/client/pages/worklist-home.ts +1 -1
  25. package/dist-client/components/activity-/bowner-view.d.ts +1 -1
  26. package/dist-client/components/activity-/bowner-view.js +44 -36
  27. package/dist-client/components/activity-/bowner-view.js.map +1 -1
  28. package/dist-client/components/activity-instance-preview.d.ts +2 -1
  29. package/dist-client/components/activity-instance-preview.js +58 -51
  30. package/dist-client/components/activity-instance-preview.js.map +1 -1
  31. package/dist-client/components/activity-reporter-view.d.ts +1 -1
  32. package/dist-client/components/activity-reporter-view.js +44 -37
  33. package/dist-client/components/activity-reporter-view.js.map +1 -1
  34. package/dist-client/components/activity-starter-form.d.ts +16 -0
  35. package/dist-client/components/activity-starter-form.js +68 -67
  36. package/dist-client/components/activity-starter-form.js.map +1 -1
  37. package/dist-client/pages/activity/activity-list-page.d.ts +1 -0
  38. package/dist-client/pages/activity/activity-list-page.js +7 -4
  39. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  40. package/dist-client/pages/activity/activity-model-item-list.d.ts +13 -180
  41. package/dist-client/pages/activity/activity-model-item-list.js +52 -44
  42. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -1
  43. package/dist-client/pages/activity/activity-page.d.ts +29 -22
  44. package/dist-client/pages/activity/activity-page.js +53 -44
  45. package/dist-client/pages/activity/activity-page.js.map +1 -1
  46. package/dist-client/pages/activity/starter-list-page.d.ts +14 -120
  47. package/dist-client/pages/activity/starter-list-page.js +47 -31
  48. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  49. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +9 -114
  50. package/dist-client/pages/activity-instance/activity-instance-list-page.js +40 -30
  51. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
  52. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +22 -22
  53. package/dist-client/pages/activity-instance/activity-instance-page.js +57 -44
  54. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
  55. package/dist-client/pages/activity-store/activity-store-page.d.ts +23 -150
  56. package/dist-client/pages/activity-store/activity-store-page.js +40 -31
  57. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  58. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +13 -120
  59. package/dist-client/pages/activity-supervisor/reporter-list-page.js +47 -31
  60. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -1
  61. package/dist-client/pages/activity-template/activity-template-importer.d.ts +7 -21
  62. package/dist-client/pages/activity-template/activity-template-importer.js +42 -36
  63. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -1
  64. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +17 -218
  65. package/dist-client/pages/activity-template/activity-template-list-page.js +58 -37
  66. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  67. package/dist-client/pages/activity-template/activity-template-model-item-list.js +10 -5
  68. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -1
  69. package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +7 -21
  70. package/dist-client/pages/activity-thread/activity-thread-importer.js +42 -36
  71. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -1
  72. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +16 -100
  73. package/dist-client/pages/activity-thread/activity-thread-list-page.js +55 -36
  74. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -1
  75. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +26 -19
  76. package/dist-client/pages/activity-thread/activity-thread-page.js +53 -44
  77. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  78. package/dist-client/pages/dashboard/dashboard-home.js +8 -7
  79. package/dist-client/pages/dashboard/dashboard-home.js.map +1 -1
  80. package/dist-client/pages/todo/assigned-list-page.d.ts +12 -100
  81. package/dist-client/pages/todo/assigned-list-page.js +45 -30
  82. package/dist-client/pages/todo/assigned-list-page.js.map +1 -1
  83. package/dist-client/pages/todo/draft-list-page.d.ts +13 -174
  84. package/dist-client/pages/todo/draft-list-page.js +46 -30
  85. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  86. package/dist-client/pages/todo/pickable-list-page.d.ts +13 -126
  87. package/dist-client/pages/todo/pickable-list-page.js +46 -30
  88. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  89. package/dist-client/pages/todo/todo-list-page.d.ts +12 -206
  90. package/dist-client/pages/todo/todo-list-page.js +44 -30
  91. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  92. package/dist-client/pages/worklist-home.js +1 -1
  93. package/dist-client/pages/worklist-home.js.map +1 -1
  94. package/dist-client/route.d.ts +1 -1
  95. package/dist-client/tsconfig.tsbuildinfo +1 -1
  96. package/dist-server/controllers/activity-instance/abort.js +4 -3
  97. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  98. package/dist-server/controllers/activity-instance/adjust.js +2 -1
  99. package/dist-server/controllers/activity-instance/adjust.js.map +1 -1
  100. package/dist-server/controllers/activity-instance/assign.js +3 -3
  101. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  102. package/dist-server/controllers/activity-instance/delegate.js +4 -3
  103. package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
  104. package/dist-server/controllers/activity-instance/draft.js +3 -3
  105. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  106. package/dist-server/controllers/activity-instance/end.js +4 -3
  107. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  108. package/dist-server/controllers/activity-instance/pick.js +4 -3
  109. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  110. package/dist-server/controllers/activity-instance/post.js +17 -3
  111. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  112. package/dist-server/controllers/activity-instance/start.js +2 -1
  113. package/dist-server/controllers/activity-instance/start.js.map +1 -1
  114. package/dist-server/controllers/activity-instance/terminate.js +4 -3
  115. package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
  116. package/dist-server/controllers/activity-thread/abort.js +4 -3
  117. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  118. package/dist-server/controllers/activity-thread/adjust.js +2 -1
  119. package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
  120. package/dist-server/controllers/activity-thread/delegate.js +4 -3
  121. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  122. package/dist-server/controllers/activity-thread/end.js +4 -3
  123. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  124. package/dist-server/controllers/activity-thread/save.js +2 -1
  125. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  126. package/dist-server/controllers/activity-thread/start.js +2 -1
  127. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  128. package/dist-server/controllers/activity-thread/terminate.js +4 -3
  129. package/dist-server/controllers/activity-thread/terminate.js.map +1 -1
  130. package/dist-server/controllers/common.js +8 -4
  131. package/dist-server/controllers/common.js.map +1 -1
  132. package/dist-server/service/activity/activity-history.js +6 -7
  133. package/dist-server/service/activity/activity-history.js.map +1 -1
  134. package/dist-server/service/activity/activity-mutation.js +10 -4
  135. package/dist-server/service/activity/activity-mutation.js.map +1 -1
  136. package/dist-server/service/activity/activity-query.js +18 -19
  137. package/dist-server/service/activity/activity-query.js.map +1 -1
  138. package/dist-server/service/activity/activity-type.js +6 -7
  139. package/dist-server/service/activity/activity-type.js.map +1 -1
  140. package/dist-server/service/activity/activity.js +6 -7
  141. package/dist-server/service/activity/activity.js.map +1 -1
  142. package/dist-server/service/activity-instance/activity-instance-history.js +7 -8
  143. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  144. package/dist-server/service/activity-instance/activity-instance-mutation.js +2 -2
  145. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  146. package/dist-server/service/activity-instance/activity-instance-query.js +24 -25
  147. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  148. package/dist-server/service/activity-instance/activity-instance-subscription.js +1 -2
  149. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -1
  150. package/dist-server/service/activity-instance/activity-instance-type.js +4 -5
  151. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -1
  152. package/dist-server/service/activity-instance/activity-instance.js +7 -8
  153. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  154. package/dist-server/service/activity-instance/event-subscriber.js +0 -5
  155. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  156. package/dist-server/service/activity-template/activity-template-history.js +3 -4
  157. package/dist-server/service/activity-template/activity-template-history.js.map +1 -1
  158. package/dist-server/service/activity-template/activity-template-mutation.js +4 -4
  159. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -1
  160. package/dist-server/service/activity-template/activity-template-query.js +9 -11
  161. package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
  162. package/dist-server/service/activity-template/activity-template.js +3 -4
  163. package/dist-server/service/activity-template/activity-template.js.map +1 -1
  164. package/dist-server/service/activity-thread/activity-thread-mutation.js +10 -6
  165. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
  166. package/dist-server/service/activity-thread/activity-thread-query.js +11 -13
  167. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -1
  168. package/dist-server/service/activity-thread/activity-thread.js +4 -5
  169. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  170. package/dist-server/service/activity-thread/event-subscriber.js +15 -3
  171. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -1
  172. package/dist-server/tsconfig.tsbuildinfo +1 -1
  173. package/package.json +7 -7
  174. package/server/controllers/activity-instance/abort.ts +7 -3
  175. package/server/controllers/activity-instance/adjust.ts +7 -2
  176. package/server/controllers/activity-instance/assign.ts +3 -3
  177. package/server/controllers/activity-instance/delegate.ts +3 -2
  178. package/server/controllers/activity-instance/draft.ts +6 -3
  179. package/server/controllers/activity-instance/end.ts +3 -2
  180. package/server/controllers/activity-instance/pick.ts +4 -3
  181. package/server/controllers/activity-instance/post.ts +21 -4
  182. package/server/controllers/activity-instance/start.ts +3 -2
  183. package/server/controllers/activity-instance/terminate.ts +3 -2
  184. package/server/controllers/activity-thread/abort.ts +7 -3
  185. package/server/controllers/activity-thread/adjust.ts +7 -2
  186. package/server/controllers/activity-thread/delegate.ts +3 -2
  187. package/server/controllers/activity-thread/end.ts +3 -2
  188. package/server/controllers/activity-thread/save.ts +3 -2
  189. package/server/controllers/activity-thread/start.ts +8 -2
  190. package/server/controllers/activity-thread/terminate.ts +3 -2
  191. package/server/controllers/common.ts +15 -11
  192. package/server/service/activity/activity-mutation.ts +19 -10
  193. package/server/service/activity/activity-query.ts +14 -14
  194. package/server/service/activity-instance/activity-instance-mutation.ts +8 -8
  195. package/server/service/activity-instance/activity-instance-query.ts +27 -21
  196. package/server/service/activity-instance/activity-instance-subscription.ts +1 -2
  197. package/server/service/activity-instance/event-subscriber.ts +0 -6
  198. package/server/service/activity-template/activity-template-mutation.ts +13 -10
  199. package/server/service/activity-template/activity-template-query.ts +8 -9
  200. package/server/service/activity-thread/activity-thread-mutation.ts +22 -15
  201. package/server/service/activity-thread/activity-thread-query.ts +10 -11
  202. package/server/service/activity-thread/event-subscriber.ts +15 -3
  203. package/translations/en.json +3 -0
  204. package/translations/ko.json +3 -0
  205. package/translations/ms.json +3 -0
  206. package/translations/zh.json +3 -0
@@ -1,3 +1,6 @@
1
+ import '@operato/data-grist';
2
+ import '../../components/activity-reporter-view.js';
3
+ import { PageView } from '@operato/shell';
1
4
  declare const ReporterListPage_base: (new (...args: any[]) => {
2
5
  _storeUnsubscribe: import("redux").Unsubscribe;
3
6
  connectedCallback(): void;
@@ -5,139 +8,29 @@ declare const ReporterListPage_base: (new (...args: any[]) => {
5
8
  stateChanged(_state: unknown): void;
6
9
  readonly isConnected: boolean;
7
10
  }) & (new (...args: any[]) => import("lit").LitElement) & typeof PageView;
8
- export class ReporterListPage extends ReporterListPage_base {
9
- static get properties(): {
10
- gristConfig: ObjectConstructor;
11
- mode: StringConstructor;
12
- };
13
- static get styles(): import("lit").CSSResult[];
11
+ export declare class ReporterListPage extends ReporterListPage_base {
12
+ static styles: import("lit").CSSResult[];
13
+ gristConfig: any;
14
+ mode: 'GRID' | 'LIST' | 'CARD';
14
15
  get context(): {
15
16
  title: string;
16
17
  help: string;
17
18
  };
19
+ sorterControl?: any;
20
+ grist?: HTMLElement & {
21
+ fetch: any;
22
+ };
18
23
  render(): import("lit-html").TemplateResult<1>;
19
- mode: string | undefined;
20
- get grist(): Element | null;
21
24
  pageInitialized(lifecycle: any): Promise<void>;
22
- gristConfig: {
23
- list: {
24
- thumbnail: string;
25
- fields: string[];
26
- details: string[];
27
- };
28
- columns: ({
29
- type: string;
30
- gutterName: string;
31
- name?: undefined;
32
- icon?: undefined;
33
- handlers?: undefined;
34
- header?: undefined;
35
- filter?: undefined;
36
- sortable?: undefined;
37
- width?: undefined;
38
- label?: undefined;
39
- record?: undefined;
40
- hidden?: undefined;
41
- } | {
42
- type: string;
43
- gutterName: string;
44
- name: string;
45
- icon: string;
46
- handlers: {
47
- click: (columns: any, data: any, column: any, record: any, rowIndex: any) => void;
48
- };
49
- header?: undefined;
50
- filter?: undefined;
51
- sortable?: undefined;
52
- width?: undefined;
53
- label?: undefined;
54
- record?: undefined;
55
- hidden?: undefined;
56
- } | {
57
- type: string;
58
- name: string;
59
- header: string;
60
- filter: string;
61
- sortable: boolean;
62
- width: number;
63
- gutterName?: undefined;
64
- icon?: undefined;
65
- handlers?: undefined;
66
- label?: undefined;
67
- record?: undefined;
68
- hidden?: undefined;
69
- } | {
70
- type: string;
71
- name: string;
72
- header: string;
73
- filter: string;
74
- width: number;
75
- gutterName?: undefined;
76
- icon?: undefined;
77
- handlers?: undefined;
78
- sortable?: undefined;
79
- label?: undefined;
80
- record?: undefined;
81
- hidden?: undefined;
82
- } | {
83
- type: string;
84
- name: string;
85
- label: boolean;
86
- header: string;
87
- sortable: boolean;
88
- width: number;
89
- gutterName?: undefined;
90
- icon?: undefined;
91
- handlers?: undefined;
92
- filter?: undefined;
93
- record?: undefined;
94
- hidden?: undefined;
95
- } | {
96
- type: string;
97
- name: string;
98
- header: string;
99
- sortable: boolean;
100
- width: number;
101
- gutterName?: undefined;
102
- icon?: undefined;
103
- handlers?: undefined;
104
- filter?: undefined;
105
- label?: undefined;
106
- record?: undefined;
107
- hidden?: undefined;
108
- } | {
109
- type: string;
110
- name: string;
111
- header: string;
112
- record: {
113
- editable: boolean;
114
- };
115
- hidden: boolean;
116
- gutterName?: undefined;
117
- icon?: undefined;
118
- handlers?: undefined;
119
- filter?: undefined;
120
- sortable?: undefined;
121
- width?: undefined;
122
- label?: undefined;
123
- })[];
124
- rows: {
125
- appendable: boolean;
126
- };
127
- sorters: {
128
- name: string;
129
- }[];
130
- } | undefined;
131
25
  pageUpdated(changes: any, lifecycle: any, changedBefore: any): Promise<void>;
132
26
  fetchHandler({ page, limit, sortings, filters }: {
133
27
  page: any;
134
28
  limit: any;
135
- sortings?: any[] | undefined;
136
- filters?: any[] | undefined;
29
+ sortings?: never[] | undefined;
30
+ filters?: never[] | undefined;
137
31
  }): Promise<{
138
32
  total: any;
139
33
  records: any;
140
34
  }>;
141
35
  }
142
- import { PageView } from "@operato/shell/page-view.js";
143
36
  export {};
@@ -1,7 +1,9 @@
1
+ import { __decorate, __metadata } from "tslib";
1
2
  import '@operato/data-grist';
2
3
  import '../../components/activity-reporter-view.js';
3
4
  import gql from 'graphql-tag';
4
5
  import { css, html } from 'lit';
6
+ import { customElement, property, query } from 'lit/decorators.js';
5
7
  import { connect } from 'pwa-helpers/connect-mixin.js';
6
8
  import { client } from '@operato/graphql';
7
9
  import { i18next, localize } from '@operato/i18n';
@@ -9,28 +11,10 @@ import { openPopup } from '@operato/layout';
9
11
  import { PageView, store } from '@operato/shell';
10
12
  import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
11
13
  import { isMobileDevice } from '@operato/utils';
12
- export class ReporterListPage extends connect(store)(localize(i18next)(PageView)) {
13
- static get properties() {
14
- return {
15
- gristConfig: Object,
16
- mode: String
17
- };
18
- }
19
- static get styles() {
20
- return [
21
- ScrollbarStyles,
22
- CommonGristStyles,
23
- css `
24
- :host {
25
- display: flex;
26
-
27
- width: 100%;
28
-
29
- --grid-record-emphasized-background-color: red;
30
- --grid-record-emphasized-color: yellow;
31
- }
32
- `
33
- ];
14
+ let ReporterListPage = class ReporterListPage extends connect(store)(localize(i18next)(PageView)) {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.mode = (isMobileDevice() ? 'CARD' : 'GRID');
34
18
  }
35
19
  get context() {
36
20
  return {
@@ -39,7 +23,7 @@ export class ReporterListPage extends connect(store)(localize(i18next)(PageView)
39
23
  };
40
24
  }
41
25
  render() {
42
- const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID');
26
+ const mode = this.mode;
43
27
  return html `
44
28
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
45
29
  <div slot="headroom">
@@ -52,7 +36,7 @@ export class ReporterListPage extends connect(store)(localize(i18next)(PageView)
52
36
  <mwc-icon
53
37
  @click=${e => {
54
38
  const target = e.currentTarget;
55
- this.renderRoot.querySelector('#sorter-control').open({
39
+ this.sorterControl.open({
56
40
  right: 0,
57
41
  top: target.offsetTop + target.offsetHeight
58
42
  });
@@ -73,9 +57,6 @@ export class ReporterListPage extends connect(store)(localize(i18next)(PageView)
73
57
  </ox-grist>
74
58
  `;
75
59
  }
76
- get grist() {
77
- return this.renderRoot.querySelector('ox-grist');
78
- }
79
60
  async pageInitialized(lifecycle) {
80
61
  this.gristConfig = {
81
62
  list: {
@@ -102,7 +83,8 @@ export class ReporterListPage extends connect(store)(localize(i18next)(PageView)
102
83
  title: i18next.t('title.activity summary')
103
84
  });
104
85
  popup.onclosed = () => {
105
- this.grist.fetch();
86
+ var _a;
87
+ (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
106
88
  };
107
89
  }
108
90
  }
@@ -167,8 +149,9 @@ export class ReporterListPage extends connect(store)(localize(i18next)(PageView)
167
149
  };
168
150
  }
169
151
  async pageUpdated(changes, lifecycle, changedBefore) {
152
+ var _a;
170
153
  if (this.active) {
171
- this.grist.fetch();
154
+ (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
172
155
  }
173
156
  }
174
157
  async fetchHandler({ page, limit, sortings = [], filters = [] }) {
@@ -204,6 +187,39 @@ export class ReporterListPage extends connect(store)(localize(i18next)(PageView)
204
187
  records: response.data.responses.items || []
205
188
  };
206
189
  }
207
- }
208
- window.customElements.define('reporter-list-page', ReporterListPage);
190
+ };
191
+ ReporterListPage.styles = [
192
+ ScrollbarStyles,
193
+ CommonGristStyles,
194
+ css `
195
+ :host {
196
+ display: flex;
197
+
198
+ width: 100%;
199
+
200
+ --grid-record-emphasized-background-color: red;
201
+ --grid-record-emphasized-color: yellow;
202
+ }
203
+ `
204
+ ];
205
+ __decorate([
206
+ property({ type: Object }),
207
+ __metadata("design:type", Object)
208
+ ], ReporterListPage.prototype, "gristConfig", void 0);
209
+ __decorate([
210
+ property({ type: Object }),
211
+ __metadata("design:type", String)
212
+ ], ReporterListPage.prototype, "mode", void 0);
213
+ __decorate([
214
+ query('#sorter-control'),
215
+ __metadata("design:type", Object)
216
+ ], ReporterListPage.prototype, "sorterControl", void 0);
217
+ __decorate([
218
+ query('ox-grist'),
219
+ __metadata("design:type", Object)
220
+ ], ReporterListPage.prototype, "grist", void 0);
221
+ ReporterListPage = __decorate([
222
+ customElement('reporter-list-page')
223
+ ], ReporterListPage);
224
+ export { ReporterListPage };
209
225
  //# sourceMappingURL=reporter-list-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reporter-list-page.js","sourceRoot":"","sources":["../../../client/pages/activity-supervisor/reporter-list-page.js"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '../../components/activity-reporter-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\n\nexport class ReporterListPage extends connect(store)(localize(i18next)(PageView)) {\n static get properties() {\n return {\n gristConfig: Object,\n mode: String\n }\n }\n\n static get styles() {\n return [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n `\n ]\n }\n\n get context() {\n return {\n title: i18next.t('title.activity reporter list'),\n help: 'worklist/activity-reporter-list'\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\">\n <div id=\"filters\">\n <ox-filters-form autofocus></ox-filters-form>\n </div>\n\n <div id=\"sorters\">\n Sort\n <mwc-icon\n @click=${e => {\n const target = e.currentTarget\n this.renderRoot.querySelector('#sorter-control').open({\n right: 0,\n top: target.offsetTop + target.offsetHeight\n })\n }}\n >expand_more</mwc-icon\n >\n <ox-popup id=\"sorter-control\">\n <ox-sorters-control> </ox-sorters-control>\n </ox-popup>\n </div>\n\n <div id=\"modes\">\n <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>\n <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>\n <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>\n </div>\n </div>\n </ox-grist>\n `\n }\n\n get grist() {\n return this.renderRoot.querySelector('ox-grist')\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n thumbnail: 'thumbnail',\n fields: ['name', 'description'],\n details: ['updatedAt']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'gutter',\n gutterName: 'button',\n name: 'start',\n icon: 'dashboard',\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (!record.id) {\n return\n }\n\n const popup = openPopup(\n html` <activity-reporter-view .activityId=${record.id}></activity-reporter-view> `,\n {\n backdrop: true,\n help: 'worklist/activity-reporter-view',\n size: 'large',\n title: i18next.t('title.activity summary')\n }\n )\n popup.onclosed = () => {\n this.grist.fetch()\n }\n }\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n filter: 'search',\n width: 240\n },\n {\n type: 'string',\n name: 'activityType',\n label: true,\n header: i18next.t('field.activity-type'),\n sortable: true,\n // filter: {\n // type: 'select',\n // options: ActivityTypes\n // },\n width: 100\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180\n },\n {\n type: 'image',\n name: 'thumbnail',\n header: i18next.t('field.thumbnail'),\n record: { editable: false },\n hidden: true\n }\n ],\n rows: {\n appendable: false\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async pageUpdated(changes, lifecycle, changedBefore) {\n if (this.active) {\n this.grist.fetch()\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: supervisableActivities(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n activityType\n priority\n thumbnail\n updater {\n id\n name\n }\n updatedAt\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n}\n\nwindow.customElements.define('reporter-list-page', ReporterListPage)\n"]}
1
+ {"version":3,"file":"reporter-list-page.js","sourceRoot":"","sources":["../../../client/pages/activity-supervisor/reporter-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '../../components/activity-reporter-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\n\n@customElement('reporter-list-page')\nexport class ReporterListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n `\n ]\n\n\t@property({type: Object}) gristConfig: any\n\t@property({type: Object}) mode: 'GRID' | 'LIST' | 'CARD' = (isMobileDevice() ? 'CARD' : 'GRID')\n\n get context() {\n return {\n title: i18next.t('title.activity reporter list'),\n help: 'worklist/activity-reporter-list'\n }\n }\n\n\t@query('#sorter-control') sorterControl?: any\n\t@query('ox-grist') grist?: HTMLElement & { fetch: any; }\n\n render() {\n const mode = this.mode\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\">\n <div id=\"filters\">\n <ox-filters-form autofocus></ox-filters-form>\n </div>\n\n <div id=\"sorters\">\n Sort\n <mwc-icon\n @click=${e => {\n const target = e.currentTarget;\n this.sorterControl.open({\n right: 0,\n top: target.offsetTop + target.offsetHeight\n })\n }}\n >expand_more</mwc-icon\n >\n <ox-popup id=\"sorter-control\">\n <ox-sorters-control> </ox-sorters-control>\n </ox-popup>\n </div>\n\n <div id=\"modes\">\n <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>\n <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>\n <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>\n </div>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n thumbnail: 'thumbnail',\n fields: ['name', 'description'],\n details: ['updatedAt']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'gutter',\n gutterName: 'button',\n name: 'start',\n icon: 'dashboard',\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (!record.id) {\n return\n }\n\n const popup = openPopup(\n html` <activity-reporter-view .activityId=${record.id}></activity-reporter-view> `,\n {\n backdrop: true,\n help: 'worklist/activity-reporter-view',\n size: 'large',\n title: i18next.t('title.activity summary')\n }\n )\n popup.onclosed = () => {\n this.grist?.fetch()\n }\n }\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n filter: 'search',\n width: 240\n },\n {\n type: 'string',\n name: 'activityType',\n label: true,\n header: i18next.t('field.activity-type'),\n sortable: true,\n // filter: {\n // type: 'select',\n // options: ActivityTypes\n // },\n width: 100\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180\n },\n {\n type: 'image',\n name: 'thumbnail',\n header: i18next.t('field.thumbnail'),\n record: { editable: false },\n hidden: true\n }\n ],\n rows: {\n appendable: false\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async pageUpdated(changes, lifecycle, changedBefore) {\n if (this.active) {\n this.grist?.fetch()\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: supervisableActivities(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n activityType\n priority\n thumbnail\n updater {\n id\n name\n }\n updatedAt\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n}\n"]}
@@ -1,24 +1,10 @@
1
- export class ActivityTemplateImporter extends LitElement {
2
- static get properties(): {
3
- columns: ObjectConstructor;
4
- activityTemplates: ArrayConstructor;
5
- };
6
- static get styles(): import("lit").CSSResult[];
7
- columns: {
8
- list: {
9
- fields: string[];
10
- };
11
- pagination: {
12
- infinite: boolean;
13
- };
14
- columns: {
15
- type: string;
16
- name: string;
17
- header: string;
18
- width: number;
19
- }[];
20
- };
1
+ import '@operato/data-grist';
2
+ import { LitElement } from 'lit';
3
+ export declare class ActivityTemplateImporter extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ columns?: any;
6
+ activityTemplates?: any;
7
+ constructor();
21
8
  render(): import("lit-html").TemplateResult<1>;
22
9
  save(): Promise<void>;
23
10
  }
24
- import { LitElement } from "lit-element/lit-element";
@@ -1,16 +1,12 @@
1
+ import { __decorate, __metadata } from "tslib";
1
2
  import '@operato/data-grist';
2
3
  import gql from 'graphql-tag';
3
4
  import { css, html, LitElement } from 'lit';
5
+ import { customElement, property } from 'lit/decorators.js';
4
6
  import { client } from '@operato/graphql';
5
7
  import { i18next } from '@operato/i18n';
6
8
  import { isMobileDevice } from '@operato/utils';
7
- export class ActivityTemplateImporter extends LitElement {
8
- static get properties() {
9
- return {
10
- columns: Object,
11
- activityTemplates: Array
12
- };
13
- }
9
+ let ActivityTemplateImporter = class ActivityTemplateImporter extends LitElement {
14
10
  constructor() {
15
11
  super();
16
12
  this.columns = {
@@ -38,32 +34,6 @@ export class ActivityTemplateImporter extends LitElement {
38
34
  ]
39
35
  };
40
36
  }
41
- static get styles() {
42
- return [
43
- css `
44
- :host {
45
- display: flex;
46
- flex-direction: column;
47
-
48
- background-color: #fff;
49
- }
50
-
51
- ox-grist {
52
- flex: 1;
53
- }
54
-
55
- .button-container {
56
- display: flex;
57
- margin-left: auto;
58
- padding: var(--padding-default);
59
- }
60
-
61
- mwc-button {
62
- margin-left: var(--margin-default);
63
- }
64
- `
65
- ];
66
- }
67
37
  render() {
68
38
  return html `
69
39
  <ox-grist
@@ -89,10 +59,46 @@ export class ActivityTemplateImporter extends LitElement {
89
59
  `,
90
60
  variables: { activityTemplates: this.activityTemplates }
91
61
  });
92
- if ((_a = response.error) === null || _a === void 0 ? void 0 : _a.length)
62
+ if ((_a = response.errors) === null || _a === void 0 ? void 0 : _a.length)
93
63
  return;
94
64
  this.dispatchEvent(new CustomEvent('imported'));
95
65
  }
96
- }
97
- window.customElements.define('activity-template-importer', ActivityTemplateImporter);
66
+ };
67
+ ActivityTemplateImporter.styles = [
68
+ css `
69
+ :host {
70
+ display: flex;
71
+ flex-direction: column;
72
+
73
+ background-color: #fff;
74
+ }
75
+
76
+ ox-grist {
77
+ flex: 1;
78
+ }
79
+
80
+ .button-container {
81
+ display: flex;
82
+ margin-left: auto;
83
+ padding: var(--padding-default);
84
+ }
85
+
86
+ mwc-button {
87
+ margin-left: var(--margin-default);
88
+ }
89
+ `
90
+ ];
91
+ __decorate([
92
+ property({ type: Object }),
93
+ __metadata("design:type", Object)
94
+ ], ActivityTemplateImporter.prototype, "columns", void 0);
95
+ __decorate([
96
+ property({ type: Array }),
97
+ __metadata("design:type", Object)
98
+ ], ActivityTemplateImporter.prototype, "activityTemplates", void 0);
99
+ ActivityTemplateImporter = __decorate([
100
+ customElement('activity-template-importer'),
101
+ __metadata("design:paramtypes", [])
102
+ ], ActivityTemplateImporter);
103
+ export { ActivityTemplateImporter };
98
104
  //# sourceMappingURL=activity-template-importer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity-template-importer.js","sourceRoot":"","sources":["../../../client/pages/activity-template/activity-template-importer.js"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACtD,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,OAAO,EAAE,MAAM;YACf,iBAAiB,EAAE,KAAK;SACzB,CAAA;IACH,CAAC;IAED;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;YACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC/B,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACtC,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;oBACjC,KAAK,EAAE,EAAE;iBACV;aACF;SACF,CAAA;IACH,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;OAqBF;SACF,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;kBAChC,IAAI,CAAC,OAAO;gBAEpB;YACE,OAAO,EAAE,IAAI,CAAC,iBAAiB;SAEnC;;;;qCAI6B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;;KAEjF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;;QACR,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA;;;;OAIZ;YACD,SAAS,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACzD,CAAC,CAAA;QAEF,IAAI,MAAA,QAAQ,CAAC,KAAK,0CAAE,MAAM;YAAE,OAAM;QAElC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,wBAAwB,CAAC,CAAA","sourcesContent":["import '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\n\nimport { client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { isMobileDevice } from '@operato/utils'\n\nexport class ActivityTemplateImporter extends LitElement {\n static get properties() {\n return {\n columns: Object,\n activityTemplates: Array\n }\n }\n\n constructor() {\n super()\n this.columns = {\n list: { fields: ['name', 'description'] },\n pagination: { infinite: true },\n columns: [\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n width: 200\n },\n {\n type: 'checkbox',\n name: 'active',\n header: i18next.t('field.active'),\n width: 60\n }\n ]\n }\n }\n\n static get styles() {\n return [\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n ox-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n\n mwc-button {\n margin-left: var(--margin-default);\n }\n `\n ]\n }\n\n render() {\n return html`\n <ox-grist\n .mode=${isMobileDevice() ? 'LIST' : 'GRID'}\n .config=${this.columns}\n .data=${\n { \n records: this.activityTemplates \n }\n }\n ></ox-grist>\n\n <div class=\"button-container\">\n <mwc-button raised @click=\"${this.save.bind(this)}\">${i18next.t('button.save')}</mwc-button>\n </div>\n `\n }\n\n async save() {\n const response = await client.mutate({\n mutation: gql`\n mutation importActivityTemplates($activityTemplates: [ActivityTemplatePatch!]!) {\n importActivityTemplates(activityTemplates: $activityTemplates)\n }\n `,\n variables: { activityTemplates: this.activityTemplates }\n })\n\n if (response.error?.length) return\n\n this.dispatchEvent(new CustomEvent('imported'))\n }\n}\n\nwindow.customElements.define('activity-template-importer', ActivityTemplateImporter)\n"]}
1
+ {"version":3,"file":"activity-template-importer.js","sourceRoot":"","sources":["../../../client/pages/activity-template/activity-template-importer.ts"],"names":[],"mappings":";AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,UAAU;IA6BtD;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;YACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC/B,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACtC,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;oBACjC,KAAK,EAAE,EAAE;iBACV;aACF;SACF,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;kBAChC,IAAI,CAAC,OAAO;gBAEpB;YACE,OAAO,EAAE,IAAI,CAAC,iBAAiB;SAEnC;;;;qCAI6B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;;KAEjF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;;QACR,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA;;;;OAIZ;YACD,SAAS,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACzD,CAAC,CAAA;QAEF,IAAI,MAAA,QAAQ,CAAC,MAAM,0CAAE,MAAM;YAAE,OAAM;QAEnC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,CAAC;CACF,CAAA;AAxFQ,+BAAM,GAAG;IACZ,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;OAqBF;CACF,CAAA;AAEwB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yDAAc;AACd;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;mEAAwB;AA3BtC,wBAAwB;IADpC,aAAa,CAAC,4BAA4B,CAAC;;GAC/B,wBAAwB,CAyFpC;SAzFY,wBAAwB","sourcesContent":["import '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { isMobileDevice } from '@operato/utils'\n\n@customElement('activity-template-importer')\nexport class ActivityTemplateImporter extends LitElement {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n ox-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n\n mwc-button {\n margin-left: var(--margin-default);\n }\n `\n ]\n\n\t@property({ type: Object }) columns?: any\n\t@property({ type: Array }) activityTemplates?: any\n\n constructor() {\n super()\n this.columns = {\n list: { fields: ['name', 'description'] },\n pagination: { infinite: true },\n columns: [\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n width: 200\n },\n {\n type: 'checkbox',\n name: 'active',\n header: i18next.t('field.active'),\n width: 60\n }\n ]\n }\n }\n\n render() {\n return html`\n <ox-grist\n .mode=${isMobileDevice() ? 'LIST' : 'GRID'}\n .config=${this.columns}\n .data=${\n {\n records: this.activityTemplates\n }\n }\n ></ox-grist>\n\n <div class=\"button-container\">\n <mwc-button raised @click=\"${this.save.bind(this)}\">${i18next.t('button.save')}</mwc-button>\n </div>\n `\n }\n\n async save() {\n const response = await client.mutate({\n mutation: gql`\n mutation importActivityTemplates($activityTemplates: [ActivityTemplatePatch!]!) {\n importActivityTemplates(activityTemplates: $activityTemplates)\n }\n `,\n variables: { activityTemplates: this.activityTemplates }\n })\n\n if (response.errors?.length) return\n\n this.dispatchEvent(new CustomEvent('imported'))\n }\n}\n"]}