@things-factory/operato-board 6.0.0-alpha.8 → 6.0.0-alpha.9

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/route.js CHANGED
@@ -42,13 +42,5 @@ export default function route(page) {
42
42
  case 'scenario-list':
43
43
  import('./pages/scenario-list-page')
44
44
  return page
45
-
46
- case 'headroom-test':
47
- import('./pages/headroom-test-page')
48
- return page
49
-
50
- case 'sticky-test':
51
- import('./pages/sticky-test-page')
52
- return page
53
45
  }
54
46
  }
@@ -1,10 +1,12 @@
1
1
  {
2
- "License Type": "Evaluation",
3
- "Purchase Date": "2022.07.22",
4
- "Expiration Date": "2022.10.22",
5
- "Host Address": "UNLIMITED",
6
- "Max Target Count": 0,
7
- "Max Domain Count": 0,
8
- "Permissions For Board Usage": "Viewer",
9
- "Key": "5eyJMaWNlbnNlIFR5cGUiOiJFdmFsdWF0aW9uIiwiUHVyY2hhc2UgRGF0ZSI6IjIwMjIuMDcuMjIiLCJFeHBpcmF0aW9uIERhdGUiOiIyMDIyLjEwLjIyIiwiSG9zdCBBZGRyZXNzIjoiVU5MSU1JVEVEIiwiTWF4IFRhcmdldCBDb3VudCI6MCwiTWF4IERvbWFpbiBDb3VudCI6MCwiUGVybWlzc2lvbnMgRm9yIEJvYXJkIFVzYWdlIjoiVmlld2VyIiwiS2V5IjoiQXhncUhBNDNIZ3NBUUJvTEt5TWRGUWthRFRzWkNDb2pDMDBtRWdJcElqRVRFalpWSXdnVk94TVpIaEFXRWdRSEFRUVRCaUlpS1JBU0Roa0lId2tyRGlKS0l4UVZGZ1VVSndFbVNTQWVHQmdER1RJSERFMG1NUUVwTHhRckpCMUlDQm9OT3hrSUt4QWlKQ01ZRmp3akZpZ0JKbGtqQ0JVN0ZSbzdFUXNqS2g4SUdSWVlHaEVoV2lNSkRUc1NERDhjSERVN0Z3d1hFaHdyQUFoSkdBb2NCaDhiSWdFTVRRZ0xBaFVtSFJJMkdWVUlIaGtJR3g0REFCczNKaTBaRnhZVkVoSXBVQW9JSUJZR0xoNE1DeU1qS3hVVkR3Z2ZJaGxaQ2dvS1RBVXZDQTBOVGg4R0VEOHZHQ3NrSlZZVENSZzlIeHNlRVJZM0NBc1pQQWNJSGdRRFRBZ3ZERXNmRFVRcyJ963448"
10
- }
2
+ "Product": "Operato Board",
3
+ "License Type": "Evaluation",
4
+ "Purchase Date": "2022.10.18",
5
+ "Expiration Date": "2023.01.18",
6
+ "Host Address": "UNLIMITED",
7
+ "Max Target Count": 0,
8
+ "Max Domain Count": 0,
9
+ "Permissions For Board Usage": "Viewer",
10
+ "Permissions For Tailor Tool": "",
11
+ "Key": "5eyJQcm9kdWN0IjoiT3BlcmF0byBCb2FyZCIsIkxpY2Vuc2UgVHlwZSI6IkV2YWx1YXRpb24iLCJQdXJjaGFzZSBEYXRlIjoiMjAyMi4xMC4xOCIsIkV4cGlyYXRpb24gRGF0ZSI6IjIwMjMuMDEuMTgiLCJIb3N0IEFkZHJlc3MiOiJVTkxJTUlURUQiLCJNYXggVGFyZ2V0IENvdW50IjowLCJNYXggRG9tYWluIENvdW50IjowLCJQZXJtaXNzaW9ucyBGb3IgQm9hcmQgVXNhZ2UiOiJWaWV3ZXIiLCJQZXJtaXNzaW9ucyBGb3IgVGFpbG9yIFRvb2wiOiIiLCJLZXkiOiJBeGdxR0F4Tk13b0NLUm94S3dFQVNSZ3VJRDRGREM0NURWa3FIZ0FFSWhnYUppWlRJd29XUWc4dkhnd01FaGNHREJvRUZob1dKaFlqQ2d3RUR3b0VPQlk0R2c4QUJEUUlLQ1lsTVFnSkdEd0hHaTRSRlRNcUhBa3FGZ3NyQVFCSkh3a2hTeHNJUUE4aUl6Z1hFeFVmRWlzQ0dSUUpHZ3BMRHdraUJ3MFNPQVlRR1NJeEdoWW1GaU1KR1VrYkNTY01JaVFuRkJVbUFRZ29KaVVwQ2k0VUFoOGNMZ0lWS0NJTEFRVWJDQ1VBSlRZWUNoWWNGQXdJRkIwMUd3Z1dGUjRUR3hFSVJ4WWFIRXNPTHg0NUppVWVGUUlwTXpFckFRQlhJQjRZSUE4SkRRSWRKek1UQ1NrRUZDc2tJVllJQ2kwQ0h3a0ZEaU1qSWhBSUtoNFRFeEVoV2dzS0tVY0ZHRElpRFJNakJoRS9Md2NSQkI1SEZna1VPZzR2SHdBZ1NTSUtBU2tTTGhvUkpra2dIaGdqRGdrcUN3NDRIaGtCS1M4VUVSQXRKd291R1RrU0dpNEhEU2N6R0JrWUZoVVNOd2hKSFFnWk93SVFOeXc9In0=81098"
12
+ }
@@ -1,10 +1,12 @@
1
1
  {
2
+ "Product": "Operato Board",
2
3
  "License Type": "Evaluation",
3
- "Purchase Date": "2022.07.22",
4
- "Expiration Date": "2022.10.22",
4
+ "Purchase Date": "2022.10.18",
5
+ "Expiration Date": "2023.01.18",
5
6
  "Host Address": "UNLIMITED",
6
7
  "Max Target Count": 0,
7
8
  "Max Domain Count": 0,
8
9
  "Permissions For Board Usage": "Viewer, Modeller",
9
- "Key": "5eyJMaWNlbnNlIFR5cGUiOiJFdmFsdWF0aW9uIiwiUHVyY2hhc2UgRGF0ZSI6IjIwMjIuMDcuMjIiLCJFeHBpcmF0aW9uIERhdGUiOiIyMDIyLjEwLjIyIiwiSG9zdCBBZGRyZXNzIjoiVU5MSU1JVEVEIiwiTWF4IFRhcmdldCBDb3VudCI6MCwiTWF4IERvbWFpbiBDb3VudCI6MCwiUGVybWlzc2lvbnMgRm9yIEJvYXJkIFVzYWdlIjoiVmlld2VyLCBNb2RlbGxlciIsIktleSI6IkF4Z3FIQTQzSGdzQVFCb0xLeU1kRlFrYURUc1pDQ29qQzAwbUVnSXBJakVURWpaVkl3Z1ZPeE1aSGhBV0VnUUhBUVFUQmlJaUtSQVNEaGtJSHdrckRpSktJeFFWRmdVVUp3RW1TU0FlR0JnREdUSUhERTBtTVFFcEx4UXJKQjFJQ0JvTk94a0lLeEFpSkNNWUZqd2pGaWdCSmxrakNCVTdGUm83RVFzaktoOElHUllZR2hFaFdpTUpEVHNTREQ4Y0hEVTdGd3dYRWh3ckFBaEpHQW9jQmg4YklnRU1UUWdMQWhVbUhSSTJHVlVJSGhrSUd4NERBQnMzSmkwWkZ4WVZFaElwVUFvSUlCWUdMaDRNQ3lNakt4VVZEd2dmSWhsWkNnb0tUQVV2Q0EwTlRoOEdFRDh2R0Nza0pWWVRDUmc5SHhzZUVSWTNDQXNaUEFjSUhnUURUQWd2REVzY0hqSWJEUklhQ3dBWkVBc1JBQ1VaIn0=67424"
10
- }
10
+ "Permissions For Tailor Tool": "",
11
+ "Key": "5eyJQcm9kdWN0IjoiT3BlcmF0byBCb2FyZCIsIkxpY2Vuc2UgVHlwZSI6IkV2YWx1YXRpb24iLCJQdXJjaGFzZSBEYXRlIjoiMjAyMi4xMC4xOCIsIkV4cGlyYXRpb24gRGF0ZSI6IjIwMjMuMDEuMTgiLCJIb3N0IEFkZHJlc3MiOiJVTkxJTUlURUQiLCJNYXggVGFyZ2V0IENvdW50IjowLCJNYXggRG9tYWluIENvdW50IjowLCJQZXJtaXNzaW9ucyBGb3IgQm9hcmQgVXNhZ2UiOiJWaWV3ZXIsIE1vZGVsbGVyIiwiUGVybWlzc2lvbnMgRm9yIFRhaWxvciBUb29sIjoiIiwiS2V5IjoiQXhncUdBeE5Nd29DS1JveEt3RUFTUmd1SUQ0RkRDNDVEVmtxSGdBRUloZ2FKaVpUSXdvV1FnOHZIZ3dNRWhjR0RCb0VGaG9XSmhZakNnd0VEd29FT0JZNEdnOEFCRFFJS0NZbE1RZ0pHRHdIR2k0UkZUTXFIQWtxRmdzckFRQkpId2toU3hzSVFBOGlJemdYRXhVZkVpc0NHUlFKR2dwTER3a2lCdzBTT0FZUUdTSXhHaFltRmlNSkdVa2JDU2NNSWlRbkZCVW1BUWdvSmlVcENpNFVBaDhjTGdJVktDSUxBUVViQ0NVQUpUWVlDaFljRkF3SUZCMDFHd2dXRlI0VEd4RUlSeFlhSEVzT0x4NDVKaVVlRlFJcE16RXJBUUJYSUI0WUlBOEpEUUlkSnpNVENTa0VGQ3NrSVZZSUNpMENId2tGRGlNakloQUlLaDRURXhFaFdnc0tLVWNGR0RJaURSTWpCaEUvTHdjUkJCNUhGZ2tVT2c0dkh3QWdTU0lLQVNrU0xob1JKbE1qSERGSURob2VDZzBuRmhnWk93OElIeUlaV1FvS0Nrd0ZMd2dORFU0ZkJoQS9MeGdySXgxSUN3b1dTQVVJTWhRTkVqTVNHVHdIQ0NzRlB4MD0ifQ==85748"
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-board",
3
- "version": "6.0.0-alpha.8",
3
+ "version": "6.0.0-alpha.9",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -80,8 +80,8 @@
80
80
  "@operato/utils": "^1.0.1",
