@operato/styles 2.0.0-alpha.98 → 2.0.0-beta.0

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 (45) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/dist/src/button-container-styles.js +26 -23
  3. package/dist/src/button-container-styles.js.map +1 -1
  4. package/dist/src/common-grist-styles.js +19 -17
  5. package/dist/src/common-grist-styles.js.map +1 -1
  6. package/dist/src/common-header-styles.js +30 -20
  7. package/dist/src/common-header-styles.js.map +1 -1
  8. package/dist/src/scrollbar-styles.js +9 -8
  9. package/dist/src/scrollbar-styles.js.map +1 -1
  10. package/dist/src/spinner-styles.js +1 -0
  11. package/dist/src/spinner-styles.js.map +1 -1
  12. package/dist/src/tooltip-styles.js +1 -1
  13. package/dist/src/tooltip-styles.js.map +1 -1
  14. package/dist/stories/button-container-styles.stories.d.ts +7 -2
  15. package/dist/stories/button-container-styles.stories.js +35 -6
  16. package/dist/stories/button-container-styles.stories.js.map +1 -1
  17. package/dist/stories/common-header-styles-actions.stories.d.ts +5 -0
  18. package/dist/stories/common-header-styles-actions.stories.js +40 -16
  19. package/dist/stories/common-header-styles-actions.stories.js.map +1 -1
  20. package/dist/stories/common-header-styles-pure.stories.d.ts +5 -0
  21. package/dist/stories/common-header-styles-pure.stories.js +36 -13
  22. package/dist/stories/common-header-styles-pure.stories.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +2 -2
  25. package/src/button-container-styles.ts +26 -23
  26. package/src/common-grist-styles.ts +19 -17
  27. package/src/common-header-styles.ts +30 -20
  28. package/src/scrollbar-styles.ts +9 -8
  29. package/src/spinner-styles.ts +1 -0
  30. package/src/tooltip-styles.ts +1 -1
  31. package/stories/button-container-styles.stories.ts +36 -7
  32. package/stories/common-header-styles-actions.stories.ts +67 -42
  33. package/stories/common-header-styles-pure.stories.ts +37 -13
  34. package/themes/dark-hc.css +151 -0
  35. package/themes/dark-mc.css +151 -0
  36. package/themes/dark.css +151 -0
  37. package/themes/grist-theme.css +169 -0
  38. package/themes/light-hc.css +151 -0
  39. package/themes/light-mc.css +151 -0
  40. package/themes/light.css +151 -0
  41. package/themes/md-typescale-styles.css +100 -0
  42. package/themes/spacing.css +43 -0
  43. package/themes/state-color.css +6 -0
  44. package/themes/app-theme.css +0 -161
  45. package/themes/form-theme.css +0 -75
@@ -4,35 +4,32 @@ export const ButtonContainerStyles = css`
4
4
  .button-container {
5
5
  display: flex;
6
6
  margin-left: auto;
7
- gap: var(--padding-narrow);
8
- padding: 6px 10px;
7
+ padding: var(--spacing-small);
8
+ gap: var(--spacing-small);
9
9
  }
10
10
 
11
11
  button {
12
12
  display: flex;
13
13
  align-items: center;
14
- background-color: var(--button-background-color, #fafbfc);
15
- border: 1px solid rgba(var(--primary-color-rgb), 0.5);
14
+ background-color: var(--button-background-color, var(--md-sys-color-secondary-container));
15
+ border: 1px solid var(--md-sys-color-secondary-container);
16
16
  border-radius: var(--button-border-radius);
17
17
 
18
18
  font-size: var(--fontsize-default);
19
- color: var(--secondary-color);
19
+ color: var(--button-color, var(--md-sys-color-on-secondary-container));
20
+ text-wrap: nowrap;
20
21
 
21
22
  md-icon {
22
23
  margin: 4px 1px;
23
24
 
24
- --md-icon-size: 18px;
25
- color: var(--primary-color);
25
+ --md-icon-size: var(--icon-size-small);
26
26
  }
27
27
 
28
28
  &:hover {
29
- background-color: var(--primary-color);
29
+ background-color: var(--md-sys-color-secondary);
30
+ color: var(--md-sys-color-on-secondary);
30
31
 
31
- color: var(--theme-white-color);
32
-
33
- md-icon {
34
- color: var(--white-theme-color);
35
- }
32
+ border: 1px solid var(--md-sys-color-secondary);
36
33
  }
37
34
  }
38
35
 
@@ -41,27 +38,33 @@ export const ButtonContainerStyles = css`
41
38
  }
