@things-factory/grist-ui 4.0.0-y.0 → 4.0.7

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.
@@ -11,32 +11,34 @@ export const dataGridBodyStyle = css`
11
11
  color: var(--grid-record-color);
12
12
  }
13
13
 
14
- :host > [odd] {
14
+ [odd] {
15
15
  background-color: var(--grid-record-odd-background-color);
16
16
  }
17
17
 
18
- :host > [selected-row] {
18
+ [selected-row] {
19
19
  background-color: var(--grid-record-selected-background-color);
20
20
  color: var(--grid-record-selected-color);
21
21
  }
22
22
 
23
- :host > [emphasized-row] {
24
- background-color: var(--grid-record-emphasized-background-color);
25
- color: var(--grid-record-emphasized-color);
26
- }
27
-
28
- :host > [focused-row] {
29
- background-color: var(--grid-record-focused-background-color);
23
+ [focused-row] {
30
24
  box-shadow: var(--grid-record-focused-box-shadow);
31
25
  font-weight: bold;
32
26
  color: var(--grid-record-focused-color);
27
+ background-image: var(--focused-background-image);
28
+ background-blend-mode: darken;
33
29
  }
34
30
 
35
- :host > [focused] {
36
- background-color: var(--grid-record-focused-cell-background-color);
31
+ [focused] {
32
+ border: var(--grid-record-focused-cell-border);
33
+ }
34
+
35
+ [emphasized-row],
36
+ [emphasized-row][focused] {
37
+ background-color: var(--grid-record-emphasized-background-color);
38
+ color: var(--grid-record-emphasized-color);
37
39
  }
38
40
 
39
- :host > [editing] {
41
+ [editing] {
40
42
  background-color: var(--grid-record-editing-background-color);
41
43
  }
42
44
 
@@ -44,25 +46,25 @@ export const dataGridBodyStyle = css`
44
46
  :host {
45
47
  grid-template-columns: var(--grid-template-print-columns);
46
48
  }
