@things-factory/worklist 5.0.1 → 5.0.8

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 (218) hide show
  1. package/client/{bootstrap.js → bootstrap.ts} +0 -0
  2. package/client/components/activity-instance-preview.js +1 -0
  3. package/client/components/{activity-intro-view.js → activity-intro-view.ts} +29 -41
  4. package/client/{index.js → index.ts} +0 -0
  5. package/client/pages/activity/activity-list-page.js +2 -2
  6. package/client/pages/activity/activity-page.js +1 -1
  7. package/client/pages/activity/starter-list-page.js +1 -1
  8. package/client/pages/activity-instance/activity-instance-list-page.js +1 -1
  9. package/client/pages/activity-instance/activity-instance-page.js +1 -1
  10. package/client/pages/activity-store/activity-store-page.js +1 -1
  11. package/client/pages/activity-supervisor/reporter-list-page.js +1 -1
  12. package/client/pages/activity-template/activity-template-list-page.js +1 -1
  13. package/client/pages/activity-thread/activity-thread-list-page.js +1 -1
  14. package/client/pages/activity-thread/activity-thread-page.js +1 -1
  15. package/client/pages/todo/assigned-list-page.js +1 -1
  16. package/client/pages/todo/draft-list-page.js +2 -2
  17. package/client/pages/todo/pickable-list-page.js +3 -3
  18. package/client/pages/todo/todo-list-page.js +2 -2
  19. package/client/{route.js → route.ts} +1 -1
  20. package/client/tsconfig.json +11 -0
  21. package/dist-client/bootstrap.d.ts +1 -0
  22. package/dist-client/bootstrap.js +12 -0
  23. package/dist-client/bootstrap.js.map +1 -0
  24. package/dist-client/components/activity-/bowner-view.d.ts +1 -0
  25. package/dist-client/components/activity-/bowner-view.js +97 -0
  26. package/dist-client/components/activity-/bowner-view.js.map +1 -0
  27. package/dist-client/components/activity-instance-preview.d.ts +1 -0
  28. package/dist-client/components/activity-instance-preview.js +181 -0
  29. package/dist-client/components/activity-instance-preview.js.map +1 -0
  30. package/dist-client/components/activity-intro-view.d.ts +2 -0
  31. package/dist-client/components/activity-intro-view.js +105 -0
  32. package/dist-client/components/activity-intro-view.js.map +1 -0
  33. package/dist-client/components/activity-reporter-view.d.ts +1 -0
  34. package/dist-client/components/activity-reporter-view.js +97 -0
  35. package/dist-client/components/activity-reporter-view.js.map +1 -0
  36. package/dist-client/components/activity-starter-form.d.ts +1 -0
  37. package/dist-client/components/activity-starter-form.js +294 -0
  38. package/dist-client/components/activity-starter-form.js.map +1 -0
  39. package/dist-client/index.d.ts +1 -0
  40. package/dist-client/index.js +2 -0
  41. package/dist-client/index.js.map +1 -0
  42. package/dist-client/pages/activity/activity-list-page.d.ts +297 -0
  43. package/dist-client/pages/activity/activity-list-page.js +468 -0
  44. package/dist-client/pages/activity/activity-list-page.js.map +1 -0
  45. package/dist-client/pages/activity/activity-model-item-list.d.ts +169 -0
  46. package/dist-client/pages/activity/activity-model-item-list.js +285 -0
  47. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -0
  48. package/dist-client/pages/activity/activity-page.d.ts +49 -0
  49. package/dist-client/pages/activity/activity-page.js +368 -0
  50. package/dist-client/pages/activity/activity-page.js.map +1 -0
  51. package/dist-client/pages/activity/starter-list-page.d.ts +143 -0
  52. package/dist-client/pages/activity/starter-list-page.js +209 -0
  53. package/dist-client/pages/activity/starter-list-page.js.map +1 -0
  54. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +137 -0
  55. package/dist-client/pages/activity-instance/activity-instance-list-page.js +202 -0
  56. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -0
  57. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +49 -0
  58. package/dist-client/pages/activity-instance/activity-instance-page.js +365 -0
  59. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -0
  60. package/dist-client/pages/activity-store/activity-store-page.d.ts +174 -0
  61. package/dist-client/pages/activity-store/activity-store-page.js +211 -0
  62. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -0
  63. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +143 -0
  64. package/dist-client/pages/activity-supervisor/reporter-list-page.js +209 -0
  65. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -0
  66. package/dist-client/pages/activity-template/activity-template-importer.d.ts +24 -0
  67. package/dist-client/pages/activity-template/activity-template-importer.js +98 -0
  68. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -0
  69. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +263 -0
  70. package/dist-client/pages/activity-template/activity-template-list-page.js +402 -0
  71. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -0
  72. package/dist-client/pages/activity-template/activity-template-model-item-list.d.ts +1 -0
  73. package/dist-client/pages/activity-template/activity-template-model-item-list.js +36 -0
  74. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -0
  75. package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +24 -0
  76. package/dist-client/pages/activity-thread/activity-thread-importer.js +98 -0
  77. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -0
  78. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +145 -0
  79. package/dist-client/pages/activity-thread/activity-thread-list-page.js +284 -0
  80. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -0
  81. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +46 -0
  82. package/dist-client/pages/activity-thread/activity-thread-page.js +331 -0
  83. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -0
  84. package/dist-client/pages/dashboard/dashboard-home.d.ts +1 -0
  85. package/dist-client/pages/dashboard/dashboard-home.js +17 -0
  86. package/dist-client/pages/dashboard/dashboard-home.js.map +1 -0
  87. package/dist-client/pages/todo/assigned-list-page.d.ts +124 -0
  88. package/dist-client/pages/todo/assigned-list-page.js +233 -0
  89. package/dist-client/pages/todo/assigned-list-page.js.map +1 -0
  90. package/dist-client/pages/todo/draft-list-page.d.ts +198 -0
  91. package/dist-client/pages/todo/draft-list-page.js +310 -0
  92. package/dist-client/pages/todo/draft-list-page.js.map +1 -0
  93. package/dist-client/pages/todo/pickable-list-page.d.ts +150 -0
  94. package/dist-client/pages/todo/pickable-list-page.js +260 -0
  95. package/dist-client/pages/todo/pickable-list-page.js.map +1 -0
  96. package/dist-client/pages/todo/todo-list-page.d.ts +232 -0
  97. package/dist-client/pages/todo/todo-list-page.js +333 -0
  98. package/dist-client/pages/todo/todo-list-page.js.map +1 -0
  99. package/dist-client/pages/worklist-home.d.ts +1 -0
  100. package/dist-client/pages/worklist-home.js +17 -0
  101. package/dist-client/pages/worklist-home.js.map +1 -0
  102. package/dist-client/route.d.ts +1 -0
  103. package/dist-client/route.js +53 -0
  104. package/dist-client/route.js.map +1 -0
  105. package/dist-client/tsconfig.tsbuildinfo +1 -0
  106. package/dist-client/types.d.ts +19 -0
  107. package/dist-client/types.js +37 -0
  108. package/dist-client/types.js.map +1 -0
  109. package/dist-server/controllers/activity-extension-controller.js.map +1 -1
  110. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  111. package/dist-server/controllers/activity-instance/adjust.js.map +1 -1
  112. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  113. package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
  114. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  115. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  116. package/dist-server/controllers/activity-instance/index.js +11 -24
  117. package/dist-server/controllers/activity-instance/index.js.map +1 -1
  118. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  119. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  120. package/dist-server/controllers/activity-instance/start.js.map +1 -1
  121. package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
  122. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  123. package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
  124. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  125. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  126. package/dist-server/controllers/activity-thread/index.js +8 -21
  127. package/dist-server/controllers/activity-thread/index.js.map +1 -1
  128. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  129. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  130. package/dist-server/controllers/activity-thread/terminate.js.map +1 -1
  131. package/dist-server/controllers/common.js.map +1 -1
  132. package/dist-server/controllers/index.js.map +1 -1
  133. package/dist-server/index.js +4 -17
  134. package/dist-server/index.js.map +1 -1
  135. package/dist-server/middlewares/index.js.map +1 -1
  136. package/dist-server/migrations/index.js.map +1 -1
  137. package/dist-server/routes.js.map +1 -1
  138. package/dist-server/service/activity/activity-history.js +68 -76
  139. package/dist-server/service/activity/activity-history.js.map +1 -1
  140. package/dist-server/service/activity/activity-model-type.js +51 -59
  141. package/dist-server/service/activity/activity-model-type.js.map +1 -1
  142. package/dist-server/service/activity/activity-mutation.js +52 -59
  143. package/dist-server/service/activity/activity-mutation.js.map +1 -1
  144. package/dist-server/service/activity/activity-query.js +62 -72
  145. package/dist-server/service/activity/activity-query.js.map +1 -1
  146. package/dist-server/service/activity/activity-type.js +91 -102
  147. package/dist-server/service/activity/activity-type.js.map +1 -1
  148. package/dist-server/service/activity/activity.js +68 -76
  149. package/dist-server/service/activity/activity.js.map +1 -1
  150. package/dist-server/service/activity/event-subscriber.js +2 -7
  151. package/dist-server/service/activity/event-subscriber.js.map +1 -1
  152. package/dist-server/service/activity/index.js.map +1 -1
  153. package/dist-server/service/activity-instance/activity-instance-history.js +80 -88
  154. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  155. package/dist-server/service/activity-instance/activity-instance-mutation.js +61 -72
  156. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  157. package/dist-server/service/activity-instance/activity-instance-query.js +72 -85
  158. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  159. package/dist-server/service/activity-instance/activity-instance-subscription.js +7 -18
  160. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -1
  161. package/dist-server/service/activity-instance/activity-instance-type.js +96 -104
  162. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -1
  163. package/dist-server/service/activity-instance/activity-instance.js +87 -90
  164. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  165. package/dist-server/service/activity-instance/event-subscriber.js +3 -8
  166. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  167. package/dist-server/service/activity-instance/index.js.map +1 -1
  168. package/dist-server/service/activity-template/activity-template-history.js +50 -58
  169. package/dist-server/service/activity-template/activity-template-history.js.map +1 -1
  170. package/dist-server/service/activity-template/activity-template-mutation.js +45 -52
  171. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -1
  172. package/dist-server/service/activity-template/activity-template-query.js +35 -45
  173. package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
  174. package/dist-server/service/activity-template/activity-template-type.js +65 -76
  175. package/dist-server/service/activity-template/activity-template-type.js.map +1 -1
  176. package/dist-server/service/activity-template/activity-template.js +48 -56
  177. package/dist-server/service/activity-template/activity-template.js.map +1 -1
  178. package/dist-server/service/activity-template/event-subscriber.js +2 -7
  179. package/dist-server/service/activity-template/event-subscriber.js.map +1 -1
  180. package/dist-server/service/activity-template/index.js.map +1 -1
  181. package/dist-server/service/activity-thread/activity-thread-mutation.js +78 -89
  182. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
  183. package/dist-server/service/activity-thread/activity-thread-query.js +45 -56
  184. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -1
  185. package/dist-server/service/activity-thread/activity-thread-subscription.js +7 -18
  186. package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -1
  187. package/dist-server/service/activity-thread/activity-thread-type.js +25 -33
  188. package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -1
  189. package/dist-server/service/activity-thread/activity-thread.js +42 -50
  190. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  191. package/dist-server/service/activity-thread/event-subscriber.js +2 -7
  192. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -1
  193. package/dist-server/service/activity-thread/index.js.map +1 -1
  194. package/dist-server/service/index.js +5 -18
  195. package/dist-server/service/index.js.map +1 -1
  196. package/dist-server/tsconfig.tsbuildinfo +1 -0
  197. package/package.json +13 -11
  198. package/server/service/activity/activity-mutation.ts +13 -9
  199. package/server/service/activity/activity-query.ts +1 -0
  200. package/server/service/activity-instance/activity-instance-query.ts +5 -7
  201. package/server/service/activity-instance/activity-instance.ts +4 -0
  202. package/server/service/activity-template/activity-template-mutation.ts +6 -2
  203. package/server/service/activity-template/activity-template-query.ts +1 -0
  204. package/server/tsconfig.json +11 -0
  205. package/things-factory.config.js +2 -2
  206. package/translations/en.json +1 -0
  207. package/translations/ko.json +1 -0
  208. package/translations/ms.json +1 -0
  209. package/translations/zh.json +1 -0
  210. package/dist-server/controllers/activity-instance/common.js +0 -30
  211. package/dist-server/controllers/activity-instance/common.js.map +0 -1
  212. package/dist-server/controllers/activity-instance/create.js +0 -103
  213. package/dist-server/controllers/activity-instance/create.js.map +0 -1
  214. package/dist-server/controllers/activity-instance/save.js +0 -14
  215. package/dist-server/controllers/activity-instance/save.js.map +0 -1
  216. package/dist-server/controllers/activity-instance/take.js +0 -46
  217. package/dist-server/controllers/activity-instance/take.js.map +0 -1
  218. package/tsconfig.json +0 -9