42
39
 
43
40
  [danger] {
44
- color: var(--status-danger-color);
45
- border-color: var(--status-danger-color);
41
+ --md-assist-chip-elevated-container-color: var(--md-sys-color-error);
42
+ --md-assist-chip-label-text-color: var(--md-sys-color-on-error);
43
+ --md-assist-chip-leading-icon-color: var(--md-sys-color-on-error);
46
44
 
47
- md-icon {
48
- color: var(--status-danger-color);
49
- }
45
+ color: var(--md-sys-color-on-error);
46
+ background-color: var(--md-sys-color-error);
47
+ border-color: var(--md-sys-color-error);
50
48
 
51
49
  &:hover {
52
- background-color: var(--status-danger-color);
50
+ --md-assist-chip-elevated-container-color: var(--md-sys-color-on-error);
51
+ --md-assist-chip-label-text-color: var(--md-sys-color-error);
52
+ --md-assist-chip-leading-iccolor: var(--md-sys-color-error);
53
+
54
+ color: var(--md-sys-color-error);
55
+ background-color: var(--md-sys-color-on-error);
53
56
  }
54
57
  }
55
58
 
56
59
  select,
57
60
  input[type='text'] {
58
- background-color: var(--button-background-color, #fafbfc);
59
- border: 1px solid rgba(var(--primary-color-rgb), 0.5);
61
+ background-color: var(--button-background-color, var(--md-sys-color-secondary-container));
62
+ border: 1px solid var(--md-sys-color-outline);
60
63
  border-radius: var(--button-border-radius);
61
- padding: 0 var(--padding-narrow);
64
+ padding: 0 var(--spacing-tiny);
62
65
 
63
66
  font-size: var(--fontsize-default);
64
- color: var(--secondary-color);
67
+ color: var(--button-color, var(--md-sys-color-on-secondary-container));
65
68
  }
66
69
 
67
70
  [filler] {
@@ -17,9 +17,9 @@ export const CommonGristStyles = css`
17
17
  flex-direction: row;
18
18
  gap: 0 10px;
19
19
  align-items: center;
20
- padding: var(--padding-default) var(--padding-wide);
20
+ padding: var(--spacing-small) var(--spacing-medium);
21
21
 
22
- --md-icon-size: 24px;
22
+ --md-icon-size: var(--icon-size-medium);
23
23
  }
24
24
 
25
25
  [slot='headroom']:empty {
@@ -28,11 +28,12 @@ export const CommonGristStyles = css`
28
28
 
29
29
  #sorters md-icon,
30
30
  #modes md-icon {
31
- --md-icon-size: 18px;
31
+ --md-icon-size: var(--icon-size-small);
32
32
  }
33
33
 
34
34
  [slot='setting'] {
35
35
  position: absolute;
36
+ top: -2px;
36
37
  right: 0;
37
38
  }
38
39
 
@@ -41,38 +42,38 @@ export const CommonGristStyles = css`
41
42
  flex-wrap: nowrap;
42
43
  align-items: center;
43
44
  margin-left: auto;
44
- margin-right: var(--margin-default);
45
- padding-left: var(--padding-narrow);
46
- border-bottom: var(--border-dark-color);
45
+ margin-right: var(--spacing-small);
46
+ padding-left: var(--spacing-tiny);
47
+ border-bottom: var(--md-sys-color-outline);
47
48
  position: relative;
48
- color: var(--secondary-color);
49
+ color: var(--md-sys-color-on-secondary-container);
49
50
  font-size: var(--fontsize-default);
50
51
  user-select: none;
51
52
  }
52
53
 
53
54
  #sorters > * {
54
- padding: var(--padding-narrow);
55
+ padding: var(--spacing-tiny);
55
56
  vertical-align: middle;
56
57
  }
57
58
 
58
59
  #modes > * {
59
- padding: var(--padding-narrow);
60
+ padding: var(--spacing-tiny);
60
61
  opacity: 0.5;
61
- color: var(--primary-text-color);
62
+ color: var(--md-sys-color-on-primary-container);
62
63
  cursor: pointer;
63
64
  }
64
65
 
65
66
  #modes > md-icon[active] {
66
67
  border-radius: 9px;
67
- background-color: rgba(var(--primary-color-rgb), 0.05);
68
+ background-color: var(--md-sys-color-secondary-container);
68
69
  opacity: 1;
69
- color: var(--secondary-text-color);
70
+ color: var(--md-sys-color-on-secondary-container);
70
71
  cursor: default;
71
72
  }
72
73
 
73
74
  #modes > md-icon:hover {
74
75
  opacity: 1;
75
- color: var(--secondary-text-color);
76
+ color: var(--md-sys-color-on-secondary-container);
76
77
  }
77
78
 
78
79
  #add {
@@ -85,7 +86,8 @@ export const CommonGristStyles = css`
85
86
  justify-content: center;
86
87
  gap: 0px 10px;
87
88
 
88
- background-color: var(--primary-color);
89
+ background-color: var(--md-sys-color-primary-container);
90
+ color: var(--md-sys-color-on-primary-container);
89
91
  border: 0;
90
92
  border-radius: 50%;
91
93
  padding: 5px;
@@ -95,13 +97,13 @@ export const CommonGristStyles = css`
95
97
  }
96
98
 
97
99
  #add button:hover {
98
- background-color: var(--focus-background-color);
100
+ background-color: var(--md-sys-color-on-primary-container);
101
+ color: var(--md-sys-color-primary-container);
99
102
  box-shadow: var(--box-shadow);
100
103
  }
101
104
 
102
105
  #add button md-icon {
103
106
  font-size: 1.5em;
104
- color: var(--theme-white-color);
105
107
  }
106
108
 
107
109
  #filters {
@@ -112,7 +114,7 @@ export const CommonGristStyles = css`
112
114
  }
