beyond-rails 0.0.186 → 0.0.191

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/src/js/components/Alert.js +1 -1
  3. data/src/js/components/Autocomplete.js +1 -1
  4. data/src/js/components/AutocompleteMenu.js +1 -1
  5. data/src/js/components/BarChart.js +452 -0
  6. data/src/js/components/Btn.js +1 -1
  7. data/src/js/components/Checkbox.js +1 -1
  8. data/src/js/components/DateInput.js +1 -1
  9. data/src/js/components/DateMenu.js +1 -1
  10. data/src/js/components/DateTimeRanger.js +1 -1
  11. data/src/js/components/Datepicker.js +1 -1
  12. data/src/js/components/DatepickerBtnArrow.js +1 -1
  13. data/src/js/components/Dropdown.js +1 -1
  14. data/src/js/components/LineChart.js +535 -0
  15. data/src/js/components/Menu.js +1 -1
  16. data/src/js/components/Modal.js +64 -13
  17. data/src/js/components/Navbar.js +1 -1
  18. data/src/js/components/Radio.js +1 -1
  19. data/src/js/components/SearchDropdown.js +1 -1
  20. data/src/js/components/Sidebar.js +1 -1
  21. data/src/js/components/Tabbox.js +1 -1
  22. data/src/js/components/TimeInput.js +1 -1
  23. data/src/js/components/TimeMenu.js +1 -1
  24. data/src/js/components/Timepicker.js +1 -1
  25. data/src/js/components/Toast.js +1 -1
  26. data/src/js/components/ToastItem.js +1 -1
  27. data/src/js/components/Tooltip.js +1 -1
  28. data/src/js/decorators/chartCommon.js +218 -0
  29. data/src/js/{utils → decorators}/supportDom.js +1 -1
  30. data/src/js/index.js +6 -2
  31. data/src/js/jquery/bindModalFn.js +57 -6
  32. data/src/js/utils/index.js +10 -1
  33. data/src/js/utils/isDef.js +3 -0
  34. data/src/js/utils/isInt.js +3 -0
  35. data/src/js/utils/isUndef.js +3 -0
  36. data/src/sass/_beyond.scss +1 -0
  37. data/src/sass/abstracts/_variables.scss +1 -1
  38. data/src/sass/components/_breadcrumb.scss +3 -0
  39. data/src/sass/components/_chart.scss +14 -0
  40. data/src/sass/components/_mega-menu.scss +28 -28
  41. data/src/sass/components/_modal.scss +12 -1
  42. data/src/sass/components/_nav.scss +1 -0
  43. metadata +28 -9
