@dssp/supervision 0.0.2 → 0.0.5
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.
- package/client/pages/action-plan/action-plan-importer.ts +6 -8
- package/client/pages/action-plan/action-plan-list-page.ts +10 -25
- package/client/pages/check-item/check-item-importer.ts +6 -8
- package/client/pages/check-item/check-item-list-page.ts +10 -25
- package/client/pages/issue/issue-importer.ts +6 -8
- package/client/pages/issue/issue-list-page.ts +10 -25
- package/client/pages/project-report/project-report-importer.ts +6 -8
- package/client/pages/project-report/project-report-list-page.ts +10 -25
- package/client/pages/supervisor/supervisor-importer.ts +6 -8
- package/client/pages/supervisor/supervisor-list-page.ts +10 -25
- package/dist-client/pages/action-plan/action-plan-importer.d.ts +1 -0
- package/dist-client/pages/action-plan/action-plan-importer.js +3 -2
- package/dist-client/pages/action-plan/action-plan-importer.js.map +1 -1
- package/dist-client/pages/action-plan/action-plan-list-page.d.ts +1 -0
- package/dist-client/pages/action-plan/action-plan-list-page.js +8 -16
- package/dist-client/pages/action-plan/action-plan-list-page.js.map +1 -1
- package/dist-client/pages/check-item/check-item-importer.d.ts +1 -0
- package/dist-client/pages/check-item/check-item-importer.js +3 -2
- package/dist-client/pages/check-item/check-item-importer.js.map +1 -1
- package/dist-client/pages/check-item/check-item-list-page.d.ts +1 -0
- package/dist-client/pages/check-item/check-item-list-page.js +8 -16
- package/dist-client/pages/check-item/check-item-list-page.js.map +1 -1
- package/dist-client/pages/issue/issue-importer.d.ts +1 -0
- package/dist-client/pages/issue/issue-importer.js +3 -2
- package/dist-client/pages/issue/issue-importer.js.map +1 -1
- package/dist-client/pages/issue/issue-list-page.d.ts +1 -0
- package/dist-client/pages/issue/issue-list-page.js +8 -16
- package/dist-client/pages/issue/issue-list-page.js.map +1 -1
- package/dist-client/pages/project-report/project-report-importer.d.ts +1 -0
- package/dist-client/pages/project-report/project-report-importer.js +3 -2
- package/dist-client/pages/project-report/project-report-importer.js.map +1 -1
- package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -0
- package/dist-client/pages/project-report/project-report-list-page.js +8 -16
- package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
- package/dist-client/pages/supervisor/supervisor-importer.d.ts +1 -0
- package/dist-client/pages/supervisor/supervisor-importer.js +3 -2
- package/dist-client/pages/supervisor/supervisor-importer.js.map +1 -1
- package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -0
- package/dist-client/pages/supervisor/supervisor-list-page.js +8 -16
- package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/index.d.ts +0 -0
- package/dist-server/index.d.ts +3 -0
- package/dist-server/middlewares/index.d.ts +1 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/routes.d.ts +0 -0
- package/dist-server/service/action-plan/action-plan-mutation.d.ts +10 -0
- package/dist-server/service/action-plan/action-plan-query.d.ts +12 -0
- package/dist-server/service/action-plan/action-plan-type.d.ts +23 -0
- package/dist-server/service/action-plan/action-plan.d.ts +27 -0
- package/dist-server/service/action-plan/index.d.ts +6 -0
- package/dist-server/service/check-item/check-item-mutation.d.ts +10 -0
- package/dist-server/service/check-item/check-item-query.d.ts +12 -0
- package/dist-server/service/check-item/check-item-type.d.ts +23 -0
- package/dist-server/service/check-item/check-item.d.ts +28 -0
- package/dist-server/service/check-item/index.d.ts +6 -0
- package/dist-server/service/index.d.ts +10 -0
- package/dist-server/service/issue/index.d.ts +6 -0
- package/dist-server/service/issue/issue-mutation.d.ts +10 -0
- package/dist-server/service/issue/issue-query.d.ts +12 -0
- package/dist-server/service/issue/issue-type.d.ts +23 -0
- package/dist-server/service/issue/issue.d.ts +28 -0
- package/dist-server/service/project-report/index.d.ts +6 -0
- package/dist-server/service/project-report/project-report-mutation.d.ts +10 -0
- package/dist-server/service/project-report/project-report-query.d.ts +12 -0
- package/dist-server/service/project-report/project-report-type.d.ts +23 -0
- package/dist-server/service/project-report/project-report.d.ts +30 -0
- package/dist-server/service/project-report/project-report.js +1 -2
- package/dist-server/service/project-report/project-report.js.map +1 -1
- package/dist-server/service/supervisor/index.d.ts +6 -0
- package/dist-server/service/supervisor/supervisor-mutation.d.ts +10 -0
- package/dist-server/service/supervisor/supervisor-query.d.ts +12 -0
- package/dist-server/service/supervisor/supervisor-type.d.ts +23 -0
- package/dist-server/service/supervisor/supervisor.d.ts +30 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/button/elevated-button.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import gql from 'graphql-tag'
|
|
@@ -28,7 +29,7 @@ export class ActionPlanImporter extends LitElement {
|
|
|
28
29
|
padding: var(--padding-default);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
md-elevated-button {
|
|
32
33
|
margin-left: var(--margin-default);
|
|
33
34
|
}
|
|
34
35
|
`
|
|
@@ -65,15 +66,13 @@ export class ActionPlanImporter extends LitElement {
|
|
|
65
66
|
<ox-grist
|
|
66
67
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
|
67
68
|
.config=${this.columns}
|
|
68
|
-
.data=${
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
69
|
+
.data=${{
|
|
70
|
+
records: this.actionPlans
|
|
71
|
+
}}
|
|
73
72
|
></ox-grist>
|
|
74
73
|
|
|
75
74
|
<div class="button-container">
|
|
76
|
-
<
|
|
75
|
+
<md-elevated-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</md-elevated-button>
|
|
77
76
|
</div>
|
|
78
77
|
`
|
|
79
78
|
}
|
|
@@ -93,4 +92,3 @@ export class ActionPlanImporter extends LitElement {
|
|
|
93
92
|
this.dispatchEvent(new CustomEvent('imported'))
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
|
|
@@ -5,12 +6,7 @@ import { PageView, store } from '@operato/shell'
|
|
|
5
6
|
import { css, html } from 'lit'
|
|
6
7
|
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
7
8
|
import { ScopedElementsMixin } from '@open-wc/scoped-elements'
|
|
8
|
-
import {
|
|
9
|
-
ColumnConfig,
|
|
10
|
-
DataGrist,
|
|
11
|
-
FetchOption,
|
|
12
|
-
SortersControl
|
|
13
|
-
} from '@operato/data-grist'
|
|
9
|
+
import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
|
|
14
10
|
import { client } from '@operato/graphql'
|
|
15
11
|
import { i18next, localize } from '@operato/i18n'
|
|
16
12
|
import { notify, openPopup } from '@operato/layout'
|
|
@@ -24,7 +20,6 @@ import { ActionPlanImporter } from './action-plan-importer'
|
|
|
24
20
|
|
|
25
21
|
@customElement('action-plan-list-page')
|
|
26
22
|
export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
27
|
-
|
|
28
23
|
static styles = [
|
|
29
24
|
ScrollbarStyles,
|
|
30
25
|
CommonGristStyles,
|
|
@@ -93,11 +88,7 @@ export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
93
88
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
94
89
|
|
|
95
90
|
return html`
|
|
96
|
-
<ox-grist
|
|
97
|
-
.mode=${mode}
|
|
98
|
-
.config=${this.gristConfig}
|
|
99
|
-
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
100
|
-
>
|
|
91
|
+
<ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
|
|
101
92
|
<div slot="headroom">
|
|
102
93
|
<div id="filters">
|
|
103
94
|
<ox-filters-form autofocus></ox-filters-form>
|
|
@@ -105,7 +96,7 @@ export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
105
96
|
|
|
106
97
|
<div id="sorters">
|
|
107
98
|
Sort
|
|
108
|
-
<
|
|
99
|
+
<md-icon
|
|
109
100
|
@click=${e => {
|
|
110
101
|
const target = e.currentTarget
|
|
111
102
|
this.sortersControl.open({
|
|
@@ -113,7 +104,7 @@ export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
113
104
|
top: target.offsetTop + target.offsetHeight
|
|
114
105
|
})
|
|
115
106
|
}}
|
|
116
|
-
>expand_more</
|
|
107
|
+
>expand_more</md-icon
|
|
117
108
|
>
|
|
118
109
|
<ox-popup id="sorter-control">
|
|
119
110
|
<ox-sorters-control> </ox-sorters-control>
|
|
@@ -121,9 +112,9 @@ export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
121
112
|
</div>
|
|
122
113
|
|
|
123
114
|
<div id="modes">
|
|
124
|
-
<
|
|
125
|
-
<
|
|
126
|
-
<
|
|
115
|
+
<md-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
|
|
116
|
+
<md-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
|
|
117
|
+
<md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
|
127
118
|
</div>
|
|
128
119
|
</div>
|
|
129
120
|
</ox-grist>
|
|
@@ -312,12 +303,7 @@ export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
312
303
|
|
|
313
304
|
private async exportHandler() {
|
|
314
305
|
const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
|
|
315
|
-
const targetFieldSet = new Set([
|
|
316
|
-
'id',
|
|
317
|
-
'name',
|
|
318
|
-
'description',
|
|
319
|
-
'active'
|
|
320
|
-
])
|
|
306
|
+
const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
|
|
321
307
|
|
|
322
308
|
return exportTargets.map(actionPlan => {
|
|
323
309
|
let tempObj = {}
|
|
@@ -346,10 +332,9 @@ export class ActionPlanListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
346
332
|
title: i18next.t('title.import action-plan')
|
|
347
333
|
}
|
|
348
334
|
)
|
|
349
|
-
|
|
335
|
+
|
|
350
336
|
popup.onclosed = () => {
|
|
351
337
|
this.grist.fetch()
|
|
352
338
|
}
|
|
353
339
|
}
|
|
354
340
|
}
|
|
355
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/button/elevated-button.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import gql from 'graphql-tag'
|
|
@@ -28,7 +29,7 @@ export class CheckItemImporter extends LitElement {
|
|
|
28
29
|
padding: var(--padding-default);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
md-elevated-button {
|
|
32
33
|
margin-left: var(--margin-default);
|
|
33
34
|
}
|
|
34
35
|
`
|
|
@@ -65,15 +66,13 @@ export class CheckItemImporter extends LitElement {
|
|
|
65
66
|
<ox-grist
|
|
66
67
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
|
67
68
|
.config=${this.columns}
|
|
68
|
-
.data=${
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
69
|
+
.data=${{
|
|
70
|
+
records: this.checkItems
|
|
71
|
+
}}
|
|
73
72
|
></ox-grist>
|
|
74
73
|
|
|
75
74
|
<div class="button-container">
|
|
76
|
-
<
|
|
75
|
+
<md-elevated-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</md-elevated-button>
|
|
77
76
|
</div>
|
|
78
77
|
`
|
|
79
78
|
}
|
|
@@ -93,4 +92,3 @@ export class CheckItemImporter extends LitElement {
|
|
|
93
92
|
this.dispatchEvent(new CustomEvent('imported'))
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
|
|
@@ -5,12 +6,7 @@ import { PageView, store } from '@operato/shell'
|
|
|
5
6
|
import { css, html } from 'lit'
|
|
6
7
|
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
7
8
|
import { ScopedElementsMixin } from '@open-wc/scoped-elements'
|
|
8
|
-
import {
|
|
9
|
-
ColumnConfig,
|
|
10
|
-
DataGrist,
|
|
11
|
-
FetchOption,
|
|
12
|
-
SortersControl
|
|
13
|
-
} from '@operato/data-grist'
|
|
9
|
+
import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
|
|
14
10
|
import { client } from '@operato/graphql'
|
|
15
11
|
import { i18next, localize } from '@operato/i18n'
|
|
16
12
|
import { notify, openPopup } from '@operato/layout'
|
|
@@ -24,7 +20,6 @@ import { CheckItemImporter } from './check-item-importer'
|
|
|
24
20
|
|
|
25
21
|
@customElement('check-item-list-page')
|
|
26
22
|
export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
27
|
-
|
|
28
23
|
static styles = [
|
|
29
24
|
ScrollbarStyles,
|
|
30
25
|
CommonGristStyles,
|
|
@@ -93,11 +88,7 @@ export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedEl
|
|
|
93
88
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
94
89
|
|
|
95
90
|
return html`
|
|
96
|
-
<ox-grist
|
|
97
|
-
.mode=${mode}
|
|
98
|
-
.config=${this.gristConfig}
|
|
99
|
-
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
100
|
-
>
|
|
91
|
+
<ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
|
|
101
92
|
<div slot="headroom">
|
|
102
93
|
<div id="filters">
|
|
103
94
|
<ox-filters-form autofocus></ox-filters-form>
|
|
@@ -105,7 +96,7 @@ export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedEl
|
|
|
105
96
|
|
|
106
97
|
<div id="sorters">
|
|
107
98
|
Sort
|
|
108
|
-
<
|
|
99
|
+
<md-icon
|
|
109
100
|
@click=${e => {
|
|
110
101
|
const target = e.currentTarget
|
|
111
102
|
this.sortersControl.open({
|
|
@@ -113,7 +104,7 @@ export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedEl
|
|
|
113
104
|
top: target.offsetTop + target.offsetHeight
|
|
114
105
|
})
|
|
115
106
|
}}
|
|
116
|
-
>expand_more</
|
|
107
|
+
>expand_more</md-icon
|
|
117
108
|
>
|
|
118
109
|
<ox-popup id="sorter-control">
|
|
119
110
|
<ox-sorters-control> </ox-sorters-control>
|
|
@@ -121,9 +112,9 @@ export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedEl
|
|
|
121
112
|
</div>
|
|
122
113
|
|
|
123
114
|
<div id="modes">
|
|
124
|
-
<
|
|
125
|
-
<
|
|
126
|
-
<
|
|
115
|
+
<md-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
|
|
116
|
+
<md-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
|
|
117
|
+
<md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
|
127
118
|
</div>
|
|
128
119
|
</div>
|
|
129
120
|
</ox-grist>
|
|
@@ -312,12 +303,7 @@ export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedEl
|
|
|
312
303
|
|
|
313
304
|
private async exportHandler() {
|
|
314
305
|
const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
|
|
315
|
-
const targetFieldSet = new Set([
|
|
316
|
-
'id',
|
|
317
|
-
'name',
|
|
318
|
-
'description',
|
|
319
|
-
'active'
|
|
320
|
-
])
|
|
306
|
+
const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
|
|
321
307
|
|
|
322
308
|
return exportTargets.map(checkItem => {
|
|
323
309
|
let tempObj = {}
|
|
@@ -346,10 +332,9 @@ export class CheckItemListPage extends connect(store)(localize(i18next)(ScopedEl
|
|
|
346
332
|
title: i18next.t('title.import check-item')
|
|
347
333
|
}
|
|
348
334
|
)
|
|
349
|
-
|
|
335
|
+
|
|
350
336
|
popup.onclosed = () => {
|
|
351
337
|
this.grist.fetch()
|
|
352
338
|
}
|
|
353
339
|
}
|
|
354
340
|
}
|
|
355
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/button/elevated-button.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import gql from 'graphql-tag'
|
|
@@ -28,7 +29,7 @@ export class IssueImporter extends LitElement {
|
|
|
28
29
|
padding: var(--padding-default);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
md-elevated-button {
|
|
32
33
|
margin-left: var(--margin-default);
|
|
33
34
|
}
|
|
34
35
|
`
|
|
@@ -65,15 +66,13 @@ export class IssueImporter extends LitElement {
|
|
|
65
66
|
<ox-grist
|
|
66
67
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
|
67
68
|
.config=${this.columns}
|
|
68
|
-
.data=${
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
69
|
+
.data=${{
|
|
70
|
+
records: this.issues
|
|
71
|
+
}}
|
|
73
72
|
></ox-grist>
|
|
74
73
|
|
|
75
74
|
<div class="button-container">
|
|
76
|
-
<
|
|
75
|
+
<md-elevated-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</md-elevated-button>
|
|
77
76
|
</div>
|
|
78
77
|
`
|
|
79
78
|
}
|
|
@@ -93,4 +92,3 @@ export class IssueImporter extends LitElement {
|
|
|
93
92
|
this.dispatchEvent(new CustomEvent('imported'))
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
|
|
@@ -5,12 +6,7 @@ import { PageView, store } from '@operato/shell'
|
|
|
5
6
|
import { css, html } from 'lit'
|
|
6
7
|
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
7
8
|
import { ScopedElementsMixin } from '@open-wc/scoped-elements'
|
|
8
|
-
import {
|
|
9
|
-
ColumnConfig,
|
|
10
|
-
DataGrist,
|
|
11
|
-
FetchOption,
|
|
12
|
-
SortersControl
|
|
13
|
-
} from '@operato/data-grist'
|
|
9
|
+
import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
|
|
14
10
|
import { client } from '@operato/graphql'
|
|
15
11
|
import { i18next, localize } from '@operato/i18n'
|
|
16
12
|
import { notify, openPopup } from '@operato/layout'
|
|
@@ -24,7 +20,6 @@ import { IssueImporter } from './issue-importer'
|
|
|
24
20
|
|
|
25
21
|
@customElement('issue-list-page')
|
|
26
22
|
export class IssueListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
27
|
-
|
|
28
23
|
static styles = [
|
|
29
24
|
ScrollbarStyles,
|
|
30
25
|
CommonGristStyles,
|
|
@@ -93,11 +88,7 @@ export class IssueListPage extends connect(store)(localize(i18next)(ScopedElemen
|
|
|
93
88
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
94
89
|
|
|
95
90
|
return html`
|
|
96
|
-
<ox-grist
|
|
97
|
-
.mode=${mode}
|
|
98
|
-
.config=${this.gristConfig}
|
|
99
|
-
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
100
|
-
>
|
|
91
|
+
<ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
|
|
101
92
|
<div slot="headroom">
|
|
102
93
|
<div id="filters">
|
|
103
94
|
<ox-filters-form autofocus></ox-filters-form>
|
|
@@ -105,7 +96,7 @@ export class IssueListPage extends connect(store)(localize(i18next)(ScopedElemen
|
|
|
105
96
|
|
|
106
97
|
<div id="sorters">
|
|
107
98
|
Sort
|
|
108
|
-
<
|
|
99
|
+
<md-icon
|
|
109
100
|
@click=${e => {
|
|
110
101
|
const target = e.currentTarget
|
|
111
102
|
this.sortersControl.open({
|
|
@@ -113,7 +104,7 @@ export class IssueListPage extends connect(store)(localize(i18next)(ScopedElemen
|
|
|
113
104
|
top: target.offsetTop + target.offsetHeight
|
|
114
105
|
})
|
|
115
106
|
}}
|
|
116
|
-
>expand_more</
|
|
107
|
+
>expand_more</md-icon
|
|
117
108
|
>
|
|
118
109
|
<ox-popup id="sorter-control">
|
|
119
110
|
<ox-sorters-control> </ox-sorters-control>
|
|
@@ -121,9 +112,9 @@ export class IssueListPage extends connect(store)(localize(i18next)(ScopedElemen
|
|
|
121
112
|
</div>
|
|
122
113
|
|
|
123
114
|
<div id="modes">
|
|
124
|
-
<
|
|
125
|
-
<
|
|
126
|
-
<
|
|
115
|
+
<md-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
|
|
116
|
+
<md-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
|
|
117
|
+
<md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
|
127
118
|
</div>
|
|
128
119
|
</div>
|
|
129
120
|
</ox-grist>
|
|
@@ -312,12 +303,7 @@ export class IssueListPage extends connect(store)(localize(i18next)(ScopedElemen
|
|
|
312
303
|
|
|
313
304
|
private async exportHandler() {
|
|
314
305
|
const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
|
|
315
|
-
const targetFieldSet = new Set([
|
|
316
|
-
'id',
|
|
317
|
-
'name',
|
|
318
|
-
'description',
|
|
319
|
-
'active'
|
|
320
|
-
])
|
|
306
|
+
const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
|
|
321
307
|
|
|
322
308
|
return exportTargets.map(issue => {
|
|
323
309
|
let tempObj = {}
|
|
@@ -346,10 +332,9 @@ export class IssueListPage extends connect(store)(localize(i18next)(ScopedElemen
|
|
|
346
332
|
title: i18next.t('title.import issue')
|
|
347
333
|
}
|
|
348
334
|
)
|
|
349
|
-
|
|
335
|
+
|
|
350
336
|
popup.onclosed = () => {
|
|
351
337
|
this.grist.fetch()
|
|
352
338
|
}
|
|
353
339
|
}
|
|
354
340
|
}
|
|
355
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/button/elevated-button.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import gql from 'graphql-tag'
|
|
@@ -28,7 +29,7 @@ export class ProjectReportImporter extends LitElement {
|
|
|
28
29
|
padding: var(--padding-default);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
md-elevated-button {
|
|
32
33
|
margin-left: var(--margin-default);
|
|
33
34
|
}
|
|
34
35
|
`
|
|
@@ -65,15 +66,13 @@ export class ProjectReportImporter extends LitElement {
|
|
|
65
66
|
<ox-grist
|
|
66
67
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
|
67
68
|
.config=${this.columns}
|
|
68
|
-
.data=${
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
69
|
+
.data=${{
|
|
70
|
+
records: this.projectReports
|
|
71
|
+
}}
|
|
73
72
|
></ox-grist>
|
|
74
73
|
|
|
75
74
|
<div class="button-container">
|
|
76
|
-
<
|
|
75
|
+
<md-elevated-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</md-elevated-button>
|
|
77
76
|
</div>
|
|
78
77
|
`
|
|
79
78
|
}
|
|
@@ -93,4 +92,3 @@ export class ProjectReportImporter extends LitElement {
|
|
|
93
92
|
this.dispatchEvent(new CustomEvent('imported'))
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
|
|
@@ -5,12 +6,7 @@ import { PageView, store } from '@operato/shell'
|
|
|
5
6
|
import { css, html } from 'lit'
|
|
6
7
|
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
7
8
|
import { ScopedElementsMixin } from '@open-wc/scoped-elements'
|
|
8
|
-
import {
|
|
9
|
-
ColumnConfig,
|
|
10
|
-
DataGrist,
|
|
11
|
-
FetchOption,
|
|
12
|
-
SortersControl
|
|
13
|
-
} from '@operato/data-grist'
|
|
9
|
+
import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
|
|
14
10
|
import { client } from '@operato/graphql'
|
|
15
11
|
import { i18next, localize } from '@operato/i18n'
|
|
16
12
|
import { notify, openPopup } from '@operato/layout'
|
|
@@ -24,7 +20,6 @@ import { ProjectReportImporter } from './project-report-importer'
|
|
|
24
20
|
|
|
25
21
|
@customElement('project-report-list-page')
|
|
26
22
|
export class ProjectReportListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
27
|
-
|
|
28
23
|
static styles = [
|
|
29
24
|
ScrollbarStyles,
|
|
30
25
|
CommonGristStyles,
|
|
@@ -93,11 +88,7 @@ export class ProjectReportListPage extends connect(store)(localize(i18next)(Scop
|
|
|
93
88
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
94
89
|
|
|
95
90
|
return html`
|
|
96
|
-
<ox-grist
|
|
97
|
-
.mode=${mode}
|
|
98
|
-
.config=${this.gristConfig}
|
|
99
|
-
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
100
|
-
>
|
|
91
|
+
<ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
|
|
101
92
|
<div slot="headroom">
|
|
102
93
|
<div id="filters">
|
|
103
94
|
<ox-filters-form autofocus></ox-filters-form>
|
|
@@ -105,7 +96,7 @@ export class ProjectReportListPage extends connect(store)(localize(i18next)(Scop
|
|
|
105
96
|
|
|
106
97
|
<div id="sorters">
|
|
107
98
|
Sort
|
|
108
|
-
<
|
|
99
|
+
<md-icon
|
|
109
100
|
@click=${e => {
|
|
110
101
|
const target = e.currentTarget
|
|
111
102
|
this.sortersControl.open({
|
|
@@ -113,7 +104,7 @@ export class ProjectReportListPage extends connect(store)(localize(i18next)(Scop
|
|
|
113
104
|
top: target.offsetTop + target.offsetHeight
|
|
114
105
|
})
|
|
115
106
|
}}
|
|
116
|
-
>expand_more</
|
|
107
|
+
>expand_more</md-icon
|
|
117
108
|
>
|
|
118
109
|
<ox-popup id="sorter-control">
|
|
119
110
|
<ox-sorters-control> </ox-sorters-control>
|
|
@@ -121,9 +112,9 @@ export class ProjectReportListPage extends connect(store)(localize(i18next)(Scop
|
|
|
121
112
|
</div>
|
|
122
113
|
|
|
123
114
|
<div id="modes">
|
|
124
|
-
<
|
|
125
|
-
<
|
|
126
|
-
<
|
|
115
|
+
<md-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
|
|
116
|
+
<md-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
|
|
117
|
+
<md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
|
127
118
|
</div>
|
|
128
119
|
</div>
|
|
129
120
|
</ox-grist>
|
|
@@ -312,12 +303,7 @@ export class ProjectReportListPage extends connect(store)(localize(i18next)(Scop
|
|
|
312
303
|
|
|
313
304
|
private async exportHandler() {
|
|
314
305
|
const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
|
|
315
|
-
const targetFieldSet = new Set([
|
|
316
|
-
'id',
|
|
317
|
-
'name',
|
|
318
|
-
'description',
|
|
319
|
-
'active'
|
|
320
|
-
])
|
|
306
|
+
const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
|
|
321
307
|
|
|
322
308
|
return exportTargets.map(projectReport => {
|
|
323
309
|
let tempObj = {}
|
|
@@ -346,10 +332,9 @@ export class ProjectReportListPage extends connect(store)(localize(i18next)(Scop
|
|
|
346
332
|
title: i18next.t('title.import project-report')
|
|
347
333
|
}
|
|
348
334
|
)
|
|
349
|
-
|
|
335
|
+
|
|
350
336
|
popup.onclosed = () => {
|
|
351
337
|
this.grist.fetch()
|
|
352
338
|
}
|
|
353
339
|
}
|
|
354
340
|
}
|
|
355
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/button/elevated-button.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import gql from 'graphql-tag'
|
|
@@ -28,7 +29,7 @@ export class SupervisorImporter extends LitElement {
|
|
|
28
29
|
padding: var(--padding-default);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
md-elevated-button {
|
|
32
33
|
margin-left: var(--margin-default);
|
|
33
34
|
}
|
|
34
35
|
`
|
|
@@ -65,15 +66,13 @@ export class SupervisorImporter extends LitElement {
|
|
|
65
66
|
<ox-grist
|
|
66
67
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
|
67
68
|
.config=${this.columns}
|
|
68
|
-
.data=${
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}
|
|
69
|
+
.data=${{
|
|
70
|
+
records: this.supervisors
|
|
71
|
+
}}
|
|
73
72
|
></ox-grist>
|
|
74
73
|
|
|
75
74
|
<div class="button-container">
|
|
76
|
-
<
|
|
75
|
+
<md-elevated-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</md-elevated-button>
|
|
77
76
|
</div>
|
|
78
77
|
`
|
|
79
78
|
}
|
|
@@ -93,4 +92,3 @@ export class SupervisorImporter extends LitElement {
|
|
|
93
92
|
this.dispatchEvent(new CustomEvent('imported'))
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@material/web/icon/icon.js'
|
|
1
2
|
import '@operato/data-grist'
|
|
2
3
|
|
|
3
4
|
import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
|
|
@@ -5,12 +6,7 @@ import { PageView, store } from '@operato/shell'
|
|
|
5
6
|
import { css, html } from 'lit'
|
|
6
7
|
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
7
8
|
import { ScopedElementsMixin } from '@open-wc/scoped-elements'
|
|
8
|
-
import {
|
|
9
|
-
ColumnConfig,
|
|
10
|
-
DataGrist,
|
|
11
|
-
FetchOption,
|
|
12
|
-
SortersControl
|
|
13
|
-
} from '@operato/data-grist'
|
|
9
|
+
import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
|
|
14
10
|
import { client } from '@operato/graphql'
|
|
15
11
|
import { i18next, localize } from '@operato/i18n'
|
|
16
12
|
import { notify, openPopup } from '@operato/layout'
|
|
@@ -24,7 +20,6 @@ import { SupervisorImporter } from './supervisor-importer'
|
|
|
24
20
|
|
|
25
21
|
@customElement('supervisor-list-page')
|
|
26
22
|
export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
27
|
-
|
|
28
23
|
static styles = [
|
|
29
24
|
ScrollbarStyles,
|
|
30
25
|
CommonGristStyles,
|
|
@@ -93,11 +88,7 @@ export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
93
88
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
94
89
|
|
|
95
90
|
return html`
|
|
96
|
-
<ox-grist
|
|
97
|
-
.mode=${mode}
|
|
98
|
-
.config=${this.gristConfig}
|
|
99
|
-
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
100
|
-
>
|
|
91
|
+
<ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
|
|
101
92
|
<div slot="headroom">
|
|
102
93
|
<div id="filters">
|
|
103
94
|
<ox-filters-form autofocus></ox-filters-form>
|
|
@@ -105,7 +96,7 @@ export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
105
96
|
|
|
106
97
|
<div id="sorters">
|
|
107
98
|
Sort
|
|
108
|
-
<
|
|
99
|
+
<md-icon
|
|
109
100
|
@click=${e => {
|
|
110
101
|
const target = e.currentTarget
|
|
111
102
|
this.sortersControl.open({
|
|
@@ -113,7 +104,7 @@ export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
113
104
|
top: target.offsetTop + target.offsetHeight
|
|
114
105
|
})
|
|
115
106
|
}}
|
|
116
|
-
>expand_more</
|
|
107
|
+
>expand_more</md-icon
|
|
117
108
|
>
|
|
118
109
|
<ox-popup id="sorter-control">
|
|
119
110
|
<ox-sorters-control> </ox-sorters-control>
|
|
@@ -121,9 +112,9 @@ export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
121
112
|
</div>
|
|
122
113
|
|
|
123
114
|
<div id="modes">
|
|
124
|
-
<
|
|
125
|
-
<
|
|
126
|
-
<
|
|
115
|
+
<md-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
|
|
116
|
+
<md-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
|
|
117
|
+
<md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
|
127
118
|
</div>
|
|
128
119
|
</div>
|
|
129
120
|
</ox-grist>
|
|
@@ -312,12 +303,7 @@ export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
312
303
|
|
|
313
304
|
private async exportHandler() {
|
|
314
305
|
const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
|
|
315
|
-
const targetFieldSet = new Set([
|
|
316
|
-
'id',
|
|
317
|
-
'name',
|
|
318
|
-
'description',
|
|
319
|
-
'active'
|
|
320
|
-
])
|
|
306
|
+
const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
|
|
321
307
|
|
|
322
308
|
return exportTargets.map(supervisor => {
|
|
323
309
|
let tempObj = {}
|
|
@@ -346,10 +332,9 @@ export class SupervisorListPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
346
332
|
title: i18next.t('title.import supervisor')
|
|
347
333
|
}
|
|
348
334
|
)
|
|
349
|
-
|
|
335
|
+
|
|
350
336
|
popup.onclosed = () => {
|
|
351
337
|
this.grist.fetch()
|
|
352
338
|
}
|
|
353
339
|
}
|
|
354
340
|
}
|
|
355
|
-
|