material 0.7.1 → 0.7.4

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 (155) hide show
  1. package/LICENSE +9 -18
  2. package/README.md +1 -5
  3. package/index.js +25 -48
  4. package/package.json +3 -24
  5. package/src/badge.js +1 -1
  6. package/src/button.js +50 -100
  7. package/src/calendar.js +53 -53
  8. package/src/card.js +1 -1
  9. package/src/checkbox.js +52 -104
  10. package/src/datehour.js +7 -7
  11. package/src/dialog.js +5 -5
  12. package/src/divider.js +1 -1
  13. package/src/drawer.js +1 -17
  14. package/src/element/attribute.js +7 -10
  15. package/src/element/build.js +6 -7
  16. package/src/element/create.js +3 -6
  17. package/src/element/event.js +2 -2
  18. package/src/element/insert.js +9 -20
  19. package/src/element/observer.js +22 -0
  20. package/src/element/offset.js +2 -2
  21. package/src/element/style.js +12 -12
  22. package/src/element.js +2 -2
  23. package/src/file.js +1 -1
  24. package/src/form/build.js +7 -7
  25. package/src/form/controller.js +8 -8
  26. package/src/form/create.js +1 -1
  27. package/src/form/data.js +9 -9
  28. package/src/form/delete.js +1 -1
  29. package/src/form/render.js +9 -9
  30. package/src/form/set.js +1 -1
  31. package/src/form/submit.js +6 -6
  32. package/src/form/update.js +3 -3
  33. package/src/form/verify.js +4 -4
  34. package/src/form.js +9 -9
  35. package/src/icon.js +4 -4
  36. package/src/image.js +7 -7
  37. package/src/item.js +1 -1
  38. package/src/layout.js +14 -14
  39. package/src/link.js +1 -1
  40. package/src/list/build.js +8 -8
  41. package/src/list/click.js +3 -3
  42. package/src/list/filter.js +11 -11
  43. package/src/list/image.js +3 -3
  44. package/src/list/render.js +15 -15
  45. package/src/list/request.js +7 -7
  46. package/src/list/search.js +9 -9
  47. package/src/list/select.js +18 -18
  48. package/src/list/status.js +1 -1
  49. package/src/list/update.js +6 -6
  50. package/src/list/virtual.js +20 -20
  51. package/src/list/virtual.new.js +5 -5
  52. package/src/list.js +8 -10
  53. package/src/map/build.js +2 -2
  54. package/src/map/countries.js +8 -8
  55. package/src/map/display.js +13 -13
  56. package/src/map/focus.js +7 -7
  57. package/src/map/select.js +2 -2
  58. package/src/map/set.js +3 -3
  59. package/src/map/viewport.js +11 -11
  60. package/src/menu.js +12 -12
  61. package/src/mixin/control.js +3 -3
  62. package/src/mixin/controller.js +5 -5
  63. package/src/mixin/create.js +1 -1
  64. package/src/mixin/display.js +1 -1
  65. package/src/mixin/events.js +4 -16
  66. package/src/mixin/focus.js +1 -1
  67. package/src/mixin/icon.js +2 -2
  68. package/src/mixin/init.js +2 -2
  69. package/src/mixin/insert.js +5 -5
  70. package/src/mixin/label.js +2 -2
  71. package/src/mixin/settings.js +5 -5
  72. package/src/module/attach.js +35 -49
  73. package/src/module/attributes.js +2 -2
  74. package/src/module/build.js +6 -11
  75. package/src/module/classify.js +4 -4
  76. package/src/module/controller.js +5 -32
  77. package/src/module/css.js +12 -84
  78. package/src/module/dataset.js +1 -1
  79. package/src/module/dom.js +9 -3
  80. package/src/module/dot.js +4 -4
  81. package/src/module/emitter.js +1 -1
  82. package/src/module/event.js +2 -2
  83. package/src/module/events.js +29 -35
  84. package/src/module/extract.js +10 -10
  85. package/src/module/last.js +18 -0
  86. package/src/module/mediator.js +1 -13
  87. package/src/module/object.js +4 -4
  88. package/src/module/observer.js +43 -16
  89. package/src/module/remove.js +10 -10
  90. package/src/module/request.js +33 -0
  91. package/src/module/ripple.js +19 -24
  92. package/src/module/scrollbar.js +10 -14
  93. package/src/module/smoothscroll.js +5 -9
  94. package/src/module/utils.js +14 -23
  95. package/src/module/viewport.js +5 -5
  96. package/src/navigation.js +7 -1
  97. package/src/progress.js +1 -9
  98. package/src/search.js +24 -29
  99. package/src/select.js +6 -6
  100. package/src/selecter.js +39 -39
  101. package/src/selector.js +3 -3
  102. package/src/skin/material/button/action.sass +6 -6
  103. package/src/skin/material/button/button.sass +6 -6
  104. package/src/skin/material/button/file.sass +1 -1
  105. package/src/skin/material/button/floating.sass +5 -5
  106. package/src/skin/material/button/raised.sass +5 -5
  107. package/src/skin/material/button/stroked.sass +5 -5
  108. package/src/skin/material/component/navigation.sass +13 -1
  109. package/src/skin/material/control/checkbox.sass +21 -21
  110. package/src/skin/material/module/ripple.sass +1 -1
  111. package/src/slider.js +1 -1
  112. package/src/snackbar.js +12 -9
  113. package/src/styles/M3/abstracts/variables.sass +44 -0
  114. package/src/styles/M3/components/button.sass +26 -0
  115. package/src/styles/M3/modules/ripple.sass +9 -0
  116. package/src/styles/M3/themes/classic.sass +2 -0
  117. package/src/switch.js +1 -1
  118. package/src/switcher.js +15 -15
  119. package/src/tabs.js +6 -8
  120. package/src/tabview.js +26 -46
  121. package/src/text.js +1 -1
  122. package/src/textfield.js +1 -1
  123. package/src/toolbar.js +12 -12
  124. package/src/tooltip.js +7 -7
  125. package/src/tree.js +10 -66
  126. package/src/view/build.js +2 -2
  127. package/src/view/dataset.js +1 -1
  128. package/src/view.js +9 -74
  129. package/dist/demo-bundle.js +0 -2
  130. package/dist/demo-bundle.js.map +0 -1
  131. package/dist/demo.css +0 -93
  132. package/dist/demo.css.map +0 -7
  133. package/dist/demo.html +0 -24
  134. package/dist/demo.js +0 -159
  135. package/dist/icon/accessibility.svg +0 -5
  136. package/dist/icon/apps.svg +0 -5
  137. package/dist/icon/happy.svg +0 -6
  138. package/dist/icon/link.svg +0 -5
  139. package/dist/icon/more.svg +0 -5
  140. package/dist/icon/navi.svg +0 -5
  141. package/dist/icon/phone.svg +0 -6
  142. package/dist/icon/share.svg +0 -6
  143. package/dist/icon/side.svg +0 -5
  144. package/dist/icon/star.svg +0 -7
  145. package/dist/icon/star_border.svg +0 -6
  146. package/dist/material.css +0 -2429
  147. package/dist/material.css.map +0 -7
  148. package/dist/styles/demo.sass +0 -110
  149. package/dist/styles.css +0 -23
  150. package/rollup.config.js +0 -34
  151. package/src/container.js +0 -66
  152. package/src/element/ripple.js +0 -90
  153. package/src/field/email.js +0 -59
  154. package/src/field/image.js +0 -93
  155. package/src/module/addclass.js +0 -16