@@ -1,14 +1,65 @@
1
1
  export default function bindModalFn(beyond, $) {
2
2
 
3
- const { Modal } = beyond
4
-
5
- $.fn.modal = function(settings) {
3
+ $.fn.modal = function(settings, html) {
6
4
 
7
- const options = $.extend({}, $.fn.modal.defaults, settings)
8
- const modals = this.map((i, dom) => new Modal(dom, options))
5
+ if (typeof settings === 'string') {
6
+ const method = settings
7
+ initModals(this, $.fn.modal.defaults)
8
+ if (method === 'open?') {
9
+ return this.map((i, dom) => dom._modal.visible())
10
+ }
11
+ this.each((i, dom) => dom._modal[method](html))
12
+ }
13
+ else {
14
+ const options = $.extend({}, $.fn.modal.defaults, settings)
15
+ initModals(this, options)
16
+ }
9
17
 
10
- this.destroy = () => modals.each((i, m) => m.destroy())
18
+ this.destroy = () => this.each((i, dom) => dom._modal && dom._modal.destroy())
11
19
 
12
20
  return this
13
21
  }
22
+
23
+ $.uniqModal = getUniqModalSelector
24
+ }
25
+
26
+ function initModals(self, options) {
27
+ const { Modal } = beyond
28
+ self.each((i, dom) => {
29
+ if (! dom._modal) {
30
+ dom._modal = new Modal(dom, options)
31
+ }
32
+ })
33
+ }
34
+
35
+ function getUniqModalSelector() {
36
+ const id = 'beyond-uniq-modal'
37
+ const dom = document.getElementById(id)
38
+ if (dom) {
39
+ return $(`#${id}`)
40
+ }
41
+ const div = document.createElement('div')
42
+ div.id = id
43
+ div.className = 'modal'
44
+ div.innerHTML = `
45
+ <div class="modal-dialog">
46
+ <div class="modal-content">
47
+ <div class="modal-header">
48
+ <h5 class="modal-title">視窗標題</h5>
49
+ <button type="button" class="btn-close" data-close aria-label="Close">
50
+ <i class="icon icon-cross"></i>
51
+ </button>
52
+ </div>
53
+ <div class="modal-body bg-content">
54
+ 視窗內文
55
+ </div>
56
+ <div class="modal-footer">
57
+ <button data-cancel class="btn btn-outline">取消</button>
58
+ <button data-confirm class="btn btn-primary">確認</button>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ `
63
+ document.body.appendChild(div)
64
+ return $(div)
14
65
  }
@@ -33,6 +33,10 @@ import isFunction from 'lodash.isfunction'
33
33
  import noop from 'lodash.noop'
34
34
  import range from 'lodash.range'
35
35
  import throttle from 'lodash.throttle'
36
+ import uniqBy from 'lodash.uniqby'
37
+ import sortBy from 'lodash.sortby'
38
+
39
+ import mem from 'mem'
36
40
 
37
41
  export {
38
42
  // @superlanding
@@ -69,5 +73,10 @@ export {
69
73
  isFunction,
70
74
  noop,
71
75
  range,
72
- throttle
76
+ throttle,
77
+ uniqBy,
78
+ sortBy,
79
+
80
+ // others
81
+ mem
73
82
  }
@@ -0,0 +1,3 @@
1
+ export default function isDef(value) {
2
+ return (typeof value !== 'undefined')
3
+ }
@@ -0,0 +1,3 @@
1
+ export default function isInt(value) {
2
+ return (value % 1) === 0
3
+ }
@@ -0,0 +1,3 @@
1
+ export default function isUndef(value) {
2
+ return (typeof value === 'undefined')
3
+ }
@@ -50,3 +50,4 @@
50
50
  @import './components/_tooltip';
51
51
  @import './components/_switch';
52
52
  @import './components/_mega-menu';
53
+ @import './components/_chart';
@@ -1,7 +1,7 @@
1
1
  $beyond-use-helper: false !default;
2
2
 
3
3
  // texts
4
- $text-color-strong: #3c4257;
4
+ $text-color-strong: #1a1f36;
5
5
  $text-color: #3c4257;
6
6
  $text-color-light: #828695;
7
7
 
@@ -14,4 +14,7 @@
14
14
  .breadcrumb-item.active {
15
15
  color: #6c757d;
16
16
  }
17
+ .breadcrumb-item a {
18
+ color: #000;
19
+ }
17
20
  }
@@ -0,0 +1,14 @@
1
+ .chart {
2
+ font-family: Roboto;
3
+ }
4
+
5
+ .chart-menu {
6
+ display: none;
7
+ position: absolute;
8
+ background-color: #fff;
9
+ padding: 10px 13px;
10
+ box-shadow: 4px 4px 15px 1px rgba(68, 68, 72, .12);
11
+ color: #3c4257;
12
+ z-index: 1;
13
+ border: 1px solid #e8e8e8;
14
+ }
@@ -1,37 +1,33 @@
1
+ $mega-menu-text-color: #0a2540;
2
+ $mega-menu-text-color-ex: #8A8D90;
3
+
4
+ @mixin mega-menu-text() {
5
+ transition: .3s color;
6
+ color: $mega-menu-text-color;
7
+ &:hover {
8
+ color: $mega-menu-text-color-ex;
9
+ }
10
+ }
11
+
1
12
  .mega-menu {
2
- padding-top: .2rem;
3
- padding-bottom: .2rem;
13
+ font-size: .9375rem;
14
+ }
15
+ .mega-menu-divider {
16
+ border-bottom: 1px solid #ebebeb;
4
17
  }
5
18
  .mega-menu-col {
6
19
  padding: .7rem 1.5rem;
7
20
  flex-grow: 1;
8
- transition: .3s background-color;
9
- &:hover {
10
- background-color: #f6f6f6;
11
- }
12
21
  min-width: 180px;
13
- color: $text-color;
14
22
  display: flex;
15
23
  align-items: center;
16
- i {
17
- margin-right: .6rem;
18
- }
19
- }
20
- .mega-menu-label {
21
- padding-left: 1.5rem;
22
- margin-top: 1rem;
23
- margin-bottom: .5rem;
24
- color: $text-color-light;
25
- font-size: 12px;
24
+ @include mega-menu-text;
26
25
  }
27
26
  .mega-menu-item {
28
27
  transition: .3s background-color;
29
- &:hover {
30
- background-color: #f6f6f6;
31
- }
32
- color: $text-color;
33
28
  display: block;
34
- padding: .5rem 2.2rem;
29
+ padding: .7rem 1.5rem;
30
+ @include mega-menu-text;
35
31
  }
36
32
  .mega-menu-icon-box {
37
33
  display: table;
@@ -42,15 +38,19 @@
42
38
  }
43
39
  .mega-menu-icon-box-item {
44
40
  cursor: pointer;
45
- transition: .3s background-color;
46
- &:hover {
47
- background-color: #f6f6f6;
48
- }
41
+ transition: .3s all;
49
42
  display: table-cell;
50
- padding: 1rem 1.8rem;
51
- color: $text-color;
43
+ padding: 1rem 1.5rem;
52
44
  text-align: center;
45
+ @include mega-menu-text;
46
+ &:hover {
47
+ i {
48
+ color: $mega-menu-text-color;
49
+ }
50
+ }
53
51
  i {
52
+ transition: .3s color;
53
+ color: #88add2;
54
54
  display: block;
55
55
  margin-bottom: .4rem;
56
56
  }
@@ -61,7 +61,6 @@
61
61
  text-align: right;
62
62
  .btn {
63
63
  padding: 6px 12px;
64
- min-width: 62px;
65
64
  font-size: 14px;
66
65
  font-weight: 400;
67
66
  }
@@ -70,3 +69,15 @@
70
69
  }
71
70
  }