113
115
 
114
116
  #filters > * {
115
- margin-right: var(--margin-default);
117
+ margin-right: var(--spacing-small);
116
118
  }
117
119
 
118
120
  @media only screen and (max-width: 460px) {
@@ -6,8 +6,8 @@ export const CommonHeaderStyles = css`
6
6
  grid-template-areas:
7
7
  'title actions'
8
8
  'filters filters';
9
- gap: var(--padding-narrow) var(--padding-default);
10
- padding: calc(var(--padding-default) / 2) var(--padding-default);
9
+ gap: var(--spacing-small) var(--spacing-medium);
10
+ padding: calc(var(--spacing-medium) / 2) var(--spacing-medium);
11
11
 
12
12
  align-items: center;
13
13
 
@@ -16,35 +16,36 @@ export const CommonHeaderStyles = css`
16
16
  display: flex;
17
17
  flex-direction: row;
18
18
  align-items: center;
19
- gap: var(--padding-narrow);
19
+ gap: var(--spacing-small);
20
20
 
21
21
  font: var(--subtitle-font);
22
- color: var(--primary-text-color);
22
+ color: var(--md-sys-color-on-secondary-container);
23
23
  text-transform: capitalize;
24
24
  }
25
25
 
26
26
  .filters {
27
27
  grid-area: filters;
28
- border: 1px solid rgba(var(--primary-color-rgb), 0.2);
29
- border-radius: var(--border-radius);
30
- background-color: rgba(var(--primary-color-rgb), 0.1);
31
- padding: var(--padding-default);
28
+ border: 1px solid var(--md-sys-color-outline-variant);
29
+ border-radius: var(--md-sys-shape-corner-small, 5px);
30
+ background-color: var(--md-sys-color-surface-container);
31
+ padding: var(--spacing-small) var(--spacing-medium);
32
32
  display: flex;
33
33
  flex-direction: row;
34
34
  align-items: center;
35
- gap: var(--padding-wide);
35
+ gap: var(--spacing-large);
36
36
 
37
37
  .filter {
38
38
  display: flex;
39
39
  flex-direction: row;
40
40
 
41
41
  align-items: center;
42
- gap: var(--padding-narrow);
42
+ gap: var(--spacing-small);
43
43
  }
44
44
 
45
45
  label {
46
- font: 600 var(--fontsize-default) var(--theme-font);
47
- color: var(--label-color);
46
+ font: var(--md-sys-typescale-label-medium-weight, var(--md-ref-typeface-weight-medium, 500))
47
+ var(--fontsize-default) var(--theme-font);
48
+ color: var(--md-sys-color-primary);
48
49
  }
49
50
  }
