@things-factory/dashboard 7.0.1-alpha.5 → 7.0.1-alpha.51

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 (50) hide show
  1. package/client/actions/{board-settings.js → board-settings.ts} +3 -2
  2. package/client/{bootstrap.js → bootstrap.ts} +2 -2
  3. package/client/{const.js → const.ts} +1 -1
  4. package/client/index.ts +1 -0
  5. package/client/pages/{dashboard.js → dashboard.ts} +25 -22
  6. package/client/tsconfig.json +11 -0
  7. package/client/viewparts/{dashboard-setting-let.js → dashboard-setting-let.ts} +104 -115
  8. package/dist-client/actions/board-settings.d.ts +3 -0
  9. package/dist-client/actions/board-settings.js +29 -0
  10. package/dist-client/actions/board-settings.js.map +1 -0
  11. package/dist-client/actions/index.d.ts +1 -0
  12. package/dist-client/actions/index.js +2 -0
  13. package/dist-client/actions/index.js.map +1 -0
  14. package/dist-client/bootstrap.d.ts +2 -0
  15. package/dist-client/bootstrap.js +31 -0
  16. package/dist-client/bootstrap.js.map +1 -0
  17. package/dist-client/const.d.ts +5 -0
  18. package/dist-client/const.js +6 -0
  19. package/dist-client/const.js.map +1 -0
  20. package/dist-client/index.d.ts +1 -0
  21. package/dist-client/index.js +2 -0
  22. package/dist-client/index.js.map +1 -0
  23. package/dist-client/pages/dashboard.d.ts +21 -0
  24. package/dist-client/pages/dashboard.js +97 -0
  25. package/dist-client/pages/dashboard.js.map +1 -0
  26. package/dist-client/reducers/board-settings.d.ts +2 -0
  27. package/dist-client/reducers/board-settings.js +14 -0
  28. package/dist-client/reducers/board-settings.js.map +1 -0
  29. package/dist-client/route.d.ts +1 -0
  30. package/dist-client/route.js +10 -0
  31. package/dist-client/route.js.map +1 -0
  32. package/dist-client/tsconfig.tsbuildinfo +1 -0
  33. package/dist-client/viewparts/dashboard-setting-let.d.ts +26 -0
  34. package/dist-client/viewparts/dashboard-setting-let.js +219 -0
  35. package/dist-client/viewparts/dashboard-setting-let.js.map +1 -0
  36. package/dist-server/index.js +0 -1
  37. package/dist-server/index.js.map +1 -1
  38. package/dist-server/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +14 -12
  40. package/server/index.ts +0 -1
  41. package/server/tsconfig.json +10 -0
  42. package/things-factory.config.js +2 -2
  43. package/client/index.js +0 -1
  44. package/dist-server/migrations/index.js +0 -12
  45. package/dist-server/migrations/index.js.map +0 -1
  46. package/server/migrations/index.ts +0 -9
  47. package/tsconfig.json +0 -9
  48. /package/client/actions/{index.js → index.ts} +0 -0
  49. /package/client/reducers/{board-settings.js → board-settings.ts} +0 -0
  50. /package/client/{route.js → route.ts} +0 -0