72
71
  }
72
+
73
+ .modal.static {
74
+ overflow-y: initial;
75
+ background-color: transparent;
76
+ opacity: 1;
77
+ position: static;
78
+ display: block;
79
+ .modal-dialog {
80
+ transform: scale(1);
81
+ margin: 0 auto;
82
+ }
83
+ }
@@ -43,6 +43,7 @@
43
43
  margin-right: .8rem;
44
44
  }
45
45
  }
46
+ .nav-item:active,
46
47
  .nav-item.active {
47
48
  color: $color-primary;
48
49
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beyond-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.186
4
+ version: 0.0.191
5
5
  platform: ruby
6
6
  authors:
7
7
  - kmsheng
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-08-31 00:00:00.000000000 Z
12
+ date: 2020-09-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sassc
@@ -18,6 +18,9 @@ dependencies:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 2.0.0
21
+ - - "~>"
22
+ - !ruby/object:Gem::Version
23
+ version: '2.0'
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -25,46 +28,55 @@ dependencies:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
30
  version: 2.0.0
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: autoprefixer-rails
30
36
  requirement: !ruby/object:Gem::Requirement
31
37
  requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '9.7'
32
41
  - - ">="
33
42
  - !ruby/object:Gem::Version
34
- version: 5.2.1
43
+ version: 9.7.6
35
44
  type: :runtime
36
45
  prerelease: false
37
46
  version_requirements: !ruby/object:Gem::Requirement
38
47
  requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '9.7'
39
51
  - - ">="
40
52
  - !ruby/object:Gem::Version
41
- version: 5.2.1
53
+ version: 9.7.6
42
54
  - !ruby/object:Gem::Dependency
43
55
  name: actionpack
44
56
  requirement: !ruby/object:Gem::Requirement
45
57
  requirements:
46
- - - ">="
58
+ - - "~>"
47
59
  - !ruby/object:Gem::Version
48
60
  version: '5.0'
49
61
  type: :runtime
50
62
  prerelease: false
51
63
  version_requirements: !ruby/object:Gem::Requirement
52
64
  requirements:
53
- - - ">="
65
+ - - "~>"
54
66
  - !ruby/object:Gem::Version
55
67
  version: '5.0'
56
68
  - !ruby/object:Gem::Dependency
57
69
  name: activemodel
58
70
  requirement: !ruby/object:Gem::Requirement
59
71
  requirements:
60
- - - ">="
72
+ - - "~>"
61
73
  - !ruby/object:Gem::Version
62
74
  version: '5.0'
63
75
  type: :runtime
64
76
  prerelease: false
65
77
  version_requirements: !ruby/object:Gem::Requirement
66
78
  requirements:
67
- - - ">="
79
+ - - "~>"
68
80
  - !ruby/object:Gem::Version
69
81
  version: '5.0'
70
82
  description:
@@ -101,6 +113,7 @@ files:
101
113
  - src/js/components/Alert.js
102
114
  - src/js/components/Autocomplete.js
103
115
  - src/js/components/AutocompleteMenu.js
116
+ - src/js/components/BarChart.js
104
117
  - src/js/components/Btn.js
105
118
  - src/js/components/Checkbox.js
106
119
  - src/js/components/DateInput.js
@@ -109,6 +122,7 @@ files:
109
122
  - src/js/components/Datepicker.js
110
123
  - src/js/components/DatepickerBtnArrow.js
111
124
  - src/js/components/Dropdown.js
125
+ - src/js/components/LineChart.js
112
126
  - src/js/components/Menu.js
113
127
  - src/js/components/Modal.js
114
128
  - src/js/components/Navbar.js
@@ -124,6 +138,8 @@ files:
124
138
  - src/js/components/Tooltip.js
125
139
  - src/js/consts/createdComponents.js
126
140
  - src/js/consts/index.js
141
+ - src/js/decorators/chartCommon.js
142
+ - src/js/decorators/supportDom.js
127
143
  - src/js/index.js
128
144
  - src/js/jquery/bindAlertFn.js
129
145
  - src/js/jquery/bindAutocompleteFn.js
@@ -160,10 +176,12 @@ files:
160
176
  - src/js/utils/getFloatedTargetPos.js
161
177
  - src/js/utils/getKey.js
162
178
  - src/js/utils/index.js
179
+ - src/js/utils/isDef.js
180
+ - src/js/utils/isInt.js
163
181
  - src/js/utils/isTouchDevice.js
182
+ - src/js/utils/isUndef.js
164
183
  - src/js/utils/msToS.js
165
184
  - src/js/utils/promisify.js
166
- - src/js/utils/supportDom.js
167
185
  - src/js/utils/unbindAll.js
168
186
  - src/sass/_beyond-sprockets.scss
169
187
  - src/sass/_beyond.scss
@@ -181,6 +199,7 @@ files:
181
199
  - src/sass/components/_btn-group.scss
182
200
  - src/sass/components/_btn.scss
183
201
  - src/sass/components/_card.scss
202
+ - src/sass/components/_chart.scss
184
203
  - src/sass/components/_checkbox.scss
185
204
  - src/sass/components/_date-input.scss
186
205
  - src/sass/components/_date-menu.scss