jquery-unique-clone-rails 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8276735dad91031588cd2f7cde1995f944e7e332
|
4
|
+
data.tar.gz: 053997c8d98c9530726e45c4d933aba999dcb893
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6459981df5dc3a5ecad4ae3927ab08924780bce4d0e5a659b20782517b098b175254d67790845ed2bb7dfbf552912a635fe90ddbb769cfbc77b30ff66cba624c
|
7
|
+
data.tar.gz: 59d35d9451b04cd7f183ba8cb23c3a1e50252dba209c53e068f62ac76ab61ffa4546346c9c954bdec5ab84e438623da5ba41124407c6f0856184bea2f49b6482
|
data/LICENSE
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
11
|
+
copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
19
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# jquery-unique-clone-rails
|
2
|
+
|
3
|
+
[jQuery Unique Clone](https://github.com/meowsus/jquery-unique-clone) plugin for jQuery, written by [Curt Howard](https://github.com/meowsus), packaged for the Rails asset pipeline.
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
This gem ships with with a minified version of the library. Feel free to use either of the following:
|
8
|
+
|
9
|
+
```
|
10
|
+
//= require jquery-unique-clone.js
|
11
|
+
//= require jquery-unique-clone.min.js
|
12
|
+
```
|
13
|
+
|
14
|
+
## Disclaimer
|
15
|
+
|
16
|
+
This repo is a Rails gem package. All issues with the library should be reported on the library's [GitHub page](https://github.com/meowsus/jquery-unique-clone). This repo will be updated each time a new version of the library is released.
|
@@ -0,0 +1,95 @@
|
|
1
|
+
/**
|
2
|
+
* Clones an element, modifying any [id] or [for] attributes found within the
|
3
|
+
* element's scope to append a given suffix. Modeled after the core `$.clone()`
|
4
|
+
* method.
|
5
|
+
*
|
6
|
+
* @author Curt Howard <tooblies@gmail.com>
|
7
|
+
* @version 1.0.0
|
8
|
+
*
|
9
|
+
* @param {Object} $ the global jQuery object
|
10
|
+
* @param {Object} window the global window object
|
11
|
+
* @param {Object} document the global document object
|
12
|
+
* @param {undefined} undefined
|
13
|
+
*/
|
14
|
+
;(function ($, window, document, undefined) {
|
15
|
+
var pluginName = "uniqueClone";
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Plugin boilerplate. Checking and setting of passed arguments.
|
19
|
+
*
|
20
|
+
* @param {Element} element the target element
|
21
|
+
* @param {Boolean} withDataAndEvents clone with data and events of element
|
22
|
+
* @param {Boolean} deepWithDataAndEvents clone with data and events of element and it's children
|
23
|
+
* @param {String} suffix the string to append to the attribute value
|
24
|
+
*/
|
25
|
+
function Plugin(element, withDataAndEvents, deepWithDataAndEvents, suffix) {
|
26
|
+
this.element = element;
|
27
|
+
|
28
|
+
if (typeof withDataAndEvents === 'undefined' || withDataAndEvents === null) {
|
29
|
+
withDataAndEvents = false;
|
30
|
+
}
|
31
|
+
|
32
|
+
if (typeof deepWithDataAndEvents === 'undefined' || deepWithDataAndEvents === null) {
|
33
|
+
deepWithDataAndEvents = withDataAndEvents;
|
34
|
+
}
|
35
|
+
|
36
|
+
if (typeof suffix === 'undefined' || suffix === null) {
|
37
|
+
suffix = '-clone';
|
38
|
+
}
|
39
|
+
|
40
|
+
this._withDataAndEvents = withDataAndEvents;
|
41
|
+
this._deepWithDataAndEvents = deepWithDataAndEvents;
|
42
|
+
this._suffix = suffix;
|
43
|
+
this._name = pluginName;
|
44
|
+
|
45
|
+
this.init();
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Clones the element, passing in the first two parameters sent to the
|
50
|
+
* Plugin. Modifies the value of any [id] or [for] attribute found to append
|
51
|
+
* the given suffix.
|
52
|
+
*
|
53
|
+
* @type {Object}
|
54
|
+
*/
|
55
|
+
Plugin.prototype = {
|
56
|
+
init: function() {
|
57
|
+
var suffix = this._suffix;
|
58
|
+
|
59
|
+
this._$clone = $(this.element).clone(this._withDataAndEvents, this._deepWithDataAndEvents);
|
60
|
+
|
61
|
+
this._$clone
|
62
|
+
.find('[id]')
|
63
|
+
.addBack('[id]')
|
64
|
+
.attr('id', function (index, id) {
|
65
|
+
return id + suffix;
|
66
|
+
});
|
67
|
+
|
68
|
+
this._$clone
|
69
|
+
.find('[for]')
|
70
|
+
.addBack('[for]')
|
71
|
+
.attr('for', function (index, id) {
|
72
|
+
return id + suffix;
|
73
|
+
});
|
74
|
+
},
|
75
|
+
};
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Receives three arguments in order to initialize the Plugin. Returns a
|
79
|
+
* property of the Plugin's instance representing the cloned, modified DOM.
|
80
|
+
*/
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Public interface for the Plugin. Receives arguments, passing them to the
|
84
|
+
* Plugin's boilerplate for initialization.
|
85
|
+
*
|
86
|
+
* @param {Boolean} withDataAndEvents clone with data and events of element
|
87
|
+
* @param {Boolean} deepWithDataAndEvents clone with data and events of element and it's children
|
88
|
+
* @param {String} suffix the string to append to the attribute value
|
89
|
+
* @return {jQuery} a collection containing a cloned, modified version of element
|
90
|
+
*/
|
91
|
+
$.fn[pluginName] = function (withDataAndEvents, deepWithDataAndEvents, suffix) {
|
92
|
+
return (new Plugin(this, withDataAndEvents, deepWithDataAndEvents, suffix))._$clone;
|
93
|
+
};
|
94
|
+
|
95
|
+
})(jQuery, window, document);
|
@@ -0,0 +1 @@
|
|
1
|
+
!function(n,t,i,e){function d(n,t,i,e){this.element=n,"undefined"!=typeof t&&null!==t||(t=!1),"undefined"!=typeof i&&null!==i||(i=t),"undefined"!=typeof e&&null!==e||(e="-clone"),this._withDataAndEvents=t,this._deepWithDataAndEvents=i,this._suffix=e,this._name=o,this.init()}var o="uniqueClone";d.prototype={init:function(){var t=this._suffix;this._$clone=n(this.element).clone(this._withDataAndEvents,this._deepWithDataAndEvents),this._$clone.find("[id]").addBack("[id]").attr("id",function(n,i){return i+t}),this._$clone.find("[for]").addBack("[for]").attr("for",function(n,i){return i+t})}},n.fn[o]=function(n,t,i){return new d(this,n,t,i)._$clone}}(jQuery,window,document);
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jquery-unique-clone-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Curt Howard
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-05-12 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A build of the jQuery Unique Clone Plugin, written by written by Curt
|
14
|
+
Howard, packaged for the Rails asset pipeline.
|
15
|
+
email:
|
16
|
+
- choward@weblinc.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- LICENSE
|
22
|
+
- README.md
|
23
|
+
- lib/jquery-unique-clone-rails.rb
|
24
|
+
- lib/jquery-unique-clone-rails/version.rb
|
25
|
+
- vendor/assets/javascripts/jquery-unique-clone.js
|
26
|
+
- vendor/assets/javascripts/jquery-unique-clone.min.js
|
27
|
+
homepage: https://github.com/meowsus/jquery-unique-clone-rails
|
28
|
+
licenses:
|
29
|
+
- MIT
|
30
|
+
metadata: {}
|
31
|
+
post_install_message:
|
32
|
+
rdoc_options: []
|
33
|
+
require_paths:
|
34
|
+
- lib
|
35
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
requirements: []
|
46
|
+
rubyforge_project:
|
47
|
+
rubygems_version: 2.4.5
|
48
|
+
signing_key:
|
49
|
+
specification_version: 4
|
50
|
+
summary: A build of the jQuery Unique Clone Plugin, written by written by Curt Howard,
|
51
|
+
packaged for the Rails asset pipeline.
|
52
|
+
test_files: []
|