beyond-rails 0.0.262 → 0.0.267
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/Modal.js +1 -0
- data/src/js/components/SearchDropdown.js +1 -0
- data/src/js/components/TagInput.js +30 -16
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec9a44772db8cea73d2dbcee1266bcc9fe2225d8a05b7bbf3af6bb8c06a61fec
|
4
|
+
data.tar.gz: c077e2218952530a31f70945f4edbdb0f5fd99ca6e5200bc4ce2b45d8378e625
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ae6f42201d3d06c5a21e6b2822409771202780cbe69109696af7051c3562ad7d1feb63080e9fc9d6547abac740aebb615095cbe2cf7f4044e60c2364b0f6277
|
7
|
+
data.tar.gz: 382dea3264cfb9965d3c733d7bc3a1eaa8493ed0d43c79c40817142ffbddbb7ff412df449da9375d5a22cf6606c3a9b34ae1f064ea94c8458c9fe805b9a8ceaa
|
data/src/js/components/Modal.js
CHANGED
@@ -12,7 +12,6 @@ export default class TagInput {
|
|
12
12
|
this.validate = options.validate || (() => ({ isTag: true }))
|
13
13
|
this.suggest = options.suggest || noop
|
14
14
|
this.change = options.change || noop
|
15
|
-
this.remove = options.remove || noop
|
16
15
|
this.isComposing = false
|
17
16
|
this.raf = raf
|
18
17
|
this.id = 0
|
@@ -69,11 +68,11 @@ export default class TagInput {
|
|
69
68
|
return nextWidth
|
70
69
|
}
|
71
70
|
|
72
|
-
shake() {
|
71
|
+
shake(duration = 500) {
|
73
72
|
this.dom.classList.add('shake')
|
74
73
|
setTimeout(() => {
|
75
74
|
this.dom.classList.remove('shake')
|
76
|
-
},
|
75
|
+
}, duration)
|
77
76
|
}
|
78
77
|
|
79
78
|
setTagAttrs(id, rows = [], options = {}) {
|
@@ -108,50 +107,63 @@ export default class TagInput {
|
|
108
107
|
}
|
109
108
|
}
|
110
109
|
|
111
|
-
getTag(
|
110
|
+
getTag(row) {
|
112
111
|
|
113
112
|
this.id += 1
|
114
113
|
|
115
114
|
const id = this.id
|
116
|
-
const classname =
|
115
|
+
const classname = row.classname ? ` ${row.classname}` : ''
|
117
116
|
const tag = document.createElement('div')
|
118
117
|
|
119
118
|
tag.className = 'tag' + classname
|
120
|
-
tag.textContent =
|
119
|
+
tag.textContent = row.text
|
121
120
|
|
122
121
|
const btn = document.createElement('button')
|
123
122
|
btn.type = 'button'
|
124
123
|
|
125
124
|
// https://wesbos.com/times-html-entity-close-button
|
126
125
|
btn.textContent = '×'
|
127
|
-
const handleBtnClick =
|
126
|
+
const handleBtnClick = event => {
|
128
127
|
this.tags = this.tags.filter(row => row.elem !== tag)
|
129
128
|
btn.removeEventListener('click', handleBtnClick)
|
130
129
|
tag.remove()
|
131
|
-
|
132
|
-
|
130
|
+
|
131
|
+
if (event) {
|
132
|
+
this.change({
|
133
|
+
type: 'remove',
|
134
|
+
removedId: id,
|
135
|
+
tags: this.tags.slice()
|
136
|
+
})
|
137
|
+
}
|
133
138
|
}
|
134
139
|
btn.addEventListener('click', handleBtnClick)
|
135
140
|
tag.appendChild(btn)
|
136
141
|
|
137
|
-
return { id, elem: tag, remove: handleBtnClick,
|
142
|
+
return { id, elem: tag, remove: handleBtnClick, ...row }
|
138
143
|
}
|
139
144
|
|
140
145
|
setTags(rows) {
|
146
|
+
this.tags.forEach(tag => tag.remove())
|
141
147
|
const { dom, inputDiv } = this
|
142
|
-
const tags = rows.map(row => this.getTag(row
|
148
|
+
const tags = rows.map(row => this.getTag(row))
|
143
149
|
tags.forEach(tag => {
|
144
150
|
dom.insertBefore(tag.elem, inputDiv)
|
145
151
|
})
|
146
152
|
this.tags = tags
|
147
|
-
this.change(
|
153
|
+
this.change({
|
154
|
+
type: 'set',
|
155
|
+
tags: this.tags.slice()
|
156
|
+
})
|
148
157
|
}
|
149
158
|
|
150
|
-
addTag(
|
151
|
-
const tag = this.getTag(
|
159
|
+
addTag(row, type = 'add') {
|
160
|
+
const tag = this.getTag(row)
|
152
161
|
this.tags.push(tag)
|
153
162
|
this.dom.insertBefore(tag.elem, this.inputDiv)
|
154
|
-
this.change(
|
163
|
+
this.change({
|
164
|
+
type,
|
165
|
+
tags: this.tags.slice()
|
166
|
+
})
|
155
167
|
}
|
156
168
|
|
157
169
|
async addTagIfNeeded() {
|
@@ -163,7 +175,9 @@ export default class TagInput {
|
|
163
175
|
}
|
164
176
|
input.value = ''
|
165
177
|
suggestInput.value = ''
|
166
|
-
|
178
|
+
|
179
|
+
const row = Object.assign({}, res, { text: inputValue })
|
180
|
+
this.addTag(row, 'input')
|
167
181
|
}
|
168
182
|
|
169
183
|
removeTagIfNeeded() {
|
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.267
|
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-
|
12
|
+
date: 2020-12-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sassc
|