beyond-rails 0.0.188 → 0.0.193
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.
- checksums.yaml +4 -4
- data/src/js/components/Alert.js +1 -1
- data/src/js/components/Autocomplete.js +1 -1
- data/src/js/components/AutocompleteMenu.js +1 -1
- data/src/js/components/BarChart.js +452 -0
- data/src/js/components/Btn.js +1 -1
- data/src/js/components/Checkbox.js +1 -1
- data/src/js/components/DateInput.js +1 -1
- data/src/js/components/DateMenu.js +1 -1
- data/src/js/components/DateTimeRanger.js +1 -1
- data/src/js/components/Datepicker.js +1 -1
- data/src/js/components/DatepickerBtnArrow.js +1 -1
- data/src/js/components/Dropdown.js +1 -1
- data/src/js/components/LineChart.js +535 -0
- data/src/js/components/Menu.js +1 -1
- data/src/js/components/Modal.js +76 -31
- data/src/js/components/Navbar.js +1 -1
- data/src/js/components/Radio.js +1 -1
- data/src/js/components/SearchDropdown.js +1 -1
- data/src/js/components/Sidebar.js +1 -1
- data/src/js/components/Tabbox.js +1 -1
- data/src/js/components/TimeInput.js +1 -1
- data/src/js/components/TimeMenu.js +1 -1
- data/src/js/components/Timepicker.js +1 -1
- data/src/js/components/Toast.js +1 -1
- data/src/js/components/ToastItem.js +1 -1
- data/src/js/components/Tooltip.js +1 -1
- data/src/js/decorators/chartCommon.js +218 -0
- data/src/js/{utils → decorators}/supportDom.js +1 -1
- data/src/js/index.js +6 -2
- data/src/js/jquery/bindModalFn.js +57 -6
- data/src/js/utils/index.js +10 -1
- data/src/js/utils/isDef.js +3 -0
- data/src/js/utils/isInt.js +3 -0
- data/src/js/utils/isUndef.js +3 -0
- data/src/sass/_beyond.scss +1 -0
- data/src/sass/components/_breadcrumb.scss +4 -4
- data/src/sass/components/_chart.scss +14 -0
- data/src/sass/components/_mega-menu.scss +22 -28
- data/src/sass/components/_nav.scss +1 -0
- metadata +28 -9
data/src/js/index.js
CHANGED
@@ -6,19 +6,21 @@ import './polyfills/nodeRemove'
|
|
6
6
|
import './polyfills/elementDataset'
|
7
7
|
import Alert from './components/Alert'
|
8
8
|
import Autocomplete from './components/Autocomplete'
|
9
|
+
import BarChart from './components/BarChart'
|
9
10
|
import Btn from './components/Btn'
|
10
11
|
import Checkbox from './components/Checkbox'
|
11
12
|
import DateTimeRanger from './components/DateTimeRanger'
|
12
13
|
import Datepicker from './components/Datepicker'
|
13
14
|
import Dropdown from './components/Dropdown'
|
15
|
+
import LineChart from './components/LineChart'
|
14
16
|
import Menu from './components/Menu'
|
15
17
|
import Modal from './components/Modal'
|
16
18
|
import Navbar from './components/Navbar'
|
17
19
|
import Radio from './components/Radio'
|
18
20
|
import SearchDropdown from './components/SearchDropdown'
|
19
21
|
import Sidebar from './components/Sidebar'
|
20
|
-
import Timepicker from './components/Timepicker'
|
21
22
|
import Tabbox from './components/Tabbox'
|
23
|
+
import Timepicker from './components/Timepicker'
|
22
24
|
import Toast from './components/Toast'
|
23
25
|
import Tooltip from './components/Tooltip'
|
24
26
|
import bind from './utils/bind'
|
@@ -28,19 +30,21 @@ import unbindAll from './utils/unbindAll'
|
|
28
30
|
export {
|
29
31
|
Alert,
|
30
32
|
Autocomplete,
|
33
|
+
BarChart,
|
31
34
|
Btn,
|
32
35
|
Checkbox,
|
33
36
|
DateTimeRanger,
|
34
37
|
Datepicker,
|
35
38
|
Dropdown,
|
39
|
+
LineChart,
|
36
40
|
Menu,
|
37
41
|
Modal,
|
38
42
|
Navbar,
|
39
43
|
Radio,
|
40
44
|
SearchDropdown,
|
41
45
|
Sidebar,
|
42
|
-
Timepicker,
|
43
46
|
Tabbox,
|
47
|
+
Timepicker,
|
44
48
|
Toast,
|
45
49
|
Tooltip,
|
46
50
|
bind,
|
@@ -1,14 +1,65 @@
|
|
1
1
|
export default function bindModalFn(beyond, $) {
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
$.fn.modal = function(settings) {
|
3
|
+
$.fn.modal = function(settings, html) {
|
6
4
|
|
7
|
-
|
8
|
-
|
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 = () =>
|
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
|
}
|
data/src/js/utils/index.js
CHANGED
@@ -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
|
}
|
data/src/sass/_beyond.scss
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
padding: .75rem 1rem;
|
5
5
|
margin-bottom: 1rem;
|
6
6
|
list-style: none;
|
7
|
-
|
7
|
+
li + li::before {
|
8
8
|
display: inline-block;
|
9
9
|
padding-right: .7rem;
|
10
10
|
padding-left: .7rem;
|
11
|
-
color:
|
11
|
+
color: $text-color-strong;
|
12
12
|
content: '/';
|
13
13
|
}
|
14
|
-
|
15
|
-
color:
|
14
|
+
li:last-child {
|
15
|
+
color: $text-color-strong;
|
16
16
|
}
|
17
17
|
}
|
@@ -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,6 +1,16 @@
|
|
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
|
-
|
3
|
-
padding-bottom: .2rem;
|
13
|
+
font-size: .9375rem;
|
4
14
|
}
|
5
15
|
.mega-menu-divider {
|
6
16
|
border-bottom: 1px solid #ebebeb;
|
@@ -8,35 +18,16 @@
|
|
8
18
|
.mega-menu-col {
|
9
19
|
padding: .7rem 1.5rem;
|
10
20
|
flex-grow: 1;
|
11
|
-
transition: .3s background-color;
|
12
21
|
min-width: 180px;
|
13
|
-
color: $text-color;
|
14
22
|
display: flex;
|
15
23
|
align-items: center;
|
16
|
-
|
17
|
-
color: $text-color-strong;
|
18
|
-
background-color: #f6f6f6;
|
19
|
-
}
|
20
|
-
i {
|
21
|
-
margin-right: .6rem;
|
22
|
-
}
|
23
|
-
}
|
24
|
-
.mega-menu-label {
|
25
|
-
padding-left: 1.5rem;
|
26
|
-
margin-top: 1rem;
|
27
|
-
margin-bottom: .5rem;
|
28
|
-
color: $text-color-light;
|
29
|
-
font-size: 12px;
|
24
|
+
@include mega-menu-text;
|
30
25
|
}
|
31
26
|
.mega-menu-item {
|
32
27
|
transition: .3s background-color;
|
33
|
-
color: $text-color;
|
34
28
|
display: block;
|
35
|
-
padding: .
|
36
|
-
|
37
|
-
color: $text-color-strong;
|
38
|
-
background-color: #f6f6f6;
|
39
|
-
}
|
29
|
+
padding: .7rem 1.5rem;
|
30
|
+
@include mega-menu-text;
|
40
31
|
}
|
41
32
|
.mega-menu-icon-box {
|
42
33
|
display: table;
|
@@ -49,14 +40,17 @@
|
|
49
40
|
cursor: pointer;
|
50
41
|
transition: .3s all;
|
51
42
|
display: table-cell;
|
52
|
-
padding: 1rem 1.
|
53
|
-
color: $color-primary;
|
43
|
+
padding: 1rem 1.5rem;
|
54
44
|
text-align: center;
|
45
|
+
@include mega-menu-text;
|
55
46
|
&:hover {
|
56
|
-
|
57
|
-
|
47
|
+
i {
|
48
|
+
color: $mega-menu-text-color;
|
49
|
+
}
|
58
50
|
}
|
59
51
|
i {
|
52
|
+
transition: .3s color;
|
53
|
+
color: #88add2;
|
60
54
|
display: block;
|
61
55
|
margin-bottom: .4rem;
|
62
56
|
}
|
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.
|
4
|
+
version: 0.0.193
|
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-
|
12
|
+
date: 2020-09-10 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:
|
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:
|
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
|