activeadmin-regex-input 0.1.1 → 0.2.0

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.
@@ -1,4 +1,4 @@
1
- //= require webui-popover
1
+ //= require_tree ./lib
2
2
 
3
3
  // https://css-tricks.com/snippets/javascript/get-url-variables/
4
4
  // Get url query params
@@ -7,7 +7,7 @@ function getQueryVariable(key)
7
7
  const query = decodeURI(window.location.search.substring(1));
8
8
  let vars = query.split("&");
9
9
  for (let i = 0; i < vars.length; i++) {
10
- var pair = vars[i].split("=");
10
+ let pair = vars[i].split("=");
11
11
  if(pair[0] === key){
12
12
  // Replace + in url with space, might make the previous data became wrong
13
13
  return decodeURIComponent(pair[1].replace('+', ' '));
@@ -18,8 +18,8 @@ function getQueryVariable(key)
18
18
 
19
19
  // Init all reqex input
20
20
  function initRegexInputs(inputs) {
21
- for (let item of inputs) {
22
- let input = $(item);
21
+ inputs.each((index) => {
22
+ let input = $(inputs[index]);
23
23
  const regex = new RegExp(input.data('regex'));
24
24
  const example = input.data('example');
25
25
 
@@ -37,7 +37,6 @@ function initRegexInputs(inputs) {
37
37
 
38
38
  // Show popover and change color if current input doesn't match regex
39
39
  input.on('keyup', event => {
40
- console.log(input.val());
41
40
  if (!regex.test(input.val())) {
42
41
  input.css('border-color', 'red');
43
42
  input.webuiPopover('show');
@@ -46,7 +45,7 @@ function initRegexInputs(inputs) {
46
45
  input.css('border-color', '#c9d0d6');
47
46
  }
48
47
  });
49
- }
48
+ });
50
49
  }
51
50
 
52
51
  $(document).ready(() => {
@@ -1,3 +1,3 @@
1
1
  /*
2
- *= require webui-popover
2
+ *= require_tree ./lib
3
3
  */
@@ -0,0 +1,330 @@
1
+ /*
2
+ * webui popover plugin - v1.2.17
3
+ * A lightWeight popover plugin with jquery ,enchance the popover plugin of bootstrap with some awesome new features. It works well with bootstrap ,but bootstrap is not necessary!
4
+ * https://github.com/sandywalker/webui-popover
5
+ *
6
+ * Made by Sandy Duan
7
+ * Under MIT License
8
+ */
9
+ .webui-popover-content {
10
+ display: none;
11
+ }
12
+ .webui-popover-rtl {
13
+ direction: rtl;
14
+ text-align: right;
15
+ }
16
+ /* webui popover */
17
+ .webui-popover {
18
+ position: absolute;
19
+ top: 0;
20
+ left: 0;
21
+ z-index: 9999;
22
+ display: none;
23
+ min-width: 50px;
24
+ min-height: 32px;
25
+ padding: 1px;
26
+ text-align: left;
27
+ white-space: normal;
28
+ background-color: #ffffff;
29
+ background-clip: padding-box;
30
+ border: 1px solid #cccccc;
31
+ border: 1px solid rgba(0, 0, 0, 0.2);
32
+ border-radius: 6px;
33
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
34
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
35
+ }
36
+ .webui-popover.top,
37
+ .webui-popover.top-left,
38
+ .webui-popover.top-right {
39
+ margin-top: -10px;
40
+ }
41
+ .webui-popover.right,
42
+ .webui-popover.right-top,
43
+ .webui-popover.right-bottom {
44
+ margin-left: 10px;
45
+ }
46
+ .webui-popover.bottom,
47
+ .webui-popover.bottom-left,
48
+ .webui-popover.bottom-right {
49
+ margin-top: 10px;
50
+ }
51
+ .webui-popover.left,
52
+ .webui-popover.left-top,
53
+ .webui-popover.left-bottom {
54
+ margin-left: -10px;
55
+ }
56
+ .webui-popover.pop {
57
+ -webkit-transform: scale(0.8);
58
+ -o-transform: scale(0.8);
59
+ transform: scale(0.8);
60
+ -webkit-transition: transform 0.15s cubic-bezier(0.3, 0, 0, 1.5);
61
+ -o-transition: transform 0.15s cubic-bezier(0.3, 0, 0, 1.5);
62
+ transition: transform 0.15s cubic-bezier(0.3, 0, 0, 1.5);
63
+ opacity: 0;
64
+ filter: alpha(opacity=0);
65
+ }
66
+ .webui-popover.pop-out {
67
+ -webkit-transition-property: "opacity,transform";
68
+ -o-transition-property: "opacity,transform";
69
+ transition-property: "opacity,transform";
70
+ -webkit-transition: 0.15s linear;
71
+ -o-transition: 0.15s linear;
72
+ transition: 0.15s linear;
73
+ opacity: 0;
74
+ filter: alpha(opacity=0);
75
+ }
76
+ .webui-popover.fade,
77
+ .webui-popover.fade-out {
78
+ -webkit-transition: opacity 0.15s linear;
79
+ -o-transition: opacity 0.15s linear;
80
+ transition: opacity 0.15s linear;
81
+ opacity: 0;
82
+ filter: alpha(opacity=0);
83
+ }
84
+ .webui-popover.out {
85
+ opacity: 0;
86
+ filter: alpha(opacity=0);
87
+ }
88
+ .webui-popover.in {
89
+ -webkit-transform: none;
90
+ -o-transform: none;
91
+ transform: none;
92
+ opacity: 1;
93
+ filter: alpha(opacity=100);
94
+ }
95
+ .webui-popover .webui-popover-content {
96
+ padding: 9px 14px;
97
+ overflow: auto;
98
+ display: block;
99
+ }
100
+ .webui-popover .webui-popover-content > div:first-child {
101
+ width: 99%;
102
+ }
103
+ .webui-popover-inner .close {
104
+ font-family: arial;
105
+ margin: 8px 10px 0 0;
106
+ float: right;
107
+ font-size: 16px;
108
+ font-weight: bold;
109
+ line-height: 16px;
110
+ color: #000000;
111
+ text-shadow: 0 1px 0 #fff;
112
+ opacity: 0.2;
113
+ filter: alpha(opacity=20);
114
+ text-decoration: none;
115
+ }
116
+ .webui-popover-inner .close:hover,
117
+ .webui-popover-inner .close:focus {
118
+ opacity: 0.5;
119
+ filter: alpha(opacity=50);
120
+ }
121
+ .webui-popover-inner .close:after {
122
+ content: "\00D7";
123
+ width: 0.8em;
124
+ height: 0.8em;
125
+ padding: 4px;
126
+ position: relative;
127
+ }
128
+ .webui-popover-title {
129
+ padding: 8px 14px;
130
+ margin: 0;
131
+ font-size: 14px;
132
+ font-weight: bold;
133
+ line-height: 18px;
134
+ background-color: #ffffff;
135
+ border-bottom: 1px solid #f2f2f2;
136
+ border-radius: 5px 5px 0 0;
137
+ }
138
+ .webui-popover-content {
139
+ padding: 9px 14px;
140
+ overflow: auto;
141
+ display: none;
142
+ }
143
+ .webui-popover-inverse {
144
+ background-color: #333333;
145
+ color: #eeeeee;
146
+ }
147
+ .webui-popover-inverse .webui-popover-title {
148
+ background: #333333;
149
+ border-bottom: 1px solid #3b3b3b;
150
+ color: #eeeeee;
151
+ }
152
+ .webui-no-padding .webui-popover-content {
153
+ padding: 0;
154
+ }
155
+ .webui-no-padding .list-group-item {
156
+ border-right: none;
157
+ border-left: none;
158
+ }
159
+ .webui-no-padding .list-group-item:first-child {
160
+ border-top: 0;
161
+ }
162
+ .webui-no-padding .list-group-item:last-child {
163
+ border-bottom: 0;
164
+ }
165
+ .webui-popover > .webui-arrow,
166
+ .webui-popover > .webui-arrow:after {
167
+ position: absolute;
168
+ display: block;
169
+ width: 0;
170
+ height: 0;
171
+ border-color: transparent;
172
+ border-style: solid;
173
+ }
174
+ .webui-popover > .webui-arrow {
175
+ border-width: 11px;
176
+ }
177
+ .webui-popover > .webui-arrow:after {
178
+ border-width: 10px;
179
+ content: "";
180
+ }
181
+ .webui-popover.top > .webui-arrow,
182
+ .webui-popover.top-right > .webui-arrow,
183
+ .webui-popover.top-left > .webui-arrow {
184
+ bottom: -11px;
185
+ left: 50%;
186
+ margin-left: -11px;
187
+ border-top-color: #999999;
188
+ border-top-color: rgba(0, 0, 0, 0.25);
189
+ border-bottom-width: 0;
190
+ }
191
+ .webui-popover.top > .webui-arrow:after,
192
+ .webui-popover.top-right > .webui-arrow:after,
193
+ .webui-popover.top-left > .webui-arrow:after {
194
+ content: " ";
195
+ bottom: 1px;
196
+ margin-left: -10px;
197
+ border-top-color: #ffffff;
198
+ border-bottom-width: 0;
199
+ }
200
+ .webui-popover.right > .webui-arrow,
201
+ .webui-popover.right-top > .webui-arrow,
202
+ .webui-popover.right-bottom > .webui-arrow {
203
+ top: 50%;
204
+ left: -11px;
205
+ margin-top: -11px;
206
+ border-left-width: 0;
207
+ border-right-color: #999999;
208
+ border-right-color: rgba(0, 0, 0, 0.25);
209
+ }
210
+ .webui-popover.right > .webui-arrow:after,
211
+ .webui-popover.right-top > .webui-arrow:after,
212
+ .webui-popover.right-bottom > .webui-arrow:after {
213
+ content: " ";
214
+ left: 1px;
215
+ bottom: -10px;
216
+ border-left-width: 0;
217
+ border-right-color: #ffffff;
218
+ }
219
+ .webui-popover.bottom > .webui-arrow,
220
+ .webui-popover.bottom-right > .webui-arrow,
221
+ .webui-popover.bottom-left > .webui-arrow {
222
+ top: -11px;
223
+ left: 50%;
224
+ margin-left: -11px;
225
+ border-bottom-color: #999999;
226
+ border-bottom-color: rgba(0, 0, 0, 0.25);
227
+ border-top-width: 0;
228
+ }
229
+ .webui-popover.bottom > .webui-arrow:after,
230
+ .webui-popover.bottom-right > .webui-arrow:after,
231
+ .webui-popover.bottom-left > .webui-arrow:after {
232
+ content: " ";
233
+ top: 1px;
234
+ margin-left: -10px;
235
+ border-bottom-color: #ffffff;
236
+ border-top-width: 0;
237
+ }
238
+ .webui-popover.left > .webui-arrow,
239
+ .webui-popover.left-top > .webui-arrow,
240
+ .webui-popover.left-bottom > .webui-arrow {
241
+ top: 50%;
242
+ right: -11px;
243
+ margin-top: -11px;
244
+ border-right-width: 0;
245
+ border-left-color: #999999;
246
+ border-left-color: rgba(0, 0, 0, 0.25);
247
+ }
248
+ .webui-popover.left > .webui-arrow:after,
249
+ .webui-popover.left-top > .webui-arrow:after,
250
+ .webui-popover.left-bottom > .webui-arrow:after {
251
+ content: " ";
252
+ right: 1px;
253
+ border-right-width: 0;
254
+ border-left-color: #ffffff;
255
+ bottom: -10px;
256
+ }
257
+ .webui-popover-inverse.top > .webui-arrow,
258
+ .webui-popover-inverse.top-left > .webui-arrow,
259
+ .webui-popover-inverse.top-right > .webui-arrow,
260
+ .webui-popover-inverse.top > .webui-arrow:after,
261
+ .webui-popover-inverse.top-left > .webui-arrow:after,
262
+ .webui-popover-inverse.top-right > .webui-arrow:after {
263
+ border-top-color: #333333;
264
+ }
265
+ .webui-popover-inverse.right > .webui-arrow,
266
+ .webui-popover-inverse.right-top > .webui-arrow,
267
+ .webui-popover-inverse.right-bottom > .webui-arrow,
268
+ .webui-popover-inverse.right > .webui-arrow:after,
269
+ .webui-popover-inverse.right-top > .webui-arrow:after,
270
+ .webui-popover-inverse.right-bottom > .webui-arrow:after {
271
+ border-right-color: #333333;
272
+ }
273
+ .webui-popover-inverse.bottom > .webui-arrow,
274
+ .webui-popover-inverse.bottom-left > .webui-arrow,
275
+ .webui-popover-inverse.bottom-right > .webui-arrow,
276
+ .webui-popover-inverse.bottom > .webui-arrow:after,
277
+ .webui-popover-inverse.bottom-left > .webui-arrow:after,
278
+ .webui-popover-inverse.bottom-right > .webui-arrow:after {
279
+ border-bottom-color: #333333;
280
+ }
281
+ .webui-popover-inverse.left > .webui-arrow,
282
+ .webui-popover-inverse.left-top > .webui-arrow,
283
+ .webui-popover-inverse.left-bottom > .webui-arrow,
284
+ .webui-popover-inverse.left > .webui-arrow:after,
285
+ .webui-popover-inverse.left-top > .webui-arrow:after,
286
+ .webui-popover-inverse.left-bottom > .webui-arrow:after {
287
+ border-left-color: #333333;
288
+ }
289
+ .webui-popover i.icon-refresh:before {
290
+ content: "";
291
+ }
292
+ .webui-popover i.icon-refresh {
293
+ display: block;
294
+ width: 30px;
295
+ height: 30px;
296
+ font-size: 20px;
297
+ top: 50%;
298
+ left: 50%;
299
+ position: absolute;
300
+ margin-left: -15px;
301
+ margin-right: -15px;
302
+ background: url(../img/loading.gif) no-repeat;
303
+ }
304
+ @-webkit-keyframes rotate {
305
+ 100% {
306
+ -webkit-transform: rotate(360deg);
307
+ }
308
+ }
309
+ @keyframes rotate {
310
+ 100% {
311
+ transform: rotate(360deg);
312
+ }
313
+ }
314
+ .webui-popover-backdrop {
315
+ background-color: rgba(0, 0, 0, 0.65);
316
+ width: 100%;
317
+ height: 100%;
318
+ position: fixed;
319
+ top: 0;
320
+ left: 0;
321
+ z-index: 9998;
322
+ }
323
+ .webui-popover .dropdown-menu {
324
+ display: block;
325
+ position: relative;
326
+ top: 0;
327
+ border: none;
328
+ box-shadow: none;
329
+ float: none;
330
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin-regex-input
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Canh Nguyen
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: jquery-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.1'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.1'
69
55
  description: A simple filter input for active admin with checking at client if input
70
56
  match predefined regex.
71
57
  email: xuancanh.1994@gmail.com
@@ -74,13 +60,16 @@ extensions: []
74
60
  extra_rdoc_files: []
75
61
  files:
76
62
  - ".gitignore"
63
+ - CHANGELOG.md
77
64
  - Gemfile
78
65
  - Gemfile.lock
79
66
  - README.md
80
67
  - Rakefile
81
68
  - activeadmin-regex-input.gemspec
69
+ - app/assets/javascript/active_admin/lib/webui-popover.js
82
70
  - app/assets/javascript/active_admin/regex_input.js
83
71
  - app/assets/stylesheets/active_admin/_regex_input.scss
72
+ - app/assets/stylesheets/active_admin/lib/webui-popover.css
84
73
  - lib/activeadmin-regex-input.rb
85
74
  - lib/activeadmin/regex-input/engine.rb
86
75
  - lib/activeadmin/regex-input/version.rb
@@ -105,8 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
94
  version: '0'
106
95
  requirements: []
107
96
  rubyforge_project:
108
- rubygems_version: 2.6.11
97
+ rubygems_version: 2.5.1
109
98
  signing_key:
110
99
  specification_version: 4
111
- summary: Formtastic Regex Input
100
+ summary: Active Admin Regex Input
112
101
  test_files: []