81
81
  "@things-factory/apptool-ui": "^6.0.0-alpha.8",
82
82
  "@things-factory/auth-ui": "^6.0.0-alpha.8",
83
- "@things-factory/board-service": "^6.0.0-alpha.8",
84
- "@things-factory/board-ui": "^6.0.0-alpha.8",
83
+ "@things-factory/board-service": "^6.0.0-alpha.9",
84
+ "@things-factory/board-ui": "^6.0.0-alpha.9",
85
85
  "@things-factory/context-ui": "^6.0.0-alpha.8",
86
86
  "@things-factory/export-ui": "^6.0.0-alpha.8",
87
87
  "@things-factory/fav-base": "^6.0.0-alpha.8",
@@ -108,8 +108,8 @@
108
108
  "@things-factory/system-ui": "^6.0.0-alpha.8"
109
109
  },
110
110
  "devDependencies": {
111
- "@things-factory/board-test": "^6.0.0-alpha.8",
111
+ "@things-factory/board-test": "^6.0.0-alpha.9",
112
112
  "@things-factory/builder": "^6.0.0-alpha.8"
113
113
  },
114
- "gitHead": "6d45cce6b8aef6b4de253dfbcb0ba8c3abb682cf"
114
+ "gitHead": "3b34aa7eb3bd773e57a29fb1ff8a258074b10ad5"
115
115
  }