47
- :host > [focused] {
49
+ [focused] {
48
50
  border: none;
49
51
  }
50
52
 
51
- :host > [selected-row] {
53
+ [selected-row] {
52
54
  background-color: transparent;
53
55
  }
54
56
 
55
- :host > [emphasized-row] {
57
+ [emphasized-row] {
56
58
  background-color: transparent;
57
59
  color: initial;
58
60
  }
59
61
 
60
- :host > [focused-row] {
62
+ [focused-row] {
61
63
  background-color: transparent;
62
64
  color: initial;
63
65
  }
64
66
 
65
- :host > [editing] {
67
+ [editing] {
66
68
  background-color: transparent;
67
69
  }
68
70
  }
@@ -1,14 +1,14 @@
1
- import { LitElement, html } from 'lit-element'
2
- import { supportsPassive } from '@things-factory/utils'
1
+ import './data-grid-field'
2
+
3
+ import { html, LitElement } from 'lit-element'
3
4
  import _ from 'underscore'
4
5
 
5
- import './data-grid-field'
6
+ import { supportsPassive } from '@things-factory/utils'
6
7
 
7
- import { dataGridBodyKeydownHandler } from './event-handlers/data-grid-body-keydown-handler'
8
+ import { dataGridBodyStyle } from './data-grid-body-style'
8
9
  import { dataGridBodyClickHandler } from './event-handlers/data-grid-body-click-handler'
9
10
  import { dataGridBodyDblclickHandler } from './event-handlers/data-grid-body-dblclick-handler'
10
-
11
- import { dataGridBodyStyle } from './data-grid-body-style'
11
+ import { dataGridBodyKeydownHandler } from './event-handlers/data-grid-body-keydown-handler'
12
12
 
13
13
  const THRESHOLD = 300
14
14
  const DATA_PADDING = 3
@@ -157,6 +157,12 @@ class DataGridBody extends LitElement {
157
157
  this.shadowRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this))
158
158
 
159
159
  this.addEventListener('wheel', this._onWheelEvent.bind(this), supportsPassive ? { passive: true } : false)
160
+
161
+ const primaryColor = getComputedStyle(this).getPropertyValue('--primary-color')
162
+ this.style.setProperty(
163
+ '--focused-background-image',
164
+ `url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><rect fill='${primaryColor}' x='0' y='0' width='100%' height='100%' style='opacity:.3'/></svg>")`
165
+ )
160
166
  }
161
167
 
162
168
  _onWheelEvent(e) {
@@ -1,4 +1,4 @@
1
- import { LitElement, html, css } from 'lit-element'
1
+ import { css, html, LitElement } from 'lit-element'
2
2
 
3
3
  const DEFAULT_TEXT_ALIGN = 'left'
4
4
 
@@ -1,12 +1,13 @@
1
- import { pulltorefresh } from '@things-factory/utils'
2
- import { css, html, LitElement } from 'lit-element'
3
- import { buildConfig } from './configure/config-builder'
4
1
  import './data-grid/data-grid'
5
2
  import './data-list/data-list'
6
- import { DataProvider } from './data-provider'
7
3
 
4
+ import { LitElement, css, html } from 'lit-element'
5
+
6
+ import { DataProvider } from './data-provider'
7
+ import Headroom from '@operato/headroom'
8
8
  import { HeadroomStyles } from '@things-factory/styles'
9
- import Headroom from 'headroom.js'
9
+ import { buildConfig } from './configure/config-builder'
10
+ import { pulltorefresh } from '@things-factory/utils'
10
11
 
11
12
  const DEFAULT_DATA = {
12
13
  page: 1,
@@ -1,12 +1,12 @@
1
1
  import './data-report/data-report-component'
2
2
 
3
- import { css, html, LitElement } from 'lit-element'
4
-
5
- import { pulltorefresh } from '@things-factory/utils'
3
+ import { LitElement, css, html } from 'lit-element'
6
4
 
5
+ import { DataProvider } from './data-provider'
7
6
  import { buildColumn } from './configure/column-builder'
8
7
  import { buildConfig } from './configure/config-builder'
9
- import { DataProvider } from './data-provider'
8
+ import { i18next } from '@things-factory/i18n-base'
9
+ import { pulltorefresh } from '@things-factory/utils'
10
10
 
11
11
  const DEFAULT_DATA = {
12
12
  page: 1,
@@ -199,7 +199,16 @@ export class DataReport extends LitElement {
199
199
  var getColumnIndex = name => columns.filter(column => !column.hidden).findIndex(column => column.name == name)
200
200
 
201
201
  /* 그룹 토털 레코드를 추가한다. */
202
- var groupFieldsForTotalRecord = [{ column: '*', title: 'grand total', align: 'right' } /* for total */, ...groups]
202
+ var groupFieldsForTotalRecord = [
203
+ {
204
+ column: '*',
205
+ title: i18next.exists('text.ox-data-report-grand-total')
206
+ ? i18next.t('text.ox-data-report-grand-total')
207
+ : 'grand total',
208
+ align: 'right'
209
+ } /* for total */,
210
+ ...groups
211
+ ]
203
212
  groupFieldsForTotalRecord = groupFieldsForTotalRecord.map(group => {
204
213
  return {
205
214
  ...group,
@@ -251,7 +260,9 @@ export class DataReport extends LitElement {
251
260
  {
252
261
  '*': {
253
262
  titleColumn: groupFieldsForTotalRecord[0].titleColumn,
254
- value: 'grand total',
263
+ value: i18next.exists('text.ox-data-report-grand-total')
264
+ ? i18next.t('text.ox-data-report-grand-total')
265
+ : 'grand total',
255
266
  groupName: '*',
256
267
  row: 1,
257
268
  rowspan: 1,
@@ -1,18 +1,20 @@
1
+ import { registerEditor as oxRegisterEditor, unregisterEditor as oxUnregisterEditor } from '@operato/data-grist'
2
+
1
3
  import {
2
- TextInput,
4
+ CheckboxInput,
5
+ ColorInput,
6
+ DateInput,
7
+ DateTimeInput,
3
8
  EmailInput,
4
- TelInput,
5
- PasswordInput,
9
+ ImageInput,
10
+ MonthInput,
6
11
  NumberInput,
12
+ PasswordInput,
7
13
  Select,
8
- CheckboxInput,
9
- MonthInput,
10
- WeekInput,
11
- DateInput,
14
+ TelInput,
15
+ TextInput,
12
16
  TimeInput,
13
- DateTimeInput,
14
- ColorInput,
15
- ImageInput
17
+ WeekInput
16
18
  } from './input-editors'
17
19
 
18
20
  var EDITORS = {
@@ -40,10 +42,12 @@ var EDITORS = {
40
42
 
41
43
  export function registerEditor(type, editor) {
42
44
  EDITORS[type] = editor
45
+ oxRegisterEditor(type, editor)
43
46
  }
44
47
 
45
48
  export function unregisterEditor(type) {
46
49
  delete EDITORS[type]
50
+ oxUnregisterEditor(type)
47
51
  }
48
52
 
49
53
  export function getEditors() {
@@ -1,12 +1,14 @@
1
+ import { registerRenderer as oxRegisterRenderer, unregisterRenderer as oxUnregisterRenderer } from '@operato/data-grist'
2
+
1
3
  import { BooleanRenderer } from './boolean-renderer'
2
- import { TextRenderer } from './text-renderer'
3
- import { PasswordRenderer } from './password-renderer'
4
- import { DateRenderer } from './date-renderer'
5
4
  import { ColorRenderer } from './color-renderer'
6
- import { ProgressRenderer } from './progress-renderer'
5
+ import { DateRenderer } from './date-renderer'
6
+ import { ImageRenderer } from './image-renderer'
7
7
  import { LinkRenderer } from './link-renderer'
8
+ import { PasswordRenderer } from './password-renderer'
9
+ import { ProgressRenderer } from './progress-renderer'
8
10
  import { SelectRenderer } from './select-renderer'
9
- import { ImageRenderer } from './image-renderer'
11
+ import { TextRenderer } from './text-renderer'
10
12
 
11
13
  var RENDERERS = {
12
14
  string: TextRenderer,
@@ -33,10 +35,12 @@ var RENDERERS = {
33
35
 
34
36
  export function registerRenderer(type, renderer) {
35
37
  RENDERERS[type] = renderer
38
+ oxRegisterRenderer(type, renderer)
36
39
  }
37
40
 
38
41
  export function unregisterRenderer(type) {
39
42
  delete RENDERERS[type]
43
+ oxUnregisterRenderer(type)
40
44
  }
41
45
 
42
46
  export function getRenderers() {
@@ -41,10 +41,10 @@ body {
41
41
  --grid-record-wide-fontsize: var(--fontsize-small);
42
42
  --grid-record-selected-background-color: #f1f8e9;
43
43
  --grid-record-selected-color: var(--grid-record-color);
44
- --grid-record-focused-background-color: rgba(var(--primary-color-rgb), 0.15);
44
+ --grid-record-focused-background-color: rgba(var(--primary-color-rgb), 0.2);
45
45
  --grid-record-focused-border: 1px solid var(--primary-color);
46
46
  --grid-record-focused-cell-background-color: rgba(var(--primary-color-rgb), 0.25);
47
- --grid-record-focused-cell-border: 1px solid rgba(var(--primary-color-rgb), 0.4);
47
+ --grid-record-focused-cell-border: 1px dashed var(--primary-color);
48
48
  --grid-record-focused-color: var(--grid-record-color);
49
49
  --grid-record-focused-box-shadow: 0px 2px 0px 0px rgb(0 0 0 / 10%);
50
50
  --grid-record-emphasized-background-color: var(--primary-color);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/grist-ui",
3
- "version": "4.0.0-y.0",
3
+ "version": "4.0.7",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,11 +24,14 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@material/mwc-icon": "^0.22.1",
28
- "@things-factory/styles": "^4.0.0-y.0",
29
- "@things-factory/utils": "^4.0.0-y.0",
30
- "lit-element": "^2.5.1",
27
+ "@material/mwc-icon": "^0.25.3",
28
+ "@operato/data-grist": "^0.2.28",
29
+ "@operato/headroom": "^0.2.26",
30
+ "@things-factory/i18n-base": "^4.0.7",
31
+ "@things-factory/styles": "^4.0.7",
32
+ "@things-factory/utils": "^4.0.7",
33
+ "lit": "^2.0.2",
31
34
  "underscore": "^1.11.0"
32
35
  },
33
- "gitHead": "64ee0f6547f90b1386024b975efc3b31a5e381cb"
36
+ "gitHead": "035fa60359aefa9b9111f807fc7e8db6a15a4a6e"
34
37
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "label.module": "module"
3
- }
2
+ "text.ox-data-report-grand-total": "grand total"
3
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
- "label.module": "모듈"
3
- }
2
+ "text.ox-data-report-grand-total": "총합계"
3
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
- "label.module": "模块"
3
- }
2
+ "text.ox-data-report-grand-total": "[zh] grand total"
3
+ }