beyond-rails 0.0.214 → 0.0.219

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: 64b522414fe0b7fa86cb3df83c81bba74875f7c52b5ee3706b37bd573926bc13
4
- data.tar.gz: 305bd9944bccb2a77e40c75042576d12b366d827366b2deee387d6f24b26cdaf
3
+ metadata.gz: 996c7b9357d48ee7468378eaf34235b25f2546cb00f28323456638c6d104b038
4
+ data.tar.gz: '06392f4a4d63a8f5b643709395ae63b4d4ade3a5ff98e644f5859fdd254d0819'
5
5
  SHA512:
6
- metadata.gz: 81acdccfca585e4e420833a6a859ff319e367fe72d4d20a908fc3c755d0e59832ff4ee87094aa69a83b12c266381862e103fa5a778de0dc3b884478fb9b21787
7
- data.tar.gz: ded05312ca85dd45d648c215d6f9c725349a4e062ed3d76635b42f0e1af903e1beae70c59b7e7c53f873a32d719d6c75983c99a8e107746a91444ebac76ecf67
6
+ metadata.gz: 2e9420822a0c1b1ed7f91505b4b3d14ef63e2330add3114141d34d29ee8592a79e2b2f7225c75e08815169af8c0c918e10488b64ef0b68efc6fbcb2b11b5cd40
7
+ data.tar.gz: 1217b6cecb86c65a34b520619f5be9098a4221074d6d367fb4174453518dd8d52e7f5bafa22177da9151e5957a94dcd27a55bee877285c9606fbd26410d6e7e2
@@ -1,20 +1,11 @@
1
1
  import { isFunction } from '../utils'
2
- import isUndef from '../utils/isUndef'
3
2
  import createdComponents from '../consts/createdComponents'
4
3
 
5
- const domMap = new Map()
6
-
7
4
  export default function supportDom(target) {
8
5
 
9
6
  return class extends target {
10
7
 
11
8
  init() {
12
- if (domMap.has(this.dom) && isUndef(this._skipDomChecking)) {
13
- console.warn('This dom has already been initialized.', this.dom)
14
- return
15
- }
16
- this.setDomToMap()
17
-
18
9
  this._listeners = []
19
10
  this._externalListeners = []
20
11
  if (isFunction(super.init)) {
@@ -23,20 +14,6 @@ export default function supportDom(target) {
23
14
  createdComponents.push(this)
24
15
  }
25
16
 
26
- setDomToMap() {
27
- const { dom } = this
28
- if (dom) {
29
- domMap.set(dom, true)
30
- }
31
- }
32
-
33
- deleteDomFromMap() {
34
- const { dom } = this
35
- if (dom) {
36
- domMap.delete(dom)
37
- }
38
- }
39
-
40
17
  on(name, func) {
41
18
  this._externalListeners.push({ name, func })
42
19
  }
@@ -59,7 +36,6 @@ export default function supportDom(target) {
59
36
  }
60
37
 
61
38
  destroy() {
62
- this.deleteDomFromMap()
63
39
  this._externalListeners.length = 0
64
40
  this.removeEvents()
65
41
  if (isFunction(super.destroy)) {
@@ -27,6 +27,16 @@ import Tooltip from './components/Tooltip'
27
27
  import bind from './utils/bind'
28
28
  import docReady from './utils/docReady'
29
29
  import unbindAll from './utils/unbindAll'
30
+ import {
31
+ $,
32
+ $$,
33
+ allOff,
34
+ load,
35
+ on,
36
+ onload,
37
+ onunload,
38
+ unload
39
+ } from './utils/dom'
30
40
 
31
41
  export {
32
42
  Alert,
@@ -49,7 +59,15 @@ export {
49
59
  Timepicker,
50
60
  Toast,
51
61
  Tooltip,
62
+ $,
63
+ $$,
52
64
  bind,
65
+ allOff,
53
66
  docReady,
54
- unbindAll
67
+ load,
68
+ on,
69
+ onload,
70
+ onunload,
71
+ unbindAll,
72
+ unload
55
73
  }
@@ -0,0 +1,56 @@
1
+ const offFns = []
2
+ const loadRows = []
3
+ const unloadRows = []
4
+
5
+ const onPage = row => {
6
+ const { controller, action } = row
7
+ const { dataset } = document.body
8
+ return (dataset.controller === controller) && (dataset.action === action)
9
+ }
10
+
11
+ export const $ = (selector, dom = document) => dom.querySelector(selector)
12
+
13
+ export const $$ = (selector, dom = document) => Array.from(dom.querySelectorAll(selector))
14
+
15
+ export const on = (dom, event, cb, useCapture = false) => {
16
+ dom.addEventListener(event, cb, useCapture)
17
+ const off = () => dom.removeEventListener(event, cb, useCapture)
18
+ offFns.push(off)
19
+
20
+ return () => {
21
+ const index = offFns.findIndex(fn => fn === off)
22
+ if (index !== -1) {
23
+ offFns.splice(index, 1)
24
+ }
25
+ off()
26
+ }
27
+ }
28
+
29
+ export const allOff = () => {
30
+ offFns.forEach(fn => fn())
31
+ offFns.length = 0
32
+ }
33
+
34
+ export const onload = (controller, action, fn) => {
35
+ loadRows.push({ controller, action, fn })
36
+ }
37
+
38
+ export const load = () => {
39
+ loadRows.forEach(row => {
40
+ if (onPage(row)) {
41
+ row.fn()
42
+ }
43
+ })
44
+ }
45
+
46
+ export const onunload = (controller, action, fn) => {
47
+ unloadRows.push({ controller, action, fn })
48
+ }
49
+
50
+ export const unload = () => {
51
+ unloadRows.forEach(row => {
52
+ if (onPage(row)) {
53
+ row.fn()
54
+ }
55
+ })
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.214
4
+ version: 0.0.219
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-26 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/dom.js
176
177
  - src/js/utils/domEval.js
177
178
  - src/js/utils/getFloatedTargetPos.js
178
179
  - src/js/utils/getKey.js