@@ -0,0 +1,105 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/mwc-button';
3
+ import '@operato/property-editor/ox-properties-dynamic-view.js';
4
+ import gql from 'graphql-tag';
5
+ import { css, html, LitElement } from 'lit';
6
+ import { customElement, property } from 'lit/decorators.js';
7
+ import { client } from '@operato/graphql';
8
+ import { i18next, localize } from '@operato/i18n';
9
+ import { ScrollbarStyles } from '@operato/styles';
10
+ let ActivityIntroView = class ActivityIntroView extends localize(i18next)(LitElement) {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.activityTemplateId = '';
14
+ this.activityInstance = {};
15
+ }
16
+ render() {
17
+ const { name, description, thumbnail } = this.activityTemplate || {};
18
+ return html `
19
+ <content>
20
+ <section>
21
+ <div>name: ${name}</div>
22
+ <div>description: ${description}</div>
23
+ </section>
24
+
25
+ <section>
26
+ <img src=${thumbnail} />
27
+ </section>
28
+ </content>
29
+ `;
30
+ }
31
+ firstUpdated() {
32
+ this.fetchActivity(this.activityTemplateId);
33
+ }
34
+ async fetchActivity(id) {
35
+ const response = await client.query({
36
+ query: gql `
37
+ query activityTemplate($id: String!) {
38
+ activityTemplate(id: $id) {
39
+ id
40
+ name
41
+ description
42
+ state
43
+ thumbnail
44
+ model {
45
+ name
46
+ description
47
+ active
48
+ tag
49
+ inout
50
+ type
51
+ unit
52
+ options
53
+ quantifier
54
+ spec
55
+ }
56
+ }
57
+ }
58
+ `,
59
+ variables: {
60
+ id
61
+ }
62
+ });
63
+ this.activityTemplate = response.data.activityTemplate;
64
+ }
65
+ };
66
+ ActivityIntroView.styles = [
67
+ ScrollbarStyles,
68
+ css `
69
+ :host {
70
+ display: flex;
71
+ flex-direction: column;
72
+
73
+ background-color: #fff;
74
+ }
75
+
76
+ content {
77
+ flex: 1;
78
+ display: flex;
79
+ flex-direction: column;
80
+ padding: var(--padding-default);
81
+ overflow: auto;
82
+ }
83
+
84
+ section {
85
+ display: flex;
86
+ flex-direction: column;
87
+ }
88
+ `
89
+ ];
90
+ __decorate([
91
+ property({ type: String }),
92
+ __metadata("design:type", String)
93
+ ], ActivityIntroView.prototype, "activityTemplateId", void 0);
94
+ __decorate([
95
+ property({ type: Object }),
96
+ __metadata("design:type", Object)
97
+ ], ActivityIntroView.prototype, "activityTemplate", void 0);
98
+ __decorate([
99
+ property({ type: Object }),
100
+ __metadata("design:type", Object)
101
+ ], ActivityIntroView.prototype, "activityInstance", void 0);
102
+ ActivityIntroView = __decorate([
103
+ customElement('activity-intro-view')
104
+ ], ActivityIntroView);
105
+ //# sourceMappingURL=activity-intro-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-intro-view.js","sourceRoot":"","sources":["../../client/components/activity-intro-view.ts"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAA;AAC7B,OAAO,wDAAwD,CAAA;AAE/D,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,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAA7D;;QAC8B,uBAAkB,GAAW,EAAE,CAAA;QAE/B,qBAAgB,GAAQ,EAAE,CAAA;IAgFxD,CAAC;IArDC,MAAM;QACJ,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAA;QAEpE,OAAO,IAAI,CAAA;;;uBAGQ,IAAI;8BACG,WAAW;;;;qBAIpB,SAAS;;;KAGzB,CAAA;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;OAsBT;YACD,SAAS,EAAE;gBACT,EAAE;aACH;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAA;IACxD,CAAC;CACF,CAAA;AA9EQ,wBAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;KAoBF;CACF,CAAA;AA3B2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6DAAgC;AAC/B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2DAAsB;AACrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2DAA2B;AAHlD,iBAAiB;IADtB,aAAa,CAAC,qBAAqB,CAAC;GAC/B,iBAAiB,CAmFtB","sourcesContent":["import '@material/mwc-button'\nimport '@operato/property-editor/ox-properties-dynamic-view.js'\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, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-intro-view')\nclass ActivityIntroView extends localize(i18next)(LitElement) {\n @property({ type: String }) activityTemplateId: string = ''\n @property({ type: Object }) activityTemplate: any\n @property({ type: Object }) activityInstance: any = {}\n\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: var(--padding-default);\n overflow: auto;\n }\n\n section {\n display: flex;\n flex-direction: column;\n }\n `\n ]\n\n render() {\n const { name, description, thumbnail } = this.activityTemplate || {}\n\n return html`\n <content>\n <section>\n <div>name: ${name}</div>\n <div>description: ${description}</div>\n </section>\n\n <section>\n <img src=${thumbnail} />\n </section>\n </content>\n `\n }\n\n firstUpdated() {\n this.fetchActivity(this.activityTemplateId)\n }\n\n async fetchActivity(id: string) {\n const response = await client.query({\n query: gql`\n query activityTemplate($id: String!) {\n activityTemplate(id: $id) {\n id\n name\n description\n state\n thumbnail\n model {\n name\n description\n active\n tag\n inout\n type\n unit\n options\n quantifier\n spec\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.activityTemplate = response.data.activityTemplate\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,97 @@
1
+ import '@material/mwc-button';
2
+ import '@operato/property-editor/ox-properties-dynamic-view.js';
3
+ import gql from 'graphql-tag';
4
+ import { css, html, LitElement } from 'lit';
5
+ import { client } from '@operato/graphql';
6
+ import { i18next, localize } from '@operato/i18n';
7
+ import { ScrollbarStyles } from '@operato/styles';
8
+ class ActivityReporterView extends localize(i18next)(LitElement) {
9
+ static get properties() {
10
+ return {
11
+ activityId: String,
12
+ activity: Object,
13
+ activityInstance: Object
14
+ };
15
+ }
16
+ static get styles() {
17
+ return [
18
+ ScrollbarStyles,
19
+ css `
20
+ :host {
21
+ display: flex;
22
+ flex-direction: column;
23
+
24
+ background-color: #fff;
25
+ }
26
+
27
+ content {
28
+ flex: 1;
29
+ display: flex;
30
+ flex-direction: column;
31
+ padding: var(--padding-default);
32
+ overflow: auto;
33
+ }
34
+
35
+ section {
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+ `
40
+ ];
41
+ }
42
+ constructor() {
43
+ super();
44
+ this.activityInstance = {};
45
+ }
46
+ render() {
47
+ const { name, description, thumbnail } = this.activity || {};
48
+ return html `
49
+ <content>
50
+ <section>
51
+ <div>name: ${name}</div>
52
+ <div>description: ${description}</div>
53
+ </section>
54
+
55
+ <section>
56
+ <img src=${thumbnail} />
57
+ </section>
58
+ </content>
59
+ `;
60
+ }
61
+ firstUpdated() {
62
+ this.fetchActivity(this.activityId);
63
+ }
64
+ async fetchActivity(id) {
65
+ const response = await client.query({
66
+ query: gql `
67
+ query activity($id: String!) {
68
+ activity(id: $id) {
69
+ id
70
+ name
71
+ description
72
+ state
73
+ thumbnail
74
+ model {
75
+ name
76
+ description
77
+ active
78
+ tag
79
+ inout
80
+ type
81
+ unit
82
+ options
83
+ quantifier
84
+ spec
85
+ }
86
+ }
87
+ }
88
+ `,
89
+ variables: {
90
+ id
91
+ }
92
+ });
93
+ this.activity = response.data.activity;
94
+ }
95
+ }
96
+ window.customElements.define('activity-reporter-view', ActivityReporterView);
97
+ //# sourceMappingURL=activity-reporter-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-reporter-view.js","sourceRoot":"","sources":["../../client/components/activity-reporter-view.js"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAC7B,OAAO,wDAAwD,CAAA;AAE/D,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,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,oBAAqB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAC9D,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,MAAM;YAChB,gBAAgB,EAAE,MAAM;SACzB,CAAA;IACH,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,eAAe;YACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;OAoBF;SACF,CAAA;IACH,CAAC;IAED;QACE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;QAE5D,OAAO,IAAI,CAAA;;;uBAGQ,IAAI;8BACG,WAAW;;;;qBAIpB,SAAS;;;KAGzB,CAAA;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAE;QACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;OAsBT;YACD,SAAS,EAAE;gBACT,EAAE;aACH;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;IACxC,CAAC;CACF;AAED,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAA","sourcesContent":["import '@material/mwc-button'\nimport '@operato/property-editor/ox-properties-dynamic-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\nclass ActivityReporterView extends localize(i18next)(LitElement) {\n static get properties() {\n return {\n activityId: String,\n activity: Object,\n activityInstance: Object\n }\n }\n\n static get styles() {\n return [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: var(--padding-default);\n overflow: auto;\n }\n\n section {\n display: flex;\n flex-direction: column;\n }\n `\n ]\n }\n\n constructor() {\n super()\n\n this.activityInstance = {}\n }\n\n render() {\n const { name, description, thumbnail } = this.activity || {}\n\n return html`\n <content>\n <section>\n <div>name: ${name}</div>\n <div>description: ${description}</div>\n </section>\n\n <section>\n <img src=${thumbnail} />\n </section>\n </content>\n `\n }\n\n firstUpdated() {\n this.fetchActivity(this.activityId)\n }\n\n async fetchActivity(id) {\n const response = await client.query({\n query: gql`\n query activity($id: String!) {\n activity(id: $id) {\n id\n name\n description\n state\n thumbnail\n model {\n name\n description\n active\n tag\n inout\n type\n unit\n options\n quantifier\n spec\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.activity = response.data.activity\n }\n}\n\nwindow.customElements.define('activity-reporter-view', ActivityReporterView)\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,294 @@
1
+ import '@material/mwc-button';
2
+ import '@operato/property-editor/ox-properties-dynamic-view.js';
3
+ import gql from 'graphql-tag';
4
+ import { css, html, LitElement } from 'lit';
5
+ import { client } from '@operato/graphql';
6
+ import { i18next, localize } from '@operato/i18n';
7
+ import { notify } from '@operato/layout';
8
+ import { ScrollbarStyles } from '@operato/styles';
9
+ class ActivityStarterForm extends localize(i18next)(LitElement) {
10
+ static get properties() {
11
+ return {
12
+ activityId: String,
13
+ activity: Object,
14
+ activityInstance: Object
15
+ };
16
+ }
17
+ static get styles() {
18
+ return [
19
+ ScrollbarStyles,
20
+ css `
21
+ :host {
22
+ display: flex;
23
+ flex-direction: column;
24
+
25
+ background-color: #fff;
26
+ }
27
+
28
+ content {
29
+ flex: 1;
30
+ display: flex;
31
+ flex-direction: column;
32
+ padding: var(--padding-default);
33
+ overflow: auto;
34
+ }
35
+
36
+ section {
37
+ display: flex;
38
+ flex-direction: column;
39
+ }
40
+
41
+ #description {
42
+ height: 60px;
43
+ }
44
+
45
+ .button-container {
46
+ display: flex;
47
+ margin-left: auto;
48
+ padding: var(--padding-default);
49
+ }
50
+
51
+ mwc-button {
52
+ margin-left: var(--margin-default);
53
+ }
54
+ `
55
+ ];
56
+ }
57
+ constructor() {
58
+ super();
59
+ this.activityInstance = {};
60
+ }
61
+ render() {
62
+ var _a, _b;
63
+ const { model, thumbnail } = this.activity || {};
64
+ const inputSpec = (model || [])
65
+ .filter(item => item.inout === 'in' || item.inout === 'inout')
66
+ .map(item => {
67
+ return Object.assign(Object.assign({}, item), { label: item.name });
68
+ });
69
+ const { id, name, description, input, state, threadsMin = 0, threadsMax = 0 } = this.activityInstance || {};
70
+ const draftable = !id;
71
+ const postable = id && state === 'draft';
72
+ return html `
73
+ <content>
74
+ <section>
75
+ <label for="name">title</label>
76
+ <input
77
+ id="name"
78
+ .value=${name || ((_a = this.activity) === null || _a === void 0 ? void 0 : _a.name)}
79
+ @change=${e => (this.activityInstance.name = e.currentTarget.value)}
80
+ />
81
+ </section>
82
+
83
+ <section>
84
+ <label for="description">description</label>
85
+ <textarea
86
+ id="description"
87
+ .value=${description || ((_b = this.activity) === null || _b === void 0 ? void 0 : _b.description)}
88
+ @change=${e => {
89
+ this.activityInstance.description = e.currentTarget.value;
90
+ }}
91
+ ></textarea>
92
+ </section>
93
+
94
+ <section>
95
+ <label for="threads-min">Threads Min</label>
96
+ <input
97
+ id="threadsMin"
98
+ type="number"
99
+ .value=${threadsMin || 0}
100
+ @change=${e => (this.activityInstance.threadsMin = e.currentTarget.valueAsNumber)}
101
+ ></input>
102
+
103
+ <label for="threads-max">Threads Max</label>
104
+ <input
105
+ id="threads-max"
106
+ type="number"
107
+ .value=${threadsMax || 0}
108
+ @change=${e => (this.activityInstance.threadsMax = e.currentTarget.valueAsNumber)}
109
+ ></input>
110
+ </section>
111
+
112
+ <section>
113
+ <img src=${thumbnail} />
114
+ </section>
115
+
116
+ <label>Input</label>
117
+
118
+ ${!model
119
+ ? html ``
120
+ : html `
121
+ <ox-properties-dynamic-view
122
+ .props=${inputSpec}
123
+ .value=${input}
124
+ @change=${e => {
125
+ /* TODO remove this comment, after solving the problem of sometimes not saving. */
126
+ this.activityInstance.input = e.currentTarget.value;
127
+ console.log('activity-instance', this.activityInstance.input);
128
+ }}
129
+ ></ox-properties-dynamic-view>
130
+ `}
131
+ </content>
132
+
133
+ <div class="button-container">
134
+ <mwc-button raised @click=${e => history.back()}>${i18next.t('button.close')}</mwc-button>
135
+ ${draftable
136
+ ? html `
137
+ <mwc-button raised @click=${this.draftActivityInstance.bind(this)}
138
+ >${i18next.t('button.draft')}</mwc-button
139
+ >
140
+ `
141
+ : postable
142
+ ? html `
143
+ <mwc-button raised @click=${this.updateActivityInstance.bind(this)}
144
+ >${i18next.t('button.save')}</mwc-button
145
+ >
146
+ <mwc-button raised @click=${this.postActivityInstance.bind(this)}
147
+ >${i18next.t('button.post')}</mwc-button
148
+ >
149
+ `
150
+ : html ``}
151
+ </div>
152
+ `;
153
+ }
154
+ firstUpdated() {
155
+ this.fetchActivity(this.activityId);
156
+ }
157
+ async fetchActivity(id) {
158
+ const response = await client.query({
159
+ query: gql `
160
+ query activity($id: String!) {
161
+ activity(id: $id) {
162
+ id
163
+ name
164
+ description
165
+ state
166
+ thumbnail
167
+ model {
168
+ name
169
+ description
170
+ active
171
+ tag
172
+ inout
173
+ type
174
+ unit
175
+ options
176
+ quantifier
177
+ spec
178
+ }
179
+ }
180
+ }
181
+ `,
182
+ variables: {
183
+ id
184
+ }
185
+ });
186
+ this.activity = response.data.activity;
187
+ }
188
+ async draftActivityInstance() {
189
+ const { activityId } = this;
190
+ const activityInstance = Object.assign({ activityId, name: this.activity.name, description: this.activity.description }, this.activityInstance);
191
+ const response = await client.mutate({
192
+ mutation: gql `
193
+ mutation ($activityInstance: NewActivityInstance!) {
194
+ draftActivityInstance(activityInstance: $activityInstance) {
195
+ id
196
+ name
197
+ description
198
+ input
199
+ state
200
+ threadsMin
201
+ threadsMax
202
+ }
203
+ }
204
+ `,
205
+ variables: {
206
+ activityInstance
207
+ }
208
+ });
209
+ if (!response.errors) {
210
+ this.activityInstance = response.data.draftActivityInstance;
211
+ notify({
212
+ message: i18next.t('text.info_x_successfully', {
213
+ x: `${i18next.t('label.activity-instance')} ${i18next.t('text.draft')}`
214
+ })
215
+ });
216
+ }
217
+ }
218
+ async updateActivityInstance() {
219
+ const { id, name, description, input, threadsMin = 0, threadsMax = 0 } = this.activityInstance;
220
+ const patch = {
221
+ name: name || this.activity.name,
222
+ description: description || this.activity.description,
223
+ input,
224
+ threadsMin,
225
+ threadsMax
226
+ };
227
+ const response = await client.mutate({
228
+ mutation: gql `
229
+ mutation ($id: String!, $patch: ActivityInstancePatch!) {
230
+ updateActivityInstance(id: $id, patch: $patch) {
231
+ id
232
+ name
233
+ description
234
+ input
235
+ state
236
+ threadsMin
237
+ threadsMax
238
+ }
239
+ }
240
+ `,
241
+ variables: {
242
+ id,
243
+ patch
244
+ }
245
+ });
246
+ if (!response.errors) {
247
+ this.activityInstance = response.data.updateActivityInstance;
248
+ notify({
249
+ message: i18next.t('text.info_x_successfully', {
250
+ x: `${i18next.t('label.activity-instance')} ${i18next.t('text.draft')}`
251
+ })
252
+ });
253
+ }
254
+ }
255
+ async postActivityInstance() {
256
+ const { id, name, description, input, threadsMin = 0, threadsMax = 0 } = this.activityInstance;
257
+ const activityInstance = {
258
+ id,
259
+ name: name || this.activity.name,
260
+ description: description || this.activity.description,
261
+ threadsMin,
262
+ threadsMax,
263
+ input
264
+ };
265
+ const response = await client.mutate({
266
+ mutation: gql `
267
+ mutation ($activityInstance: ActivityInstancePost!) {
268
+ postActivityInstance(activityInstance: $activityInstance) {
269
+ id
270
+ name
271
+ description
272
+ input
273
+ state
274
+ threadsMin
275
+ threadsMax
276
+ }
277
+ }
278
+ `,
279
+ variables: {
280
+ activityInstance
281
+ }
282
+ });
283
+ if (!response.errors) {
284
+ this.activityInstance = response.data.postActivityInstance;
285
+ notify({
286
+ message: i18next.t('text.info_x_successfully', {
287
+ x: `${i18next.t('label.activity-instance')} ${i18next.t('text.assign')}`
288
+ })
289
+ });
290
+ }
291
+ }
292
+ }
293
+ window.customElements.define('activity-starter-form', ActivityStarterForm);
294
+ //# sourceMappingURL=activity-starter-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-starter-form.js","sourceRoot":"","sources":["../../client/components/activity-starter-form.js"],"names":[],"mappings":"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","sourcesContent":["import '@material/mwc-button'\nimport '@operato/property-editor/ox-properties-dynamic-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify } from '@operato/layout'\nimport { ScrollbarStyles } from '@operato/styles'\n\nclass ActivityStarterForm extends localize(i18next)(LitElement) {\n static get properties() {\n return {\n activityId: String,\n activity: Object,\n activityInstance: Object\n }\n }\n\n static get styles() {\n return [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n content {\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: var(--padding-default);\n overflow: auto;\n }\n\n section {\n display: flex;\n flex-direction: column;\n }\n\n #description {\n height: 60px;\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 constructor() {\n super()\n\n this.activityInstance = {}\n }\n\n render() {\n const { model, thumbnail } = this.activity || {}\n\n const inputSpec = (model || [])\n .filter(item => item.inout === 'in' || item.inout === 'inout')\n .map(item => {\n return {\n ...item,\n label: item.name\n }\n })\n\n const { id, name, description, input, state, threadsMin = 0, threadsMax = 0 } = this.activityInstance || {}\n const draftable = !id\n const postable = id && state === 'draft'\n\n return html`\n <content>\n <section>\n <label for=\"name\">title</label>\n <input\n id=\"name\"\n .value=${name || this.activity?.name}\n @change=${e => (this.activityInstance.name = e.currentTarget.value)}\n />\n </section>\n\n <section>\n <label for=\"description\">description</label>\n <textarea\n id=\"description\"\n .value=${description || this.activity?.description}\n @change=${e => {\n this.activityInstance.description = e.currentTarget.value\n }}\n ></textarea>\n </section>\n\n <section>\n <label for=\"threads-min\">Threads Min</label>\n <input\n id=\"threadsMin\"\n type=\"number\"\n .value=${threadsMin || 0}\n @change=${e => (this.activityInstance.threadsMin = e.currentTarget.valueAsNumber)}\n ></input>\n\n <label for=\"threads-max\">Threads Max</label>\n <input\n id=\"threads-max\"\n type=\"number\"\n .value=${threadsMax || 0}\n @change=${e => (this.activityInstance.threadsMax = e.currentTarget.valueAsNumber)}\n ></input>\n </section>\n\n <section>\n <img src=${thumbnail} />\n </section>\n\n <label>Input</label>\n\n ${\n !model\n ? html``\n : html`\n <ox-properties-dynamic-view\n .props=${inputSpec}\n .value=${input}\n @change=${e => {\n /* TODO remove this comment, after solving the problem of sometimes not saving. */\n this.activityInstance.input = e.currentTarget.value\n console.log('activity-instance', this.activityInstance.input)\n }}\n ></ox-properties-dynamic-view>\n `\n }\n </content>\n\n <div class=\"button-container\">\n <mwc-button raised @click=${e => history.back()}>${i18next.t('button.close')}</mwc-button>\n ${\n draftable\n ? html`\n <mwc-button raised @click=${this.draftActivityInstance.bind(this)}\n >${i18next.t('button.draft')}</mwc-button\n >\n `\n : postable\n ? html`\n <mwc-button raised @click=${this.updateActivityInstance.bind(this)}\n >${i18next.t('button.save')}</mwc-button\n >\n <mwc-button raised @click=${this.postActivityInstance.bind(this)}\n >${i18next.t('button.post')}</mwc-button\n >\n `\n : html``\n }\n </div>\n `\n }\n\n firstUpdated() {\n this.fetchActivity(this.activityId)\n }\n\n async fetchActivity(id) {\n const response = await client.query({\n query: gql`\n query activity($id: String!) {\n activity(id: $id) {\n id\n name\n description\n state\n thumbnail\n model {\n name\n description\n active\n tag\n inout\n type\n unit\n options\n quantifier\n spec\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.activity = response.data.activity\n }\n\n async draftActivityInstance() {\n const { activityId } = this\n\n const activityInstance = {\n activityId,\n name: this.activity.name,\n description: this.activity.description,\n ...this.activityInstance\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($activityInstance: NewActivityInstance!) {\n draftActivityInstance(activityInstance: $activityInstance) {\n id\n name\n description\n input\n state\n threadsMin\n threadsMax\n }\n }\n `,\n variables: {\n activityInstance\n }\n })\n\n if (!response.errors) {\n this.activityInstance = response.data.draftActivityInstance\n notify({\n message: i18next.t('text.info_x_successfully', {\n x: `${i18next.t('label.activity-instance')} ${i18next.t('text.draft')}`\n })\n })\n }\n }\n\n async updateActivityInstance() {\n const { id, name, description, input, threadsMin = 0, threadsMax = 0 } = this.activityInstance\n\n const patch = {\n name: name || this.activity.name,\n description: description || this.activity.description,\n input,\n threadsMin,\n threadsMax\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($id: String!, $patch: ActivityInstancePatch!) {\n updateActivityInstance(id: $id, patch: $patch) {\n id\n name\n description\n input\n state\n threadsMin\n threadsMax\n }\n }\n `,\n variables: {\n id,\n patch\n }\n })\n\n if (!response.errors) {\n this.activityInstance = response.data.updateActivityInstance\n notify({\n message: i18next.t('text.info_x_successfully', {\n x: `${i18next.t('label.activity-instance')} ${i18next.t('text.draft')}`\n })\n })\n }\n }\n\n async postActivityInstance() {\n const { id, name, description, input, threadsMin = 0, threadsMax = 0 } = this.activityInstance\n\n const activityInstance = {\n id,\n name: name || this.activity.name,\n description: description || this.activity.description,\n threadsMin,\n threadsMax,\n input\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($activityInstance: ActivityInstancePost!) {\n postActivityInstance(activityInstance: $activityInstance) {\n id\n name\n description\n input\n state\n threadsMin\n threadsMax\n }\n }\n `,\n variables: {\n activityInstance\n }\n })\n\n if (!response.errors) {\n this.activityInstance = response.data.postActivityInstance\n notify({\n message: i18next.t('text.info_x_successfully', {\n x: `${i18next.t('label.activity-instance')} ${i18next.t('text.assign')}`\n })\n })\n }\n }\n}\n\nwindow.customElements.define('activity-starter-form', ActivityStarterForm)\n"]}
@@ -0,0 +1 @@
1
+ export * from './pages/activity/activity-page.js';
@@ -0,0 +1,2 @@
1
+ export * from './pages/activity/activity-page.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA","sourcesContent":["export * from './pages/activity/activity-page.js'\n"]}