beyond-rails 0.0.211 → 0.0.216

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6407e05c31dcab18c92de68c77c556eecb6d50cf900a4981bd025e14c0dd2329
4
- data.tar.gz: 8754a1b9acc9ba94fcea7dce15c47de426a5eff296baae03dca5d4c122280540
3
+ metadata.gz: 9fe01a2e2f9bee54d4f3f5e44b26bca8b223666c0749383fcde789ffae9fca6c
4
+ data.tar.gz: 56434ea193d4294f2c74d70ab41acfc85fa531b53ec8888d862d3729861a56de
5
5
  SHA512:
6
- metadata.gz: 357f6a9f9537bf40ce92fbd7ff28f8b6a8575a842c0934c4b803115d44a5163c0441a792a2bb59ae107ff93a3cf6405038400b9cbe45cf6044a9a34bdcb44959
7
- data.tar.gz: 01fa95db2b046ab26f27db76e04166d67501c3d29a7eca762cb07487bd98865da31e239c3454ce41940c8417f2869563de86d21625d03f267dad6b8aeb30caae
6
+ metadata.gz: d64f68417f19ff8e8640a052d917df93eb49dd05b87c6c727ea0ed42056ad45d34258ba2396f3aa7da5a5ea4c03879a4448f934fdf83fe24e885484495351dcf
7
+ data.tar.gz: 9226d6dadae03caf44bf49f13b0c3545ac3ecab2af677704c4be0a5d2bf18a847d65e77db81bbe51ab03d3ac6ed327f4ef790694c0418e58396053b6f7483463
@@ -1,5 +1,6 @@
1
1
  import supportDom from '../decorators/supportDom'
2
2
  import { noop } from '../utils'
3
+ import domEval from '../utils/domEval'
3
4
 
4
5
  let globalModalId = 0
5
6
 
@@ -56,6 +57,9 @@ export default class Modal {
56
57
  this.modal.style.display = 'block'
57
58
  setTimeout(() => {
58
59
  this.modal.classList.add('js-active')
60
+ if (typeof $ === 'function') {
61
+ $(this.dom).trigger('beyond.modal.show')
62
+ }
59
63
  }, 50)
60
64
  }
61
65
 
@@ -64,6 +68,9 @@ export default class Modal {
64
68
  this.modal.classList.remove('js-active')
65
69
  setTimeout(() => {
66
70
  this.modal.style.display = 'none'
71
+ if (typeof $ === 'function') {
72
+ $(this.dom).trigger('beyond.modal.hide')
73
+ }
67
74
  }, 300)
68
75
  }
69
76
 
@@ -75,11 +82,21 @@ export default class Modal {
75
82
  const div = document.createElement('div')
76
83
  div.innerHTML = html.trim()
77
84
  const dom = div.firstChild
85
+
86
+ // keep the id that is created by $.uniqModal()
87
+ const originalDomId = this.dom.id
88
+ if (originalDomId === 'beyond-uniq-modal') {
89
+ dom.id = originalDomId
90
+ }
91
+
78
92
  this.dom.parentNode.replaceChild(dom, this.dom)
79
93
 
80
94
  this.dom = dom
81
95
  this.dom._modal = this
82
96
  this.init()
97
+
98
+ Array.from(dom.querySelectorAll('script'))
99
+ .forEach(script => domEval(script.text))
83
100
  }
84
101
 
85
102
  visible() {
@@ -1,19 +1,20 @@
1
1
  import { isFunction } from '../utils'
2
- import isUndef from '../utils/isUndef'
3
2
  import createdComponents from '../consts/createdComponents'
4
3
 
5
4
  const domMap = new Map()
6
5
 
7
6
  export default function supportDom(target) {
8
7
 
8
+ const targetName = target.name
9
+
9
10
  return class extends target {
10
11
 
11
12
  init() {
12
- if (domMap.has(this.dom) && isUndef(this._skipDomChecking)) {
13
- console.warn('This dom has already been initialized.', this.dom)
13
+ if (this.classNameUsed) {
14
+ console.warn(`This dom has already been initialized by ${targetName}`, this.dom)
14
15
  return
15
16
  }
16
- this.setDomToMap()
17
+ this.setClassNameByDom(target)
17
18
 
18
19
  this._listeners = []
19
20
  this._externalListeners = []
@@ -23,18 +24,38 @@ export default function supportDom(target) {
23
24
  createdComponents.push(this)
24
25
  }
25
26
 
26
- setDomToMap() {
27
+ get classNameUsed() {
28
+ if (this._skipDomChecking) {
29
+ return false
30
+ }
31
+ const classnames = domMap.get(this.dom) || []
32
+ return classnames.includes(targetName)
33
+ }
34
+
35
+ setClassNameByDom(target) {
27
36
  const { dom } = this
28
37
  if (dom) {
29
- domMap.set(dom, true)
38
+ const classes = domMap.get(dom) || []
39
+ classes.push(targetName)
40
+ domMap.set(dom, classes)
30
41
  }
31
42
  }
32
43
 
33
- deleteDomFromMap() {
44
+ deleteClassNameByDom(target) {
34
45
  const { dom } = this
35
- if (dom) {
46
+ if (! dom) {
47
+ return
48
+ }
49
+ const { name } = target
50
+ const classnames = (domMap.get(dom) || [])
51
+ .filter(classname => classname !== name)
52
+
53
+ if (classnames.length === 0) {
36
54
  domMap.delete(dom)
37
55
  }
56
+ else {
57
+ domMap.set(dom, classnames)
58
+ }
38
59
  }
39
60
 
40
61
  on(name, func) {
@@ -59,7 +80,7 @@ export default function supportDom(target) {
59
80
  }
60
81
 
61
82
  destroy() {
62
- this.deleteDomFromMap()
83
+ this.deleteClassNameByDom(target)
63
84
  this._externalListeners.length = 0
64
85
  this.removeEvents()
65
86
  if (isFunction(super.destroy)) {
@@ -0,0 +1,5 @@
1
+ export default function domEval(code) {
2
+ const script = document.createElement('script')
3
+ script.text = code
4
+ document.head.appendChild(script).parentNode.removeChild(script)
5
+ }
@@ -368,7 +368,15 @@ input[type="file"] {
368
368
  .input-group-prepend {
369
369
  margin-right: -1px;
370
370
  }
371
+ .input-group-append {
372
+ margin-left: -1px;
373
+ }
371
374
 
375
+ .input-group > .form-control:not(:last-child) {
376
+ border-top-right-radius: 0;
377
+ border-bottom-right-radius: 0;
378
+ z-index: 1;
379
+ }
372
380
  .input-group > .form-control:not(:first-child) {
373
381
  border-top-left-radius: 0;
374
382
  border-bottom-left-radius: 0;
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.211
4
+ version: 0.0.216
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-09-24 00:00:00.000000000 Z
12
+ date: 2020-09-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sassc
@@ -173,6 +173,7 @@ files:
173
173
  - src/js/utils/dateGt.js
174
174
  - src/js/utils/dateLt.js
175
175
  - src/js/utils/docReady.js
176
+ - src/js/utils/domEval.js
176
177
  - src/js/utils/getFloatedTargetPos.js
177
178
  - src/js/utils/getKey.js
178
179
  - src/js/utils/index.js