@@ -0,0 +1,9 @@
1
+ .ripple
2
+ opacity: 1
3
+ pointer-events: none
4
+ z-index: 1
5
+ position: absolute
6
+ background-color: rgba(255, 255, 255, 0.1)
7
+ height: 5px
8
+ width: 5px
9
+ border-radius: 50%
@@ -0,0 +1,2 @@
1
+ $primary: #6750A4
2
+ $onPrimary: rgba(255,255,255,.87)
package/src/switch.js CHANGED
@@ -55,7 +55,7 @@ class Switch extends EventEmitter {
55
55
  this.buildLabel()
56
56
 
57
57
  if (this.options.data) {
58
- dataset(this.root, this.options.data)
58
+ dataset(this.element, this.options.data)
59
59
  }
60
60
 
61
61
  // console.log('attribute', this.ui.input, this.options)
package/src/switcher.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import EventEmitter from './mixin/emitter'
2
2
 
3
- class Switcher extends EventEmitter{
3
+ class Switcher extends EventEmitter {
4
4
  static defaults = {
5
5
  class: 'switcher',
6
6
  tag: 'div',
@@ -9,7 +9,7 @@ class Switcher extends EventEmitter{
9
9
  mode: 'unique',
10
10
  allowEmpty: false
11
11
  }
12
-
12
+
13
13
  constructor (options) {
14
14
  super()
15
15
 
@@ -22,7 +22,7 @@ class Switcher extends EventEmitter{
22
22
  }
23
23
  }
24
24
 
25
- init(options) {
25
+ init (options) {
26
26
  this.options = Object.assign({}, Switcher.defaults, options || {})
27
27
  }
28
28
 
@@ -85,8 +85,8 @@ class Switcher extends EventEmitter{
85
85
  if (item) {
86
86
  item.classList.add('preselected')
87
87
  } else {
88
- var items = this.list.childNodes
89
- for (var i = 0; i < items.length; i++) {
88
+ const items = this.list.childNodes
89
+ for (let i = 0; i < items.length; i++) {
90
90
  items[i].classList.remove('preselected')
91
91
  }
92
92
  }
@@ -94,7 +94,7 @@ class Switcher extends EventEmitter{
94
94
 
95
95
  selectByName (name) {
96
96
  // console.log('selectByName', name)
97
- var item = this.element.querySelector('[data-switcher="' + name + '"]')
97
+ const item = this.element.querySelector('[data-switcher="' + name + '"]')
98
98
  // console.log('item', item)
99
99
  if (item) {
100
100
  this.select(item)
@@ -103,7 +103,7 @@ class Switcher extends EventEmitter{
103
103
 
104
104
  preSelectByName (name) {
105
105
  // console.log('selectByName', name)
106
- var item = this.element.querySelector('[data-switcher="' + name + '"]')
106
+ const item = this.element.querySelector('[data-switcher="' + name + '"]')
107
107
  // console.log('item', item)
108
108
  this.preselect(item)
109
109
  }
@@ -111,9 +111,9 @@ class Switcher extends EventEmitter{
111
111
  unique (option) {
112
112
  // console.log('option', option)
113
113
  if (!option.classList.contains('selected')) {
114
- var options = this.list.childNodes
114
+ const options = this.list.childNodes
115
115
 
116
- for (var i = 0; i < options.length; i++) {
116
+ for (let i = 0; i < options.length; i++) {
117
117
  options[i].classList.remove('selected')
118
118
  }
119
119
 
@@ -132,7 +132,7 @@ class Switcher extends EventEmitter{
132
132
  multiple (option) {
133
133
  if (option.classList.contains('selected')) {
134
134
  if (this.selected.length === 1) return
135
- var i = this.selected.indexOf(option.dataset.switcher)
135
+ const i = this.selected.indexOf(option.dataset.switcher)
136
136
  this.selected.splice(i, 1)
137
137
  option.classList.remove('selected')
138
138
  } else {
@@ -163,7 +163,7 @@ class Switcher extends EventEmitter{
163
163
 
164
164
  setValue (value) {
165
165
  // console.log('value', value, this.options.list, this.element)
166
- var list = this.options.list
166
+ const list = this.options.list
167
167
  if (this.options.mode === 'unique') {
168
168
  for (var i = 0; i < list.length; i++) {
169
169
  this.element.querySelector('[data-switcher="' + list[i] + '"]').classList.remove('selected')
@@ -190,7 +190,7 @@ class Switcher extends EventEmitter{
190
190
 
191
191
  if (!list) return
192
192
 
193
- for (var i = 0; i < list.length; i++) {
193
+ for (let i = 0; i < list.length; i++) {
194
194
  this.addOption(list[i])
195
195
  }
196
196
  }
@@ -202,19 +202,19 @@ class Switcher extends EventEmitter{
202
202
 
203
203
  if (this.options.list.length < 1) this.options.list = list
204
204
 
205
- for (var i = 0; i < list.length; i++) {
205
+ for (let i = 0; i < list.length; i++) {
206
206
  this.addOption(list[i])
207
207
  }
208
208
  }
209
209
 
210
210
  addOption (value) {
211
211
  // console.log('addOption', value)
212
- var item = document.createElement('li')
212
+ const item = document.createElement('li')
213
213
  item.classList.add('item')
214
214
  item.dataset.switcher = value
215
215
  item.innerHTML = value
216
216
  this.list.appendChild(item)
217
- // this.options.list.push(list[i])
217
+ // this.options.list.push(list[i])
218
218
  }
219
219
 
220
220
  setLabel (value) {
package/src/tabs.js CHANGED
@@ -1,5 +1,3 @@
1
- 'use strict'
2
-
3
1
  import create from './mixin/create'
4
2
  import insert from './mixin/insert'
5
3
  import emitter from './module/emitter'
@@ -48,15 +46,15 @@ class Tabs {
48
46
  this.tab = { }
49
47
  if (this.options.list) {
50
48
  this.list = new List({
51
- // root: this.element,
52
49
  tag: 'div',
50
+ container: this.element,
53
51
  list: this.options.list,
54
52
  target: '.material-button',
55
53
  height: 600,
56
54
  label: 'Flat',
57
55
 
58
56
  render: (info) => {
59
- var item
57
+ let item
60
58
  if (info.type === 'divider') {
61
59
  item = new Divider()
62
60
  } else {
@@ -75,7 +73,7 @@ class Tabs {
75
73
  this.selected = item
76
74
  this.click(item)
77
75
  }
78
- }).insert(this.element)
76
+ })
79
77
  }
80
78
 
81
79
  this.indicator = create(this.options.indicator)
@@ -91,13 +89,13 @@ class Tabs {
91
89
  select (tab) {
92
90
  // console.log('select', tab, this.tab)
93
91
  this.selected = this.tab[tab]
94
- this.click(this.selected.root, true)
92
+ this.click(this.selected.element, true)
95
93
  }
96
94
 
97
95
  click (item, silent) {
98
96
  // console.log('clickitem', item, this.element);
99
- var or = offset(this.element)
100
- var o = offset(item)
97
+ const or = offset(this.element)
98
+ const o = offset(item)
101
99
  this.indicator.setAttribute('style', 'width: ' + o.width + 'px; left: ' + (o.left - or.left) + 'px;')
102
100
 
103
101
  if (!silent) { this.emit('select', item.dataset.name) }
package/src/tabview.js CHANGED
@@ -1,38 +1,24 @@
1
- import emitter from './module/emitter'
2
- import observer from './module/observer'
1
+ import EventEmitter from './mixin/emitter'
2
+ import observer from './element/observer'
3
+ import build from './module/build'
3
4
  import display from './view/display'
4
5
 
5
- /**
6
- * Class Tab
7
- * @class
8
- * @since 0.0.1
9
- * @example
10
- * var tab = new TabView()
11
- */
12
-
13
- var defaults = {
14
- class: 'tabview',
15
- mode: 'style' // css
16
- }
6
+ class TabView extends EventEmitter {
7
+ static defaults = {
8
+ base: 'view',
9
+ class: 'tabview',
10
+ mode: 'style'
11
+ }
17
12
 
18
- class TabView {
19
- /**
20
- * The init method of the Button class
21
- * @param {Object} The element attributes
22
- * @private
23
- * @return {DOMElement} The dom element
24
- */
25
13
  constructor (options) {
26
- // console.log('TabView')
27
- this.options = Object.assign({}, defaults, options || {})
28
- Object.assign(this, emitter, display)
14
+ super()
29
15
 
16
+ this.init(options)
30
17
  this.build()
31
18
 
32
- var ready = false
19
+ let ready = false
33
20
 
34
21
  observer.insert(this.element, () => {
35
- // console.log('!!! inserted')
36
22
  if (!ready) {
37
23
  ready = true
38
24
  this.setup()
@@ -45,15 +31,9 @@ class TabView {
45
31
  return this
46
32
  }
47
33
 
48
- build () {
49
- this.element = document.createElement(this.options.tag || 'div')
50
- this.element.classList.add('tabview')
51
-
52
- this.element.classList.add('view')
53
-
54
- if (this.options.class !== 'tabview') {
55
- this.element.classList.add(this.options.class)
56
- }
34
+ init (options) {
35
+ this.options = { ...TabView.defaults, ...options }
36
+ Object.assign(this, build, display)
57
37
 
58
38
  this.ui = {}
59
39
  }
@@ -72,7 +52,7 @@ class TabView {
72
52
 
73
53
  // console.log('views', this.ui.views)
74
54
 
75
- for (var i = 0; i < this.ui.views.length; i++) {
55
+ for (let i = 0; i < this.ui.views.length; i++) {
76
56
  if (this.ui.views[i].dataset) {
77
57
  this.views.push(this.ui.views[i].dataset.view)
78
58
  this.view[this.ui.views[i].dataset.view] = this.ui.views[i]
@@ -98,7 +78,7 @@ class TabView {
98
78
  select (view) {
99
79
  // console.log('select', view, this.ui.tabs)
100
80
  if (this.ui && this.ui.tabs) {
101
- var button = this.ui.tabs.querySelector('[data-view="' + view + '"]')
81
+ const button = this.ui.tabs.querySelector('[data-view="' + view + '"]')
102
82
  // console.log('tab', button)
103
83
  if (button) {
104
84
  this.click(button)
@@ -111,7 +91,7 @@ class TabView {
111
91
  disable (view) {
112
92
  // console.log('select', view)
113
93
  if (this.ui && this.ui.tabs) {
114
- var button = this.ui.tabs.querySelector('[data-view="' + view + '"]')
94
+ const button = this.ui.tabs.querySelector('[data-view="' + view + '"]')
115
95
  // console.log('tab', button)
116
96
  if (button) {
117
97
  button.disabled = 'disabled'
@@ -125,7 +105,7 @@ class TabView {
125
105
  // console.log('select', view)
126
106
 
127
107
  if (this.ui && this.ui.tabs) {
128
- var button = this.ui.tabs.querySelector('[data-view="' + view + '"]')
108
+ const button = this.ui.tabs.querySelector('[data-view="' + view + '"]')
129
109
  // console.log('tab', button)
130
110
  if (button) {
131
111
  button.disabled = false
@@ -137,7 +117,7 @@ class TabView {
137
117
 
138
118
  hideView () {
139
119
  // console.log('hideView')
140
- for (var i = 0; i < this.ui.views.length; i++) {
120
+ for (let i = 0; i < this.ui.views.length; i++) {
141
121
  // console.log('hide', this.ui.views[i])
142
122
  this.ui.views[i].classList.add('hide')
143
123
  }
@@ -145,7 +125,7 @@ class TabView {
145
125
 
146
126
  click (button) {
147
127
  // console.log('click', button.dataset.view, true)
148
- var view = this.ui.view.querySelector('[data-view="' + button.dataset.view + '"]')
128
+ const view = this.ui.view.querySelector('[data-view="' + button.dataset.view + '"]')
149
129
  this.hideView()
150
130
 
151
131
  if (this.button) {
@@ -172,14 +152,14 @@ class TabView {
172
152
  indicator (button) {
173
153
  if (!this.ui.indicator) return
174
154
 
175
- var t = this.ui.tabs.getBoundingClientRect()
176
- var b = button.getBoundingClientRect()
155
+ const tabs = this.ui.tabs.getBoundingClientRect()
156
+ var button = button.getBoundingClientRect()
177
157
 
178
158
  // console.log('tab rect', b.height, b.height)
179
159
 
180
- this.ui.indicator.style.top = t.height - 2 + 'px'
181
- this.ui.indicator.style.left = (b.left - t.left) + 'px'
182
- this.ui.indicator.style.width = b.width + 'px'
160
+ this.ui.indicator.style.top = tabs.height - 2 + 'px'
161
+ this.ui.indicator.style.left = (button.left - tabs.left) + 'px'
162
+ this.ui.indicator.style.width = button.width + 'px'
183
163
  }
184
164
  }
185
165
 
package/src/text.js CHANGED
@@ -27,7 +27,7 @@ class Text {
27
27
  // console.log('set', text)
28
28
  if (text === undefined) return
29
29
 
30
- var label = this.options.label || ''
30
+ const label = this.options.label || ''
31
31
 
32
32
  if (this.options.textFirst) {
33
33
  this.element.innerHTML = text + label
package/src/textfield.js CHANGED
@@ -32,7 +32,7 @@ class Textfield {
32
32
  }
33
33
 
34
34
  build () {
35
- var tag = this.options.tag || 'div'
35
+ const tag = this.options.tag || 'div'
36
36
 
37
37
  this.element = document.createElement(tag)
38
38
  this.element.classList.add('textfield')
package/src/toolbar.js CHANGED
@@ -63,16 +63,16 @@ class Toolbar {
63
63
 
64
64
  attach () {
65
65
  this.element.addEventListener('DOMNodeInserted', (e) => {
66
- var textNode = e.target
66
+ const textNode = e.target
67
67
  if (textNode !== this.element) return
68
68
 
69
- var size = this.size = offset(this.element, 'height')
69
+ const size = this.size = offset(this.element, 'height')
70
70
 
71
- var view = this.view = this.element.parentNode
71
+ const view = this.view = this.element.parentNode
72
72
 
73
73
  // console.log('view', view)
74
74
 
75
- var padding = window.getComputedStyle(view)['padding-top']
75
+ let padding = window.getComputedStyle(view)['padding-top']
76
76
  // console.log('paddingTop', padding)
77
77
  // if (!padding) padding = window.getComputedStyle(this.element.parentNode, 'padding')
78
78
  // console.log('padding', padding)
@@ -83,7 +83,7 @@ class Toolbar {
83
83
  this.padding = padding
84
84
 
85
85
  // console.log(' toolbar inserted in', size, 'padding', padding)
86
- var ptop = this.ptop = size + padding
86
+ const ptop = this.ptop = size + padding
87
87
 
88
88
  // console.log('ptop', ptop)
89
89
 
@@ -125,9 +125,9 @@ class Toolbar {
125
125
  scroll (view) {
126
126
  // console.log('initScroll')
127
127
 
128
- var isBody = false
128
+ let isBody = false
129
129
 
130
- var element = view
130
+ let element = view
131
131
 
132
132
  this.scrolling = view
133
133
 
@@ -140,7 +140,7 @@ class Toolbar {
140
140
  view.classList.add()
141
141
 
142
142
  element.addEventListener('scroll', (e) => {
143
- var scrollTop
143
+ let scrollTop
144
144
  if (isBody) {
145
145
  scrollTop = (document.documentElement ||
146
146
  document.body.parentNode ||
@@ -167,11 +167,11 @@ class Toolbar {
167
167
  }
168
168
 
169
169
  flexible (e, scrollTop) {
170
- var size = offset(this.element, 'height')
170
+ const size = offset(this.element, 'height')
171
171
  // console.log('flexible', size, this.element.offsetHeight, scrollTop)
172
172
  // if (scrollTop < this.size) {
173
173
  //
174
- var height = '64'
174
+ let height = '64'
175
175
  if (size < height) {
176
176
  this.element.style.height = height + 'px'
177
177
  } else {
@@ -188,8 +188,8 @@ class Toolbar {
188
188
  // this.element.style.top = scrollTop + 'px'
189
189
  // }
190
190
  // }
191
- // this.element.style.top = scrollTop + 'px'
192
- // this.element.style.height = this.size - scrollTop
191
+ // this.element.style.top = scrollTop + 'px'
192
+ // this.element.style.height = this.size - scrollTop
193
193
  // } else {
194
194
  // console.log('size scroll', this.size, scrollTop)
195
195
 
package/src/tooltip.js CHANGED
@@ -38,7 +38,7 @@ class Tooltip {
38
38
  }
39
39
 
40
40
  build () {
41
- var container = this.options.container || document.body
41
+ const container = this.options.container || document.body
42
42
 
43
43
  this.element = document.createElement('span')
44
44
  this.element.classList.add('tooltip')
@@ -57,9 +57,9 @@ class Tooltip {
57
57
 
58
58
  attach () {
59
59
  // console.log('attach', this.options.targets)
60
- var targets = document.querySelectorAll(this.options.targets)
60
+ const targets = document.querySelectorAll(this.options.targets)
61
61
 
62
- for (var i = 0; i < targets.length; i++) {
62
+ for (let i = 0; i < targets.length; i++) {
63
63
  targets[i].addEventListener('mouseover', (e) => {
64
64
  // console.log('tooltip', touch(), this.disabled)
65
65
  if (touch()) return
@@ -75,7 +75,7 @@ class Tooltip {
75
75
  }
76
76
 
77
77
  this.label.innerHTML = e.currentTarget.dataset.tooltip
78
- var coord = this.offset(e.currentTarget)
78
+ const coord = this.offset(e.currentTarget)
79
79
 
80
80
  this.show()
81
81
  this.element.style.top = (coord.top + this.options.offset.top) + 'px'
@@ -96,9 +96,9 @@ class Tooltip {
96
96
  }
97
97
 
98
98
  offset (target) {
99
- var rect = target.getBoundingClientRect()
100
- var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft
101
- var scrollTop = window.pageYOffset || document.documentElement.scrollTop
99
+ const rect = target.getBoundingClientRect()
100
+ const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft
101
+ const scrollTop = window.pageYOffset || document.documentElement.scrollTop
102
102
  return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
103
103
  }
104
104
 
package/src/tree.js CHANGED
@@ -1,10 +1,7 @@
1
- 'use strict'
2
-
3
- import insert from './mixin/insert'
4
- import css from './module/css'
5
- import attach from './module/attach'
6
-
7
1
  import emitter from './module/emitter'
2
+ import * as css from './module/css'
3
+ import attach from './module/attach'
4
+ import insert from './mixin/insert'
8
5
 
9
6
  const defaults = {
10
7
  prefix: 'material',
@@ -16,21 +13,7 @@ const defaults = {
16
13
  ]
17
14
  }
18
15
 
19
- /**
20
- * Tree component
21
- * @class
22
- * @param {Object} options Default options for view
23
- * @extends {View}
24
- * @since 0.0.4
25
- * @author Jerome Vial
26
- *
27
- * @type {prime}
28
- */
29
16
  class Tree {
30
- /**
31
- * init
32
- * @return {Object} The class options
33
- */
34
17
  constructor (options) {
35
18
  this.options = Object.assign({}, defaults, options || {})
36
19
 
@@ -41,10 +24,6 @@ class Tree {
41
24
  return this
42
25
  }
43
26
 
44
- /**
45
- * [_initView description]
46
- * @return Class instance
47
- */
48
27
  init () {
49
28
  // init this
50
29
 
@@ -62,28 +41,18 @@ class Tree {
62
41
  return this
63
42
  }
64
43
 
65
- /**
66
- * [_initFunction description]
67
- * @param {?} functions [description]
68
- * @return {} [description]
69
- */
70
44
  _initFunction (functions) {
71
- for (var i = 0; i < functions.length; i++) {
72
- var name = functions[i]
45
+ for (let i = 0; i < functions.length; i++) {
46
+ const name = functions[i]
73
47
  if (this.options[name]) {
74
48
  this[name] = this.options[name]
75
49
  }
76
50
  }
77
51
  }
78
52
 
79
- /**
80
- * [_initList description]
81
- * @param {Object} options this class options
82
- * @return {Object} The class instance
83
- */
84
53
  build () {
85
54
  // define main tag
86
- var tag = this.options.tag || 'div'
55
+ const tag = this.options.tag || 'div'
87
56
 
88
57
  this.element = document.createElement(tag)
89
58
  css.add(this.element, this.options.prefix + '-' + this.options.class)
@@ -109,7 +78,7 @@ class Tree {
109
78
 
110
79
  // console.log('buildTree', data);
111
80
 
112
- var tree = ''
81
+ let tree = ''
113
82
 
114
83
  function checkChildren (parentObj, level) {
115
84
  if (level) {
@@ -135,8 +104,8 @@ class Tree {
135
104
 
136
105
  if (parentObj.children && parentObj.children.length > 0) {
137
106
  tree += '<ul>'
138
- for (var i = 0; i < parentObj.children.length; i++) {
139
- var children = parentObj.children[i]
107
+ for (let i = 0; i < parentObj.children.length; i++) {
108
+ const children = parentObj.children[i]
140
109
 
141
110
  checkChildren(children, level)
142
111
  }
@@ -161,11 +130,6 @@ class Tree {
161
130
  // console.log(this.options)
162
131
  }
163
132
 
164
- /**
165
- * This method handles onSelect
166
- * @param {event} e [description]
167
- * @return {?} [description]
168
- */
169
133
  onSelect (e) {
170
134
  // console.log('click', e.target, this.options.target)
171
135
  if (e.target && e.target.matches(this.options.target)) {
@@ -184,12 +148,6 @@ class Tree {
184
148
  return this
185
149
  }
186
150
 
187
- /**
188
- * select
189
- * @param {Element} item [description]
190
- * @param {event} event The caller event
191
- * @return [description]
192
- */
193
151
  select (item, event) {
194
152
  // console.log('select', item, event)
195
153
  this.item = item
@@ -197,11 +155,6 @@ class Tree {
197
155
  this.emit('selected', item[0])
198
156
  }
199
157
 
200
- /**
201
- * Setter
202
- * @param {string} prop
203
- * @param {string} value
204
- */
205
158
  set (prop, value, options) {
206
159
  switch (prop) {
207
160
  case 'tree':
@@ -214,26 +167,17 @@ class Tree {
214
167
  return this
215
168
  }
216
169
 
217
- /**
218
- * Set list
219
- * @param {Array} list List of info object
220
- * @return {Object} The class instance
221
- */
222
170
  setTree (data) {
223
171
  this.buildTree(data)
224
172
  return this
225
173
  }
226
174
 
227
- /**
228
- * [add description]
229
- * @param {Object} item [description]
230
- */
231
175
  addItem (item /*, index */) {
232
176
  if (!item) {
233
177
  return
234
178
  }
235
179
 
236
- var where = 'bottom'
180
+ const where = 'bottom'
237
181
  this.insertElement(item.root, this.element, where)
238
182
  // item.insert(this.element, where);
239
183
  this.items.push(item)
package/src/view/build.js CHANGED
@@ -25,9 +25,9 @@ export default {
25
25
  },
26
26
 
27
27
  addClass (c) {
28
- var list = c.split(' ')
28
+ const list = c.split(' ')
29
29
 
30
- for (var i = 0; i < list.length; i++) {
30
+ for (let i = 0; i < list.length; i++) {
31
31
  this.element.classList.add(list[i])
32
32
  }
33
33
  }
@@ -1,7 +1,7 @@
1
1
 
2
2
  function dataset (element, data) {
3
3
  if (data) {
4
- for (var property in data) {
4
+ for (const property in data) {
5
5
  if (data.hasOwnProperty(property)) {
6
6
  element.dataset[property] = data[property]
7
7
  }