@@ -0,0 +1,97 @@
1
+ import { __decorate } from "tslib";
2
+ import '@operato/board/ox-board-selector.js';
3
+ import gql from 'graphql-tag';
4
+ import { html } from 'lit';
5
+ import { customElement } from 'lit/decorators.js';
6
+ import { store } from '@operato/shell';
7
+ import { client } from '@operato/graphql';
8
+ import { i18next } from '@operato/i18n';
9
+ import { openPopup } from '@operato/layout';
10
+ import { isMobileDevice } from '@operato/utils';
11
+ import { BoardViewerPage } from '@things-factory/board-ui/dist-client';
12
+ import { fetchBoardSettings, UPDATE_BOARD_SETTINGS } from '../actions/board-settings';
13
+ import { DASHBOARD, DASHBOARD_MOBILE, FALLBACK_HOME_BOARD } from '../const';
14
+ const HOME_DESCRIPTION = 'home dashboard';
15
+ const FALLBACK_ORDER = isMobileDevice() ? [DASHBOARD_MOBILE, DASHBOARD, FALLBACK_HOME_BOARD] : [DASHBOARD, FALLBACK_HOME_BOARD];
16
+ const HOME_BOARD = isMobileDevice() ? DASHBOARD_MOBILE : DASHBOARD;
17
+ let DashboardHome = class DashboardHome extends BoardViewerPage {
18
+ stateChanged(state) {
19
+ super.stateChanged(state);
20
+ const dashboard = state === null || state === void 0 ? void 0 : state.boardSetting;
21
+ const homeBoard = dashboard && dashboard[FALLBACK_ORDER.find(name => dashboard[name]) || 'maybe notfound'];
22
+ this._boardId = homeBoard === null || homeBoard === void 0 ? void 0 : homeBoard.value;
23
+ }
24
+ get oopsNote() {
25
+ return {
26
+ icon: 'insert_chart',
27
+ title: 'HOME DASHBOARD',
28
+ description: 'There are no home dashboard setting. Pls, click to setting home dashboard.',
29
+ click: e => this.onClickDashboardSetting(HOME_BOARD, HOME_DESCRIPTION)
30
+ };
31
+ }
32
+ get context() {
33
+ return {
34
+ title: HOME_DESCRIPTION
35
+ };
36
+ }
37
+ onClickDashboardSetting(name, description) {
38
+ var popup = openPopup(html `
39
+ <ox-board-selector
40
+ .creatable=${true}
41
+ .value=${this._boardId}
42
+ @board-selected=${async (e) => {
43
+ var board = e.detail.board;
44
+ await this.saveSettings({
45
+ name,
46
+ value: board.id,
47
+ category: 'board',
48
+ description
49
+ });
50
+ var settings = await fetchBoardSettings([FALLBACK_HOME_BOARD, DASHBOARD, DASHBOARD_MOBILE]);
51
+ store.dispatch({
52
+ type: UPDATE_BOARD_SETTINGS,
53
+ settings: settings.reduce((settings, setting) => {
54
+ settings[setting.name] = setting;
55
+ return settings;
56
+ }, {})
57
+ });
58
+ popup.close();
59
+ this.requestUpdate();
60
+ }}
61
+ ></ox-board-selector>
62
+ `, {
63
+ backdrop: true,
64
+ size: 'large',
65
+ title: i18next.t('title.dashboard setting')
66
+ });
67
+ }
68
+ async saveSettings({ name, value, category, description }) {
69
+ if (!(name && value)) {
70
+ return;
71
+ }
72
+ await client.query({
73
+ query: gql `
74
+ mutation UpdateSetting($patch: SettingPatch!, $name: String!) {
75
+ updateSetting(patch: $patch, name: $name) {
76
+ name
77
+ value
78
+ }
79
+ }
80
+ `,
81
+ variables: {
82
+ name,
83
+ patch: {
84
+ name,
85
+ description,
86
+ category,
87
+ value
88
+ }
89
+ }
90
+ });
91
+ }
92
+ };
93
+ DashboardHome = __decorate([
94
+ customElement('dashboard-home')
95
+ ], DashboardHome);
96
+ export { DashboardHome };
97
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../client/pages/dashboard.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/board/ox-board-selector.js'\n\nimport gql from 'graphql-tag'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nimport { store } from '@operato/shell'\nimport { client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { isMobileDevice } from '@operato/utils'\nimport { BoardViewerPage } from '@things-factory/board-ui/dist-client'\n\nimport { fetchBoardSettings, UPDATE_BOARD_SETTINGS } from '../actions/board-settings'\nimport { DASHBOARD, DASHBOARD_MOBILE, FALLBACK_HOME_BOARD } from '../const'\n\nconst HOME_DESCRIPTION = 'home dashboard'\n\nconst FALLBACK_ORDER = isMobileDevice() ? [DASHBOARD_MOBILE, DASHBOARD, FALLBACK_HOME_BOARD] : [DASHBOARD, FALLBACK_HOME_BOARD]\nconst HOME_BOARD = isMobileDevice() ? DASHBOARD_MOBILE : DASHBOARD\n\n@customElement('dashboard-home')\nexport class DashboardHome extends BoardViewerPage {\n stateChanged(state) {\n super.stateChanged(state)\n\n const dashboard = state?.boardSetting\n const homeBoard = dashboard && dashboard[FALLBACK_ORDER.find(name => dashboard[name]) || 'maybe notfound']\n this._boardId = homeBoard?.value\n }\n\n get oopsNote() {\n return {\n icon: 'insert_chart',\n title: 'HOME DASHBOARD',\n description: 'There are no home dashboard setting. Pls, click to setting home dashboard.',\n click: e => this.onClickDashboardSetting(HOME_BOARD, HOME_DESCRIPTION)\n }\n }\n\n get context() {\n return {\n title: HOME_DESCRIPTION\n }\n }\n\n onClickDashboardSetting(name, description) {\n var popup = openPopup(\n html`\n <ox-board-selector\n .creatable=${true}\n .value=${this._boardId}\n @board-selected=${async e => {\n var board = e.detail.board\n\n await this.saveSettings({\n name,\n value: board.id,\n category: 'board',\n description\n })\n\n var settings = await fetchBoardSettings([FALLBACK_HOME_BOARD, DASHBOARD, DASHBOARD_MOBILE])\n store.dispatch({\n type: UPDATE_BOARD_SETTINGS,\n settings: settings.reduce((settings, setting) => {\n settings[setting.name] = setting\n return settings\n }, {})\n })\n\n popup.close()\n this.requestUpdate()\n }}\n ></ox-board-selector>\n `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.dashboard setting')\n }\n )\n }\n\n async saveSettings({ name, value, category, description }) {\n if (!(name && value)) {\n return\n }\n\n await client.query({\n query: gql`\n mutation UpdateSetting($patch: SettingPatch!, $name: String!) {\n updateSetting(patch: $patch, name: $name) {\n name\n value\n }\n }\n `,\n variables: {\n name,\n patch: {\n name,\n description,\n category,\n value\n }\n }\n })\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ declare const boardSetting: (state: {} | undefined, action: any) => any;
2
+ export default boardSetting;
@@ -0,0 +1,14 @@
1
+ import { UPDATE_BOARD_SETTINGS, CLEAR_BOARD_SETTINGS } from '../actions/board-settings';
2
+ const INITIAL_STATE = {};
3
+ const boardSetting = (state = INITIAL_STATE, action) => {
4
+ switch (action.type) {
5
+ case UPDATE_BOARD_SETTINGS:
6
+ return Object.assign(Object.assign({}, state), action.settings);
7
+ case CLEAR_BOARD_SETTINGS:
8
+ return {};
9
+ default:
10
+ return state;
11
+ }
12
+ };
13
+ export default boardSetting;
14
+ //# sourceMappingURL=board-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-settings.js","sourceRoot":"","sources":["../../client/reducers/board-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEvF,MAAM,aAAa,GAAG,EAAE,CAAA;AAExB,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,aAAa,EAAE,MAAM,EAAE,EAAE;IACrD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,qBAAqB;YACxB,uCACK,KAAK,GACL,MAAM,CAAC,QAAQ,EACnB;QAEH,KAAK,oBAAoB;YACvB,OAAO,EAAE,CAAA;QAEX;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAED,eAAe,YAAY,CAAA","sourcesContent":["import { UPDATE_BOARD_SETTINGS, CLEAR_BOARD_SETTINGS } from '../actions/board-settings'\n\nconst INITIAL_STATE = {}\n\nconst boardSetting = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case UPDATE_BOARD_SETTINGS:\n return {\n ...state,\n ...action.settings\n }\n\n case CLEAR_BOARD_SETTINGS:\n return {}\n\n default:\n return state\n }\n}\n\nexport default boardSetting\n"]}
@@ -0,0 +1 @@
1
+ export default function route(page: any): any;
@@ -0,0 +1,10 @@
1
+ export default function route(page) {
2
+ switch (page) {
3
+ case '':
4
+ return '/dashboard';
5
+ case 'dashboard':
6
+ import('./pages/dashboard');
7
+ return page;
8
+ }
9
+ }
10
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../client/route.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI;IAChC,QAAQ,IAAI,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,YAAY,CAAA;QAErB,KAAK,WAAW;YACd,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC3B,OAAO,IAAI,CAAA;KACd;AACH,CAAC","sourcesContent":["export default function route(page) {\n switch (page) {\n case '':\n return '/dashboard'\n\n case 'dashboard':\n import('./pages/dashboard')\n return page\n }\n}\n"]}