@@ -46,14 +46,6 @@ export default {
46
46
  {
47
47
  tagname: 'scenario-list-page',
48
48
  page: 'scenario-list'
49
- },
50
- {
51
- tagname: 'headroom-test-page',
52
- page: 'headroom-test'
53
- },
54
- {
55
- tagname: 'sticky-test-page',
56
- page: 'sticky-test'
57
49
  }
58
50
  ],
59
51
  bootstrap
@@ -1,207 +0,0 @@
1
- import '@things-factory/grist-ui'
2
-
3
- import { css, html } from 'lit'
4
-
5
- import { i18next } from '@things-factory/i18n-base'
6
- import { PageView } from '@things-factory/shell'
7
- import { ScrollbarStyles } from '@things-factory/styles'
8
- import { isMobileDevice } from '@things-factory/utils'
9
-
10
- export class HeadroomTestPage extends PageView {
11
- static get properties() {
12
- return {}
13
- }
14
-
15
- static get styles() {
16
- return [
17
- ScrollbarStyles,
18
- css`
19
- :host {
20
- display: flex;
21
- position: relative;
22
- flex-direction: column;
23
-
24
- overflow: hidden;
25
- }
26
-
27
- #search-form {
28
- background-color: blue;
29
- color: white;
30
- width: 100%;
31
- height: 100px;
32
- }
33
-
34
- data-grist {
35
- overflow-y: auto;
36
- flex: 1;
37
- }
38
- `
39
- ]
40
- }
41
-
42
- get context() {
43
- return {
44
- title: 'headroom test',
45
- actions: []
46
- }
47
- }
48
-
49
- render() {
50
- return html`
51
- <div style="height: 100px; width: 100%; background-color:red;color:white;">Fixed Area</div>
52
-
53
- <data-grist
54
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
55
- .config=${this.gristConfig}
56
- .fetchHandler=${this.fetchHandler.bind(this)}
57
- >
58
- <div slot="headroom" id="search-form">Headroom Area</div>
59
- </data-grist>
60
- `
61
- }
62
-
63
- get dataGrist() {
64
- return this.shadowRoot.querySelector('data-grist')
65
- }
66
-
67
- async pageInitialized(lifecycle) {
68
- this.searchConfig = [
69
- {
70
- name: 'name',
71
- type: 'text',
72
- props: {
73
- placeholder: i18next.t('field.name'),
74
- searchOper: 'like'
75
- }
76
- },
77
- {
78
- name: 'type',
79
- type: 'text',
80
- props: {
81
- placeholder: i18next.t('field.type'),
82
- searchOper: 'eq'
83
- }
84
- },
85
- {
86
- name: 'description',
87
- type: 'text',
88
- props: {
89
- placeholder: i18next.t('field.description'),
90
- searchOper: 'like'
91
- }
92
- }
93
- ]
94
-
95
- this._updateSearchConfig(lifecycle)
96
-
97
- this.gristConfig = {
98
- list: { fields: ['name', 'description', 'state'] },
99
- columns: [
100
- { type: 'gutter', gutterName: 'sequence' },
101
- { type: 'gutter', gutterName: 'row-selector', multiple: true },
102
- {
103
- type: 'string',
104
- name: 'name',
105
- header: i18next.t('field.name'),
106
- record: {
107
- editable: true
108
- },
109
- sortable: true,
110
- width: 150
111
- },
112
- {
113
- type: 'string',
114
- name: 'description',
115
- header: i18next.t('field.description'),
116
- record: {
117
- editable: true
118
- },
119
- width: 200
120
- },
121
- {
122
- type: 'checkbox',
123
- name: 'active',
124
- header: i18next.t('field.active'),
125
- record: {
126
- editable: true
127
- },
128
- sortable: true,
129
- width: 60
130
- },
131
- {
132
- type: 'object',
133
- name: 'updater',
134
- header: i18next.t('field.updater'),
135
- record: {
136
- editable: false
137
- },
138
- sortable: true,
139
- width: 120
140
- },
141
- {
142
- type: 'datetime',
143
- name: 'updatedAt',
144
- header: i18next.t('field.updated_at'),
145
- record: {
146
- editable: false
147
- },
148
- sortable: true,
149
- width: 180
150
- }
151
- ],
152
- rows: {
153
- selectable: {
154
- multiple: true
155
- }
156
- },
157
- sorters: [
158
- {
159
- name: 'name'
160
- }
161
- ]
162
- }
163
-
164
- await this.updateComplete
165
-
166
- this.dataGrist.fetch()
167
- }
168
-
169
- async pageUpdated(changes, lifecycle) {
170
- if (this.active) {
171
- // update with url params value
172
- this._updateSearchConfig(lifecycle)
173
- await this.updateComplete
174
-
175
- this.dataGrist.fetch()
176
- }
177
- }
178
-
179
- async fetchHandler({ page, limit, sorters = [] }) {
180
- return {
181
- total: 30,
182
- records: new Array(30).fill('').map((_, idx) => {
183
- return {
184
- name: idx,
185
- description: idx,
186
- active: true
187
- }
188
- })
189
- }
190
- }
191
-
192
- async stateChanged(state) {}
193
-
194
- // update with url params value
195
- _updateSearchConfig(lifecycle) {
196
- this.searchConfig = this.searchConfig.map(conf => {
197
- if (conf.name in lifecycle.params) {
198
- conf.value = lifecycle.params[conf.name]
199
- } else {
200
- delete conf.value
201
- }
202
- return conf
203
- })
204
- }
205
- }
206
-
207
- window.customElements.define('headroom-test-page', HeadroomTestPage)
@@ -1,225 +0,0 @@
1
- import '@things-factory/grist-ui'
2
-
3
- import { css, html } from 'lit'
4
-
5
- import { i18next } from '@things-factory/i18n-base'
6
- import { PageView } from '@things-factory/shell'
7
- import { ScrollbarStyles } from '@things-factory/styles'
8
- import { isMobileDevice } from '@things-factory/utils'
9
-
10
- export class StickyTestPage extends PageView {
11
- static get properties() {
12
- return {}
13
- }
14
-
15
- static get styles() {
16
- return [
17
- ScrollbarStyles,
18
- css`
19
- :host {
20
- display: block;
21
- position: relative;
22
-
23
- overflow: auto;
24
- }
25
-
26
- /* The sticky class is added to the header with JS when it reaches its scroll position */
27
- .sticky {
28
- position: absolute;
29
- width: 100%;
30
-
31
- z-index: 1;
32
- }
33
- `
34
- ]
35
- }
36
-
37
- get context() {
38
- return {
39
- title: 'sticky test',
40
- actions: []
41
- }
42
- }
43
-
44
- render() {
45
- return html`
46
- <div>
47
- <div style="height: 200px; width: 100%; background-color:blue;color:white;">Scroll Area</div>
48
- </div>
49
-
50
- <div id="header" style="height: 100px; width: 100%; background-color:red;color:white;">Fixed Area</div>
51
-
52
- <data-grist
53
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
54
- .config=${this.gristConfig}
55
- .fetchHandler=${this.fetchHandler.bind(this)}
56
- >
57
- </data-grist>
58
- `
59
- }
60
-
61
- get dataGrist() {
62
- return this.shadowRoot.querySelector('data-grist')
63
- }
64
-
65
- async firstUpdated() {
66
- // Get the header
67
- var header = this.renderRoot.querySelector('#header')
68
- var grist = this.renderRoot.querySelector('data-grist')
69
-
70
- var stickyTop = header.offsetTop
71
- var stickyHeight = header.offsetHeight
72
-
73
- this.addEventListener('scroll', e => {
74
- if (this.scrollTop > stickyTop) {
75
- header.classList.add('sticky')
76
- grist.style.paddingTop = stickyHeight + 'px'
77
- header.style.top = this.scrollTop + 'px'
78
- } else {
79
- header.classList.remove('sticky')
80
- grist.style.paddingTop = 0
81
- }
82
- })
83
- }
84
-
85
- async pageInitialized(lifecycle) {
86
- this.searchConfig = [
87
- {
88
- name: 'name',
89
- type: 'text',
90
- props: {
91
- placeholder: i18next.t('field.name'),
92
- searchOper: 'like'
93
- }
94
- },
95
- {
96
- name: 'type',
97
- type: 'text',
98
- props: {
99
- placeholder: i18next.t('field.type'),
100
- searchOper: 'eq'
101
- }
102
- },
103
- {
104
- name: 'description',
105
- type: 'text',
106
- props: {
107
- placeholder: i18next.t('field.description'),
108
- searchOper: 'like'
109
- }
110
- }
111
- ]
112
-
113
- this._updateSearchConfig(lifecycle)
114
-
115
- this.gristConfig = {
116
- list: { fields: ['name', 'description', 'state'] },
117
- columns: [
118
- { type: 'gutter', gutterName: 'sequence' },
119
- { type: 'gutter', gutterName: 'row-selector', multiple: true },
120
- {
121
- type: 'string',
122
- name: 'name',
123
- header: i18next.t('field.name'),
124
- record: {
125
- editable: true
126
- },
127
- sortable: true,
128
- width: 150
129
- },
130
- {
131
- type: 'string',
132
- name: 'description',
133
- header: i18next.t('field.description'),
134
- record: {
135
- editable: true
136
- },
137
- width: 200
138
- },
139
- {
140
- type: 'checkbox',
141
- name: 'active',
142
- header: i18next.t('field.active'),
143
- record: {
144
- editable: true
145
- },
146
- sortable: true,
147
- width: 60
148
- },
149
- {
150
- type: 'object',
151
- name: 'updater',
152
- header: i18next.t('field.updater'),
153
- record: {
154
- editable: false
155
- },
156
- sortable: true,
157
- width: 120
158
- },
159
- {
160
- type: 'datetime',
161
- name: 'updatedAt',
162
- header: i18next.t('field.updated_at'),
163
- record: {
164
- editable: false
165
- },
166
- sortable: true,
167
- width: 180
168
- }
169
- ],
170
- rows: {
171
- selectable: {
172
- multiple: true
173
- }
174
- },
175
- sorters: [
176
- {
177
- name: 'name'
178
- }
179
- ]
180
- }
181
-
182
- await this.updateComplete
183
-
184
- this.dataGrist.fetch()
185
- }
186
-
187
- async pageUpdated(changes, lifecycle) {
188
- if (this.active) {
189
- // update with url params value
190
- this._updateSearchConfig(lifecycle)
191
- await this.updateComplete
192
-
193
- this.dataGrist.fetch()
194
- }
195
- }
196
-
197
- async fetchHandler({ page, limit, sorters = [] }) {
198
- return {
199
- total: 30,
200
- records: new Array(30).fill('').map((_, idx) => {
201
- return {
202
- name: idx,
203
- description: idx,
204
- active: true
205
- }
206
- })
207
- }
208
- }
209
-
210
- async stateChanged(state) {}
211
-
212
- // update with url params value
213
- _updateSearchConfig(lifecycle) {
214
- this.searchConfig = this.searchConfig.map(conf => {
215
- if (conf.name in lifecycle.params) {
216
- conf.value = lifecycle.params[conf.name]
217
- } else {
218
- delete conf.value
219
- }
220
- return conf
221
- })
222
- }
223
- }
224
-
225
- window.customElements.define('sticky-test-page', StickyTestPage)