50
51
 
@@ -58,7 +59,7 @@ export const CommonHeaderStyles = css`
58
59
  display: flex;
59
60
  flex-direction: row-reverse;
60
61
  align-items: center;
61
- gap: var(--padding-narrow);
62
+ gap: var(--spacing-small);
62
63
 
63
64
  * {
64
65
  cursor: pointer;
@@ -66,12 +67,12 @@ export const CommonHeaderStyles = css`
66
67
 
67
68
  .textbtn,
68
69
  .iconbtn {
69
- background-color: var(--button-background-color);
70
+ background-color: var(--md-sys-color-secondary-container);
70
71
  border: var(--button-border);
71
72
  border-radius: var(--button-border-radius);
72
73
  padding: var(--button-padding);
73
74
 
74
- color: var(--button-color);
75
+ color: var(--md-sys-color-on-secondary-container);
75
76
  font: var(--button-font);
76
77
 
77
78
  &:hover {
@@ -79,15 +80,16 @@ export const CommonHeaderStyles = css`
79
80
  background-color: var(--button-activ-background-color);
80
81
  box-shadow: var(--button-active-box-shadow);
81
82
 
82
- color: var(--button-activ-color);
83
+ color: var(--md-sys-color-on-secondary);
83
84
  }
84
85
  }
86
+
85
87
  .iconbtn {
86
- padding: var(--iconbtn-padding);
88
+ padding: var(--spacing-tiny);
87
89
  line-height: 0.9;
88
90
 
89
91
  md-icon {
90
- --md-icon-size: var(--iconbtn-size);
92
+ --md-icon-size: var(--icon-size-medium);
91
93
  }
92
94
  }
93
95
  }
@@ -103,15 +105,23 @@ export const CommonHeaderStyles = css`
103
105
  gap: 0;
104
106
 
105
107
  grid-template-areas:
106
- 'title'
107
108
  'actions'
108
109
  'filters';
109
110
 
111
+ .title {
112
+ display: none;
113
+ }
114
+
110
115
  .filters {
111
116
  flex-wrap: wrap;
112
- gap: var(--padding-default);
117
+ gap: var(--spacing-medium);
113
118
  border: none;
114
119
  }
120
+
121
+ .actions {
122
+ background-color: var(--md-sys-color-on-secondary-container);
123
+ margin: 0;
124
+ }
115
125
  }
116
126
  }
117
127
  `
@@ -2,30 +2,31 @@ import { css } from 'lit'
2
2
 
3
3
  export const ScrollbarStyles = css`
4
4
  ::-webkit-scrollbar {
5
- width: 5px;
6
- height: 5px;
5
+ width: var(--scrollbar-width, 5px);
6
+ height: var(--scrollbar-height, 5px);
7
7
  }
8
8
  ::-webkit-scrollbar-track {
9
9
  background-color: transparent;
10
10
  }
11
11
  ::-webkit-scrollbar-thumb {
12
- background-color: var(--scrollbar-thumb-color, rgba(0, 0, 0, 0.2));
12
+ background-color: var(--scrollbar-thumb-color, var(--md-sys-color-outline));
13
+ border-radius: var(--scrollbar-thumb-border-radius, 0);
13
14
  }
14
15
  ::-webkit-scrollbar-thumb:hover {
15
- background-color: var(--scrollbar-thumb-hover-color, #aa866a);
16
+ background-color: var(--scrollbar-thumb-hover-color, var(--md-sys-color-outline-variant));
16
17
  }
17
18
 
18
19
  :host::-webkit-scrollbar {
19
- width: 5px;
20
- height: 5px;
20
+ width: var(--scrollbar-width, 5px);
21
+ height: var(--scrollbar-height, 5px);
21
22
  }
22
23
  :host::-webkit-scrollbar-track {
23
24
  background-color: transparent;
24
25
  }
25
26
  :host::-webkit-scrollbar-thumb {
26
- background-color: var(--scrollbar-thumb-color, rgba(0, 0, 0, 0.2));
27
+ background-color: var(--scrollbar-thumb-color, var(--md-sys-color-outline));
27
28
  }
28
29
  :host::-webkit-scrollbar-thumb:hover {
29
- background-color: var(--scrollbar-thumb-hover-color, #aa866a);
30
+ background-color: var(--scrollbar-thumb-hover-color, var(--md-sys-color-outline-variant));
30
31
  }
31
32
  `
@@ -14,6 +14,7 @@ export const SpinnerStyles = css`
14
14
  background: var(--oops-spinner-image) 0 0 no-repeat;
15
15
  background-size: 700%;
16
16
  animation: spinner steps(6) 2s infinite both;
17
+ z-index: 10;
17
18
  }
18
19
 
19
20
  #spinner[show] {
@@ -6,7 +6,7 @@ export const TooltipStyles = css`
6
6
  position: absolute;
7
7
  content: attr(data-tooltip);
8
8
  color: #fff;
9
- z-index: 1;
9
+ z-index: 1000;
10
10
  pointer-events: none;
11
11
  display: block;
12
12
 
@@ -2,11 +2,14 @@ import '@material/web/icon/icon.js'
2
2
  import { ButtonContainerStyles } from '../src/button-container-styles.js'
3
3
 
4
4
  import { css, html, render, TemplateResult } from 'lit'
5
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
5
6
 
6
7
  export default {
7
8
  title: 'button-container-styles-pure',
8
9
  component: 'div',
9
- argTypes: {}
10
+ argTypes: {
11
+ theme: { control: 'select', options: ['light', 'dark'] }
12
+ }
10
13
  }
11
14
 
12
15
  interface Story<T> {
@@ -16,12 +19,16 @@ interface Story<T> {
16
19
  }
17
20
 
18
21
  interface ArgTypes {
19
- label?: string
22
+ theme?: 'light' | 'dark'
20
23
  }
21
24
 
22
- const Template: Story<ArgTypes> = ({ label = '' }: ArgTypes) => html`
23
- <link href="/themes/app-theme.css" rel="stylesheet" />
24
- <link href="/themes/form-theme.css" rel="stylesheet" />
25
+ const Template: Story<ArgTypes> = ({ theme = 'light' }: ArgTypes) => html`
26
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
27
+
28
+ <link href="/themes/light.css" rel="stylesheet" />
29
+ <link href="/themes/dark.css" rel="stylesheet" />
30
+ <link href="/themes/spacing.css" rel="stylesheet" />
31
+
25
32
  <link
26
33
  href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
27
34
  rel="stylesheet"
@@ -35,14 +42,36 @@ const Template: Story<ArgTypes> = ({ label = '' }: ArgTypes) => html`
35
42
  rel="stylesheet"
36
43
  />
37
44
 
45
+ <script>
46
+ document.body.classList.add('${theme}')
47
+ </script>
48
+
38
49
  <style>
39
50
  body {
40
- background-color: white;
51
+ width: 100%;
52
+ height: 500px;
53
+ text-align: center;
54
+
55
+
56
+ background-color: var(--md-sys-color-background);
57
+ color: var(--md-sys-color-on-background);
41
58
  }
42
59
 
60
+ .container {
61
+ padding: var(--spacing-medium);
62
+ background-color: var(--md-sys-color-primary-container);
63
+ color: var(--md-sys-color-on-primary-container);
64
+
65
+ display: flex;
66
+ flex-direction: column;
67
+ gap: 10px;
68
+ }
69
+
70
+ ${MDTypeScaleStyles.cssText}
43
71
  ${ButtonContainerStyles.cssText}
44
72
  </style>
45
- <div style="height:400px; background-color: black; padding: 10px; display: flex; flex-direction: column;gap: 10px;">
73
+
74
+ <div class="container md-typescale-body-medium">
46
75
  <div class="button-container" style="background-color: white;">
47
76
  <button raised><md-icon>save</md-icon>save</button>
48
77
  <button outlined><md-icon>launch</md-icon>remove</button>
@@ -4,12 +4,14 @@ import '@operato/context/ox-context-page-toolbar.js'
4
4
  import { CommonHeaderStyles } from '../src/common-header-styles.js'
5
5
 
6
6
  import { css, html, render, TemplateResult } from 'lit'
7
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
7
8
 
8
9
  export default {
9
10
  title: 'common-header-styles-actions',
10
11
  component: 'div',
11
12
  argTypes: {
12
- label: { control: 'string' }
13
+ label: { control: 'string' },
14
+ theme: { control: 'select', options: ['light', 'dark'] }
13
15
  }
14
16
  }
15
17
 
@@ -21,12 +23,17 @@ interface Story<T> {
21
23
 
22
24
  interface ArgTypes {
23
25
  label?: string
26
+ theme?: 'light' | 'dark'
24
27
  }
25
28
 
26
- const Template: Story<ArgTypes> = ({ label = '' }: ArgTypes) => html`
27
- <link href="/themes/app-theme.css" rel="stylesheet" />
28
- <link href="/themes/form-theme.css" rel="stylesheet" />
29
- <link
29
+ const Template: Story<ArgTypes> = ({ label = '', theme = 'light' }: ArgTypes) => html`
30
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
31
+
32
+ <link href="/themes/light.css" rel="stylesheet" />
33
+ <link href="/themes/dark.css" rel="stylesheet" />
34
+ <link href="/themes/spacing.css" rel="stylesheet" />
35
+
36
+ <link
30
37
  href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
31
38
  rel="stylesheet"
32
39
  />
@@ -39,54 +46,72 @@ const Template: Story<ArgTypes> = ({ label = '' }: ArgTypes) => html`
39
46
  rel="stylesheet"
40
47
  />
41
48
 
49
+ <script>
50
+ document.body.classList.add('${theme}')
51
+ </script>
42
52
 
43
53
  <style>
44
54
  body {
45
- background-color: white;
55
+ width: 100%;
56
+ height: 500px;
57
+ text-align: center;
58
+
59
+ background-color: var(--md-sys-color-background);
60
+ color: var(--md-sys-color-on-background);
46
61
  }
47
62
 
63
+ .container {
64
+ padding: var(--spacing-medium);
65
+ background-color: var(--md-sys-color-primary-container);
66
+ color: var(--md-sys-color-on-primary-container);
67
+
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: var(--spacing-medium);
71
+ }
72
+
73
+ ${MDTypeScaleStyles.cssText}
48
74
  ${CommonHeaderStyles.cssText}
49
75
  </style>
50
76
 
51
- <div style="height:600px;">
77
+ <div class="container md-typescale-body-medium">
52
78
  <div class="header">
53
- <div class="title">
54
- ${label}
55
- </div>
56
-
57
- <div class="filters">
58
- <label>Filter</label><input type="text"></input>
59
- </div>
60
-
61
- <ox-context-page-toolbar class="actions" .context=${{
62
- exportable: {
63
- // name: i18next.t('title.data-set list'),
64
- // data: this.exportHandler.bind(this)
65
- },
66
- importable: {
67
- // handler: this.importHandler.bind(this)
68
- },
69
- actions: [
70
- {
71
- title: 'save',
72
- // action: this._updateDataSet.bind(this),
73
- icon: 'save'
79
+ <div class="title">${label}</div>
80
+
81
+ <div class="filters"><label>Filter</label><input type="text" /></div>
82
+
83
+ <ox-context-page-toolbar
84
+ class="actions"
85
+ .context=${{
86
+ exportable: {
87
+ // name: i18next.t('title.data-set list'),
88
+ // data: this.exportHandler.bind(this)
74
89
  },
75
- {
76
- title: 'copy',
77
- // action: this._copyDataSet.bind(this),
78
- icon: 'content_copy'
90
+ importable: {
91
+ // handler: this.importHandler.bind(this)
79
92
  },
80
- {
81
- title: 'delete',
82
- // action: this._deleteDataSet.bind(this),
83
- icon: 'delete'
84
- }
85
- ],
86
- toolbar: false
87
- }}
88
-
89
- }> </ox-context-page-toolbar>
93
+ actions: [
94
+ {
95
+ title: 'save',
96
+ // action: this._updateDataSet.bind(this),
97
+ icon: 'save'
98
+ },
99
+ {
100
+ title: 'copy',
101
+ // action: this._copyDataSet.bind(this),
102
+ icon: 'content_copy'
103
+ },
104
+ {
105
+ title: 'delete',
106
+ // action: this._deleteDataSet.bind(this),
107
+ icon: 'delete'
108
+ }
109
+ ],
110
+ toolbar: false
111
+ }}
112
+ }
113
+ >
114
+ </ox-context-page-toolbar>
90
115
  </div>
91
116
  </div>
92
117
  `