foreman_hosts 2.1.1 → 2.1.2
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,1182 +1,120 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
<meta content="161" name="octolytics-dimension-user_id" /><meta content="ryanb" name="octolytics-dimension-user_login" /><meta content="468501" name="octolytics-dimension-repository_id" /><meta content="ryanb/nested_form" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="468501" name="octolytics-dimension-repository_network_root_id" /><meta content="ryanb/nested_form" name="octolytics-dimension-repository_network_root_nwo" />
|
74
|
-
<link href="https://github.com/ryanb/nested_form/commits/master.atom" rel="alternate" title="Recent Commits to nested_form:master" type="application/atom+xml">
|
75
|
-
|
76
|
-
</head>
|
77
|
-
|
78
|
-
|
79
|
-
<body class="logged_out env-production vis-public page-blob">
|
80
|
-
<a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a>
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
1
|
+
(function($) {
|
2
|
+
window.NestedFormEvents = function() {
|
3
|
+
this.addFields = $.proxy(this.addFields, this);
|
4
|
+
this.removeFields = $.proxy(this.removeFields, this);
|
5
|
+
};
|
6
|
+
|
7
|
+
NestedFormEvents.prototype = {
|
8
|
+
addFields: function(e) {
|
9
|
+
// Setup
|
10
|
+
var link = e.currentTarget;
|
11
|
+
var assoc = $(link).data('association'); // Name of child
|
12
|
+
var blueprint = $('#' + $(link).data('blueprint-id'));
|
13
|
+
var content = blueprint.data('blueprint'); // Fields template
|
14
|
+
|
15
|
+
// Make the context correct by replacing <parents> with the generated ID
|
16
|
+
// of each of the parent objects
|
17
|
+
var context = ($(link).closest('.fields').closestChild('input, textarea, select').eq(0).attr('name') || '').replace(/\[[a-z_]+\]$/, '');
|
18
|
+
|
19
|
+
// If the parent has no inputs we need to strip off the last pair
|
20
|
+
var current = content.match(new RegExp('\\[([a-z_]+)\\]\\[new_' + assoc + '\\]'));
|
21
|
+
if (current) {
|
22
|
+
context = context.replace(new RegExp('\\[' + current[1] + '\\]\\[(new_)?\\d+\\]$'), '');
|
23
|
+
}
|
24
|
+
|
25
|
+
// context will be something like this for a brand new form:
|
26
|
+
// project[tasks_attributes][1255929127459][assignments_attributes][1255929128105]
|
27
|
+
// or for an edit form:
|
28
|
+
// project[tasks_attributes][0][assignments_attributes][1]
|
29
|
+
if (context) {
|
30
|
+
var parentNames = context.match(/[a-z_]+_attributes(?=\]\[(new_)?\d+\])/g) || [];
|
31
|
+
var parentIds = context.match(/[0-9]+/g) || [];
|
32
|
+
|
33
|
+
for(var i = 0; i < parentNames.length; i++) {
|
34
|
+
if(parentIds[i]) {
|
35
|
+
content = content.replace(
|
36
|
+
new RegExp('(_' + parentNames[i] + ')_.+?_', 'g'),
|
37
|
+
'$1_' + parentIds[i] + '_');
|
38
|
+
|
39
|
+
content = content.replace(
|
40
|
+
new RegExp('(\\[' + parentNames[i] + '\\])\\[.+?\\]', 'g'),
|
41
|
+
'$1[' + parentIds[i] + ']');
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
// Make a unique ID for the new child
|
47
|
+
var regexp = new RegExp('new_' + assoc, 'g');
|
48
|
+
var new_id = this.newId();
|
49
|
+
content = $.trim(content.replace(regexp, new_id));
|
50
|
+
|
51
|
+
var field = this.insertFields(content, assoc, link);
|
52
|
+
// bubble up event upto document (through form)
|
53
|
+
field
|
54
|
+
.trigger({ type: 'nested:fieldAdded', field: field })
|
55
|
+
.trigger({ type: 'nested:fieldAdded:' + assoc, field: field });
|
56
|
+
return false;
|
57
|
+
},
|
58
|
+
newId: function() {
|
59
|
+
return new Date().getTime();
|
60
|
+
},
|
61
|
+
insertFields: function(content, assoc, link) {
|
62
|
+
var target = $(link).data('target');
|
63
|
+
if (target) {
|
64
|
+
return $(content).appendTo($(target));
|
65
|
+
} else {
|
66
|
+
return $(content).insertBefore(link);
|
67
|
+
}
|
68
|
+
},
|
69
|
+
removeFields: function(e) {
|
70
|
+
var $link = $(e.currentTarget),
|
71
|
+
assoc = $link.data('association'); // Name of child to be removed
|
88
72
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
<a class="header-logo-wordmark" href="https://github.com/" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
|
93
|
-
<span class="mega-octicon octicon-logo-github"></span>
|
94
|
-
</a>
|
95
|
-
|
96
|
-
<div class="header-actions" role="navigation">
|
97
|
-
<a class="btn btn-primary" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
|
98
|
-
<a class="btn" href="/login?return_to=%2Fryanb%2Fnested_form%2Fblob%2Fmaster%2Fvendor%2Fassets%2Fjavascripts%2Fjquery_nested_form.js" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
|
99
|
-
</div>
|
100
|
-
|
101
|
-
<div class="site-search repo-scope js-site-search" role="search">
|
102
|
-
<!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/ryanb/nested_form/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/ryanb/nested_form/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
|
103
|
-
<label class="js-chromeless-input-container form-control">
|
104
|
-
<div class="scope-badge">This repository</div>
|
105
|
-
<input type="text"
|
106
|
-
class="js-site-search-focus js-site-search-field is-clearable chromeless-input"
|
107
|
-
data-hotkey="s"
|
108
|
-
name="q"
|
109
|
-
placeholder="Search"
|
110
|
-
aria-label="Search this repository"
|
111
|
-
data-global-scope-placeholder="Search GitHub"
|
112
|
-
data-repo-scope-placeholder="Search"
|
113
|
-
tabindex="1"
|
114
|
-
autocapitalize="off">
|
115
|
-
</label>
|
116
|
-
</form>
|
117
|
-
</div>
|
118
|
-
|
119
|
-
<ul class="header-nav left" role="navigation">
|
120
|
-
<li class="header-nav-item">
|
121
|
-
<a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a>
|
122
|
-
</li>
|
123
|
-
<li class="header-nav-item">
|
124
|
-
<a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a>
|
125
|
-
</li>
|
126
|
-
<li class="header-nav-item">
|
127
|
-
<a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a>
|
128
|
-
</li>
|
129
|
-
<li class="header-nav-item">
|
130
|
-
<a class="header-nav-link" href="/pricing" data-ga-click="(Logged out) Header, go to pricing, text:pricing">Pricing</a>
|
131
|
-
</li>
|
132
|
-
</ul>
|
133
|
-
|
134
|
-
</div>
|
135
|
-
</div>
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
<div id="start-of-content" class="accessibility-aid"></div>
|
140
|
-
|
141
|
-
<div id="js-flash-container">
|
142
|
-
</div>
|
143
|
-
|
144
|
-
|
145
|
-
<div role="main" class="main-content">
|
146
|
-
<div itemscope itemtype="http://schema.org/WebPage">
|
147
|
-
<div class="pagehead repohead instapaper_ignore readability-menu">
|
148
|
-
|
149
|
-
<div class="container">
|
150
|
-
|
151
|
-
<div class="clearfix">
|
152
|
-
|
153
|
-
|
154
|
-
<ul class="pagehead-actions">
|
155
|
-
|
156
|
-
<li>
|
157
|
-
<a href="/login?return_to=%2Fryanb%2Fnested_form"
|
158
|
-
class="btn btn-sm btn-with-count tooltipped tooltipped-n"
|
159
|
-
aria-label="You must be signed in to watch a repository" rel="nofollow">
|
160
|
-
<span class="octicon octicon-eye"></span>
|
161
|
-
Watch
|
162
|
-
</a>
|
163
|
-
<a class="social-count" href="/ryanb/nested_form/watchers">
|
164
|
-
43
|
165
|
-
</a>
|
166
|
-
|
167
|
-
</li>
|
168
|
-
|
169
|
-
<li>
|
170
|
-
<a href="/login?return_to=%2Fryanb%2Fnested_form"
|
171
|
-
class="btn btn-sm btn-with-count tooltipped tooltipped-n"
|
172
|
-
aria-label="You must be signed in to star a repository" rel="nofollow">
|
173
|
-
<span class="octicon octicon-star"></span>
|
174
|
-
Star
|
175
|
-
</a>
|
176
|
-
|
177
|
-
<a class="social-count js-social-count" href="/ryanb/nested_form/stargazers">
|
178
|
-
1,613
|
179
|
-
</a>
|
180
|
-
|
181
|
-
</li>
|
182
|
-
|
183
|
-
<li>
|
184
|
-
<a href="/login?return_to=%2Fryanb%2Fnested_form"
|
185
|
-
class="btn btn-sm btn-with-count tooltipped tooltipped-n"
|
186
|
-
aria-label="You must be signed in to fork a repository" rel="nofollow">
|
187
|
-
<span class="octicon octicon-repo-forked"></span>
|
188
|
-
Fork
|
189
|
-
</a>
|
190
|
-
|
191
|
-
<a href="/ryanb/nested_form/network" class="social-count">
|
192
|
-
472
|
193
|
-
</a>
|
194
|
-
</li>
|
195
|
-
</ul>
|
196
|
-
|
197
|
-
<h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public ">
|
198
|
-
<span class="mega-octicon octicon-repo"></span>
|
199
|
-
<span class="author"><a href="/ryanb" class="url fn" itemprop="url" rel="author"><span itemprop="title">ryanb</span></a></span><!--
|
200
|
-
--><span class="path-divider">/</span><!--
|
201
|
-
--><strong><a href="/ryanb/nested_form" data-pjax="#js-repo-pjax-container">nested_form</a></strong>
|
202
|
-
|
203
|
-
<span class="page-context-loader">
|
204
|
-
<img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
205
|
-
</span>
|
206
|
-
|
207
|
-
</h1>
|
208
|
-
|
209
|
-
</div>
|
210
|
-
</div>
|
211
|
-
</div>
|
212
|
-
|
213
|
-
<div class="container">
|
214
|
-
<div class="repository-with-sidebar repo-container new-discussion-timeline ">
|
215
|
-
<div class="repository-sidebar clearfix">
|
216
|
-
|
217
|
-
<nav class="sunken-menu repo-nav js-repo-nav js-sidenav-container-pjax js-octicon-loaders"
|
218
|
-
role="navigation"
|
219
|
-
data-pjax="#js-repo-pjax-container"
|
220
|
-
data-issue-count-url="/ryanb/nested_form/issues/counts">
|
221
|
-
<ul class="sunken-menu-group">
|
222
|
-
<li class="tooltipped tooltipped-w" aria-label="Code">
|
223
|
-
<a href="/ryanb/nested_form" aria-label="Code" aria-selected="true" class="js-selected-navigation-item selected sunken-menu-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /ryanb/nested_form">
|
224
|
-
<span class="octicon octicon-code"></span> <span class="full-word">Code</span>
|
225
|
-
<img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
226
|
-
</a> </li>
|
227
|
-
|
228
|
-
<li class="tooltipped tooltipped-w" aria-label="Issues">
|
229
|
-
<a href="/ryanb/nested_form/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /ryanb/nested_form/issues">
|
230
|
-
<span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
|
231
|
-
<span class="js-issue-replace-counter"></span>
|
232
|
-
<img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
233
|
-
</a> </li>
|
234
|
-
|
235
|
-
<li class="tooltipped tooltipped-w" aria-label="Pull requests">
|
236
|
-
<a href="/ryanb/nested_form/pulls" aria-label="Pull requests" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g p" data-selected-links="repo_pulls /ryanb/nested_form/pulls">
|
237
|
-
<span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull requests</span>
|
238
|
-
<span class="js-pull-replace-counter"></span>
|
239
|
-
<img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
240
|
-
</a> </li>
|
241
|
-
|
242
|
-
<li class="tooltipped tooltipped-w" aria-label="Wiki">
|
243
|
-
<a href="/ryanb/nested_form/wiki" aria-label="Wiki" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g w" data-selected-links="repo_wiki /ryanb/nested_form/wiki">
|
244
|
-
<span class="octicon octicon-book"></span> <span class="full-word">Wiki</span>
|
245
|
-
<img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
246
|
-
</a> </li>
|
247
|
-
</ul>
|
248
|
-
<div class="sunken-menu-separator"></div>
|
249
|
-
<ul class="sunken-menu-group">
|
250
|
-
|
251
|
-
<li class="tooltipped tooltipped-w" aria-label="Pulse">
|
252
|
-
<a href="/ryanb/nested_form/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-selected-links="pulse /ryanb/nested_form/pulse">
|
253
|
-
<span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
|
254
|
-
<img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
255
|
-
</a> </li>
|
256
|
-
|
257
|
-
<li class="tooltipped tooltipped-w" aria-label="Graphs">
|
258
|
-
<a href="/ryanb/nested_form/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-selected-links="repo_graphs repo_contributors /ryanb/nested_form/graphs">
|
259
|
-
<span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
|
260
|
-
<img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
|
261
|
-
</a> </li>
|
262
|
-
</ul>
|
263
|
-
|
264
|
-
|
265
|
-
</nav>
|
266
|
-
|
267
|
-
<div class="only-with-full-nav">
|
268
|
-
|
269
|
-
<div class="js-clone-url clone-url open"
|
270
|
-
data-protocol-type="http">
|
271
|
-
<h3 class="text-small"><span class="text-emphasized">HTTPS</span> clone URL</h3>
|
272
|
-
<div class="input-group js-zeroclipboard-container">
|
273
|
-
<input type="text" class="input-mini text-small input-monospace js-url-field js-zeroclipboard-target"
|
274
|
-
value="https://github.com/ryanb/nested_form.git" readonly="readonly" aria-label="HTTPS clone URL">
|
275
|
-
<span class="input-group-button">
|
276
|
-
<button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
|
277
|
-
</span>
|
278
|
-
</div>
|
279
|
-
</div>
|
280
|
-
|
281
|
-
|
282
|
-
<div class="js-clone-url clone-url "
|
283
|
-
data-protocol-type="subversion">
|
284
|
-
<h3 class="text-small"><span class="text-emphasized">Subversion</span> checkout URL</h3>
|
285
|
-
<div class="input-group js-zeroclipboard-container">
|
286
|
-
<input type="text" class="input-mini text-small input-monospace js-url-field js-zeroclipboard-target"
|
287
|
-
value="https://github.com/ryanb/nested_form" readonly="readonly" aria-label="Subversion checkout URL">
|
288
|
-
<span class="input-group-button">
|
289
|
-
<button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
|
290
|
-
</span>
|
291
|
-
</div>
|
292
|
-
</div>
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
<div class="clone-options text-small">You can clone with
|
297
|
-
<!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=http&protocol_type=clone" class="inline-form js-clone-selector-form " data-form-nonce="ff8321529b121e161b45237262356e1f2b3228db" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="m/KPPmgjfak8zJCO+wnK5+LRJtNkL2sy/zLo6bTfIcuKXK9Uh9jwuSPz5sPmmdiK+RuucmxaxRjsMYu+RAnjpQ==" /></div><button class="btn-link js-clone-selector" data-protocol="http" type="submit">HTTPS</button></form> or <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=subversion&protocol_type=clone" class="inline-form js-clone-selector-form " data-form-nonce="ff8321529b121e161b45237262356e1f2b3228db" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="La+Jge67BBuYmA1RIgVM2n0+bSmMXpvaKSuGgUoyZngOOoc/kLJ6hZEjw/T5axAWPLJHJAcfdI7Cev+2iJIxMA==" /></div><button class="btn-link js-clone-selector" data-protocol="subversion" type="submit">Subversion</button></form>.
|
298
|
-
<a href="https://help.github.com/articles/which-remote-url-should-i-use" class="help tooltipped tooltipped-n" aria-label="Get help on which URL is right for you.">
|
299
|
-
<span class="octicon octicon-question"></span>
|
300
|
-
</a>
|
301
|
-
</div>
|
302
|
-
|
303
|
-
<a href="/ryanb/nested_form/archive/master.zip"
|
304
|
-
class="btn btn-sm sidebar-button"
|
305
|
-
aria-label="Download the contents of ryanb/nested_form as a zip file"
|
306
|
-
title="Download the contents of ryanb/nested_form as a zip file"
|
307
|
-
rel="nofollow">
|
308
|
-
<span class="octicon octicon-cloud-download"></span>
|
309
|
-
Download ZIP
|
310
|
-
</a>
|
311
|
-
</div>
|
312
|
-
</div>
|
313
|
-
<div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
<a href="/ryanb/nested_form/blob/1b0689dfb4d230ceabd278eba159fcb02f23c68a/vendor/assets/javascripts/jquery_nested_form.js" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a>
|
318
|
-
|
319
|
-
<!-- blob contrib key: blob_contributors:v21:40a73da5bb6c98469d937448cdb59b87 -->
|
320
|
-
|
321
|
-
<div class="file-navigation js-zeroclipboard-container">
|
322
|
-
|
323
|
-
<div class="select-menu js-menu-container js-select-menu left">
|
324
|
-
<button class="btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
|
325
|
-
title="master"
|
326
|
-
type="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true">
|
327
|
-
<i>Branch:</i>
|
328
|
-
<span class="js-select-button css-truncate-target">master</span>
|
329
|
-
</button>
|
330
|
-
|
331
|
-
<div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true">
|
332
|
-
|
333
|
-
<div class="select-menu-modal">
|
334
|
-
<div class="select-menu-header">
|
335
|
-
<span class="select-menu-title">Switch branches/tags</span>
|
336
|
-
<span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span>
|
337
|
-
</div>
|
338
|
-
|
339
|
-
<div class="select-menu-filters">
|
340
|
-
<div class="select-menu-text-filter">
|
341
|
-
<input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
|
342
|
-
</div>
|
343
|
-
<div class="select-menu-tabs">
|
344
|
-
<ul>
|
345
|
-
<li class="select-menu-tab">
|
346
|
-
<a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>
|
347
|
-
</li>
|
348
|
-
<li class="select-menu-tab">
|
349
|
-
<a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>
|
350
|
-
</li>
|
351
|
-
</ul>
|
352
|
-
</div>
|
353
|
-
</div>
|
354
|
-
|
355
|
-
<div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">
|
356
|
-
|
357
|
-
<div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
|
358
|
-
|
359
|
-
|
360
|
-
<a class="select-menu-item js-navigation-item js-navigation-open "
|
361
|
-
href="/ryanb/nested_form/blob/0-3-stable/vendor/assets/javascripts/jquery_nested_form.js"
|
362
|
-
data-name="0-3-stable"
|
363
|
-
data-skip-pjax="true"
|
364
|
-
rel="nofollow">
|
365
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
366
|
-
<span class="select-menu-item-text css-truncate-target" title="0-3-stable">
|
367
|
-
0-3-stable
|
368
|
-
</span>
|
369
|
-
</a>
|
370
|
-
<a class="select-menu-item js-navigation-item js-navigation-open selected"
|
371
|
-
href="/ryanb/nested_form/blob/master/vendor/assets/javascripts/jquery_nested_form.js"
|
372
|
-
data-name="master"
|
373
|
-
data-skip-pjax="true"
|
374
|
-
rel="nofollow">
|
375
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
376
|
-
<span class="select-menu-item-text css-truncate-target" title="master">
|
377
|
-
master
|
378
|
-
</span>
|
379
|
-
</a>
|
380
|
-
<a class="select-menu-item js-navigation-item js-navigation-open "
|
381
|
-
href="/ryanb/nested_form/blob/rails2/vendor/assets/javascripts/jquery_nested_form.js"
|
382
|
-
data-name="rails2"
|
383
|
-
data-skip-pjax="true"
|
384
|
-
rel="nofollow">
|
385
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
386
|
-
<span class="select-menu-item-text css-truncate-target" title="rails2">
|
387
|
-
rails2
|
388
|
-
</span>
|
389
|
-
</a>
|
390
|
-
</div>
|
391
|
-
|
392
|
-
<div class="select-menu-no-results">Nothing to show</div>
|
393
|
-
</div>
|
394
|
-
|
395
|
-
<div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
|
396
|
-
<div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
|
397
|
-
|
398
|
-
|
399
|
-
<div class="select-menu-item js-navigation-item ">
|
400
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
401
|
-
<a href="/ryanb/nested_form/tree/0.3.2/vendor/assets/javascripts/jquery_nested_form.js"
|
402
|
-
data-name="0.3.2"
|
403
|
-
data-skip-pjax="true"
|
404
|
-
rel="nofollow"
|
405
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
406
|
-
title="0.3.2">0.3.2</a>
|
407
|
-
</div>
|
408
|
-
<div class="select-menu-item js-navigation-item ">
|
409
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
410
|
-
<a href="/ryanb/nested_form/tree/0.3.1/vendor/assets/javascripts/jquery_nested_form.js"
|
411
|
-
data-name="0.3.1"
|
412
|
-
data-skip-pjax="true"
|
413
|
-
rel="nofollow"
|
414
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
415
|
-
title="0.3.1">0.3.1</a>
|
416
|
-
</div>
|
417
|
-
<div class="select-menu-item js-navigation-item ">
|
418
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
419
|
-
<a href="/ryanb/nested_form/tree/0.3.0/vendor/assets/javascripts/jquery_nested_form.js"
|
420
|
-
data-name="0.3.0"
|
421
|
-
data-skip-pjax="true"
|
422
|
-
rel="nofollow"
|
423
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
424
|
-
title="0.3.0">0.3.0</a>
|
425
|
-
</div>
|
426
|
-
<div class="select-menu-item js-navigation-item ">
|
427
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
428
|
-
<a href="/ryanb/nested_form/tree/0.2.3/vendor/assets/javascripts/jquery_nested_form.js"
|
429
|
-
data-name="0.2.3"
|
430
|
-
data-skip-pjax="true"
|
431
|
-
rel="nofollow"
|
432
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
433
|
-
title="0.2.3">0.2.3</a>
|
434
|
-
</div>
|
435
|
-
<div class="select-menu-item js-navigation-item ">
|
436
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
437
|
-
<a href="/ryanb/nested_form/tree/0.2.2/vendor/assets/javascripts/jquery_nested_form.js"
|
438
|
-
data-name="0.2.2"
|
439
|
-
data-skip-pjax="true"
|
440
|
-
rel="nofollow"
|
441
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
442
|
-
title="0.2.2">0.2.2</a>
|
443
|
-
</div>
|
444
|
-
<div class="select-menu-item js-navigation-item ">
|
445
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
446
|
-
<a href="/ryanb/nested_form/tree/0.2.1/vendor/assets/javascripts/jquery_nested_form.js"
|
447
|
-
data-name="0.2.1"
|
448
|
-
data-skip-pjax="true"
|
449
|
-
rel="nofollow"
|
450
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
451
|
-
title="0.2.1">0.2.1</a>
|
452
|
-
</div>
|
453
|
-
<div class="select-menu-item js-navigation-item ">
|
454
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
455
|
-
<a href="/ryanb/nested_form/tree/0.2.0/vendor/assets/javascripts/jquery_nested_form.js"
|
456
|
-
data-name="0.2.0"
|
457
|
-
data-skip-pjax="true"
|
458
|
-
rel="nofollow"
|
459
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
460
|
-
title="0.2.0">0.2.0</a>
|
461
|
-
</div>
|
462
|
-
<div class="select-menu-item js-navigation-item ">
|
463
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
464
|
-
<a href="/ryanb/nested_form/tree/0.1.1/vendor/assets/javascripts/jquery_nested_form.js"
|
465
|
-
data-name="0.1.1"
|
466
|
-
data-skip-pjax="true"
|
467
|
-
rel="nofollow"
|
468
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
469
|
-
title="0.1.1">0.1.1</a>
|
470
|
-
</div>
|
471
|
-
<div class="select-menu-item js-navigation-item ">
|
472
|
-
<span class="select-menu-item-icon octicon octicon-check"></span>
|
473
|
-
<a href="/ryanb/nested_form/tree/0.1.0/vendor/assets/javascripts/jquery_nested_form.js"
|
474
|
-
data-name="0.1.0"
|
475
|
-
data-skip-pjax="true"
|
476
|
-
rel="nofollow"
|
477
|
-
class="js-navigation-open select-menu-item-text css-truncate-target"
|
478
|
-
title="0.1.0">0.1.0</a>
|
479
|
-
</div>
|
480
|
-
</div>
|
481
|
-
|
482
|
-
<div class="select-menu-no-results">Nothing to show</div>
|
483
|
-
</div>
|
484
|
-
|
485
|
-
</div>
|
486
|
-
</div>
|
487
|
-
</div>
|
488
|
-
|
489
|
-
<div class="btn-group right">
|
490
|
-
<a href="/ryanb/nested_form/find/master"
|
491
|
-
class="js-show-file-finder btn btn-sm empty-icon tooltipped tooltipped-nw"
|
492
|
-
data-pjax
|
493
|
-
data-hotkey="t"
|
494
|
-
aria-label="Quickly jump between files">
|
495
|
-
<span class="octicon octicon-list-unordered"></span>
|
496
|
-
</a>
|
497
|
-
<button aria-label="Copy file path to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
|
498
|
-
</div>
|
499
|
-
|
500
|
-
<div class="breadcrumb js-zeroclipboard-target">
|
501
|
-
<span class="repo-root js-repo-root"><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/ryanb/nested_form" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">nested_form</span></a></span></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/ryanb/nested_form/tree/master/vendor" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">vendor</span></a></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/ryanb/nested_form/tree/master/vendor/assets" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">assets</span></a></span><span class="separator">/</span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/ryanb/nested_form/tree/master/vendor/assets/javascripts" class="" data-branch="master" data-pjax="true" itemscope="url"><span itemprop="title">javascripts</span></a></span><span class="separator">/</span><strong class="final-path">jquery_nested_form.js</strong>
|
502
|
-
</div>
|
503
|
-
</div>
|
504
|
-
|
505
|
-
|
506
|
-
<div class="commit-tease">
|
507
|
-
<span class="right">
|
508
|
-
<a class="commit-tease-sha" href="/ryanb/nested_form/commit/35a2cf060680280413880337a3f89bdec469301c" data-pjax>
|
509
|
-
35a2cf
|
510
|
-
</a>
|
511
|
-
<time datetime="2013-11-08T08:41:34Z" is="relative-time">Nov 8, 2013</time>
|
512
|
-
</span>
|
513
|
-
<div>
|
514
|
-
<img alt="@lest" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/36079?v=3&s=40" width="20" />
|
515
|
-
<a href="/lest" class="user-mention" rel="contributor">lest</a>
|
516
|
-
<a href="/ryanb/nested_form/commit/35a2cf060680280413880337a3f89bdec469301c" class="message" data-pjax="true" title="fix js when regexp doesn't match">fix js when regexp doesn't match</a>
|
517
|
-
</div>
|
518
|
-
|
519
|
-
<div class="commit-tease-contributors">
|
520
|
-
<a class="muted-link contributors-toggle" href="#blob_contributors_box" rel="facebox">
|
521
|
-
<strong>10</strong>
|
522
|
-
contributors
|
523
|
-
</a>
|
524
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="lest" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=lest"><img alt="@lest" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/36079?v=3&s=40" width="20" /> </a>
|
525
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="fxposter" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=fxposter"><img alt="@fxposter" class="avatar" height="20" src="https://avatars0.githubusercontent.com/u/109216?v=3&s=40" width="20" /> </a>
|
526
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="groe" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=groe"><img alt="@groe" class="avatar" height="20" src="https://avatars3.githubusercontent.com/u/515293?v=3&s=40" width="20" /> </a>
|
527
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="mhuggins" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=mhuggins"><img alt="@mhuggins" class="avatar" height="20" src="https://avatars0.githubusercontent.com/u/169093?v=3&s=40" width="20" /> </a>
|
528
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="mohelsaka" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=mohelsaka"><img alt="@mohelsaka" class="avatar" height="20" src="https://avatars3.githubusercontent.com/u/935294?v=3&s=40" width="20" /> </a>
|
529
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="kevinrood" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=kevinrood"><img alt="@kevinrood" class="avatar" height="20" src="https://avatars2.githubusercontent.com/u/157205?v=3&s=40" width="20" /> </a>
|
530
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="nickhoffman" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=nickhoffman"><img alt="@nickhoffman" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/21668?v=3&s=40" width="20" /> </a>
|
531
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="nashbridges" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=nashbridges"><img alt="@nashbridges" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/380913?v=3&s=40" width="20" /> </a>
|
532
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="eric88" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=eric88"><img alt="@eric88" class="avatar" height="20" src="https://avatars3.githubusercontent.com/u/1660172?v=3&s=40" width="20" /> </a>
|
533
|
-
<a class="avatar-link tooltipped tooltipped-s" aria-label="ghostganz" href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js?author=ghostganz"><img alt="@ghostganz" class="avatar" height="20" src="https://avatars2.githubusercontent.com/u/7571?v=3&s=40" width="20" /> </a>
|
534
|
-
|
535
|
-
|
536
|
-
</div>
|
537
|
-
|
538
|
-
<div id="blob_contributors_box" style="display:none">
|
539
|
-
<h2 class="facebox-header" data-facebox-id="facebox-header">Users who have contributed to this file</h2>
|
540
|
-
<ul class="facebox-user-list" data-facebox-id="facebox-description">
|
541
|
-
<li class="facebox-user-list-item">
|
542
|
-
<img alt="@lest" height="24" src="https://avatars3.githubusercontent.com/u/36079?v=3&s=48" width="24" />
|
543
|
-
<a href="/lest">lest</a>
|
544
|
-
</li>
|
545
|
-
<li class="facebox-user-list-item">
|
546
|
-
<img alt="@fxposter" height="24" src="https://avatars2.githubusercontent.com/u/109216?v=3&s=48" width="24" />
|
547
|
-
<a href="/fxposter">fxposter</a>
|
548
|
-
</li>
|
549
|
-
<li class="facebox-user-list-item">
|
550
|
-
<img alt="@groe" height="24" src="https://avatars1.githubusercontent.com/u/515293?v=3&s=48" width="24" />
|
551
|
-
<a href="/groe">groe</a>
|
552
|
-
</li>
|
553
|
-
<li class="facebox-user-list-item">
|
554
|
-
<img alt="@mhuggins" height="24" src="https://avatars2.githubusercontent.com/u/169093?v=3&s=48" width="24" />
|
555
|
-
<a href="/mhuggins">mhuggins</a>
|
556
|
-
</li>
|
557
|
-
<li class="facebox-user-list-item">
|
558
|
-
<img alt="@mohelsaka" height="24" src="https://avatars1.githubusercontent.com/u/935294?v=3&s=48" width="24" />
|
559
|
-
<a href="/mohelsaka">mohelsaka</a>
|
560
|
-
</li>
|
561
|
-
<li class="facebox-user-list-item">
|
562
|
-
<img alt="@kevinrood" height="24" src="https://avatars0.githubusercontent.com/u/157205?v=3&s=48" width="24" />
|
563
|
-
<a href="/kevinrood">kevinrood</a>
|
564
|
-
</li>
|
565
|
-
<li class="facebox-user-list-item">
|
566
|
-
<img alt="@nickhoffman" height="24" src="https://avatars3.githubusercontent.com/u/21668?v=3&s=48" width="24" />
|
567
|
-
<a href="/nickhoffman">nickhoffman</a>
|
568
|
-
</li>
|
569
|
-
<li class="facebox-user-list-item">
|
570
|
-
<img alt="@nashbridges" height="24" src="https://avatars3.githubusercontent.com/u/380913?v=3&s=48" width="24" />
|
571
|
-
<a href="/nashbridges">nashbridges</a>
|
572
|
-
</li>
|
573
|
-
<li class="facebox-user-list-item">
|
574
|
-
<img alt="@eric88" height="24" src="https://avatars1.githubusercontent.com/u/1660172?v=3&s=48" width="24" />
|
575
|
-
<a href="/eric88">eric88</a>
|
576
|
-
</li>
|
577
|
-
<li class="facebox-user-list-item">
|
578
|
-
<img alt="@ghostganz" height="24" src="https://avatars0.githubusercontent.com/u/7571?v=3&s=48" width="24" />
|
579
|
-
<a href="/ghostganz">ghostganz</a>
|
580
|
-
</li>
|
581
|
-
</ul>
|
582
|
-
</div>
|
583
|
-
</div>
|
584
|
-
|
585
|
-
<div class="file">
|
586
|
-
<div class="file-header">
|
587
|
-
<div class="file-actions">
|
588
|
-
|
589
|
-
<div class="btn-group">
|
590
|
-
<a href="/ryanb/nested_form/raw/master/vendor/assets/javascripts/jquery_nested_form.js" class="btn btn-sm " id="raw-url">Raw</a>
|
591
|
-
<a href="/ryanb/nested_form/blame/master/vendor/assets/javascripts/jquery_nested_form.js" class="btn btn-sm js-update-url-with-hash">Blame</a>
|
592
|
-
<a href="/ryanb/nested_form/commits/master/vendor/assets/javascripts/jquery_nested_form.js" class="btn btn-sm " rel="nofollow">History</a>
|
593
|
-
</div>
|
594
|
-
|
595
|
-
|
596
|
-
<button type="button" class="octicon-btn disabled tooltipped tooltipped-nw"
|
597
|
-
aria-label="You must be signed in to make or propose changes">
|
598
|
-
<span class="octicon octicon-pencil"></span>
|
599
|
-
</button>
|
600
|
-
<button type="button" class="octicon-btn octicon-btn-danger disabled tooltipped tooltipped-nw"
|
601
|
-
aria-label="You must be signed in to make or propose changes">
|
602
|
-
<span class="octicon octicon-trashcan"></span>
|
603
|
-
</button>
|
604
|
-
</div>
|
605
|
-
|
606
|
-
<div class="file-info">
|
607
|
-
121 lines (107 sloc)
|
608
|
-
<span class="file-info-divider"></span>
|
609
|
-
4.55 KB
|
610
|
-
</div>
|
611
|
-
</div>
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
<div class="blob-wrapper data type-javascript">
|
616
|
-
<table class="highlight tab-size js-file-line-container" data-tab-size="8">
|
617
|
-
<tr>
|
618
|
-
<td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
|
619
|
-
<td id="LC1" class="blob-code blob-code-inner js-file-line">(<span class="pl-k">function</span>(<span class="pl-smi">$</span>) {</td>
|
620
|
-
</tr>
|
621
|
-
<tr>
|
622
|
-
<td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
|
623
|
-
<td id="LC2" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">window</span>.<span class="pl-en">NestedFormEvents</span> <span class="pl-k">=</span> <span class="pl-k">function</span>() {</td>
|
624
|
-
</tr>
|
625
|
-
<tr>
|
626
|
-
<td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
|
627
|
-
<td id="LC3" class="blob-code blob-code-inner js-file-line"> <span class="pl-v">this</span>.addFields <span class="pl-k">=</span> $.proxy(<span class="pl-v">this</span>.addFields, <span class="pl-v">this</span>);</td>
|
628
|
-
</tr>
|
629
|
-
<tr>
|
630
|
-
<td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
|
631
|
-
<td id="LC4" class="blob-code blob-code-inner js-file-line"> <span class="pl-v">this</span>.removeFields <span class="pl-k">=</span> $.proxy(<span class="pl-v">this</span>.removeFields, <span class="pl-v">this</span>);</td>
|
632
|
-
</tr>
|
633
|
-
<tr>
|
634
|
-
<td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
|
635
|
-
<td id="LC5" class="blob-code blob-code-inner js-file-line"> };</td>
|
636
|
-
</tr>
|
637
|
-
<tr>
|
638
|
-
<td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
|
639
|
-
<td id="LC6" class="blob-code blob-code-inner js-file-line">
|
640
|
-
</td>
|
641
|
-
</tr>
|
642
|
-
<tr>
|
643
|
-
<td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
|
644
|
-
<td id="LC7" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">NestedFormEvents</span>.<span class="pl-c1">prototype</span> <span class="pl-k">=</span> {</td>
|
645
|
-
</tr>
|
646
|
-
<tr>
|
647
|
-
<td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
|
648
|
-
<td id="LC8" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">addFields</span><span class="pl-k">:</span> <span class="pl-k">function</span>(<span class="pl-smi">e</span>) {</td>
|
649
|
-
</tr>
|
650
|
-
<tr>
|
651
|
-
<td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
|
652
|
-
<td id="LC9" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// Setup</span></td>
|
653
|
-
</tr>
|
654
|
-
<tr>
|
655
|
-
<td id="L10" class="blob-num js-line-number" data-line-number="10"></td>
|
656
|
-
<td id="LC10" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> link <span class="pl-k">=</span> e.currentTarget;</td>
|
657
|
-
</tr>
|
658
|
-
<tr>
|
659
|
-
<td id="L11" class="blob-num js-line-number" data-line-number="11"></td>
|
660
|
-
<td id="LC11" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> assoc <span class="pl-k">=</span> $(link).<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">'</span>association<span class="pl-pds">'</span></span>); <span class="pl-c">// Name of child</span></td>
|
661
|
-
</tr>
|
662
|
-
<tr>
|
663
|
-
<td id="L12" class="blob-num js-line-number" data-line-number="12"></td>
|
664
|
-
<td id="LC12" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> blueprint <span class="pl-k">=</span> $(<span class="pl-s"><span class="pl-pds">'</span>#<span class="pl-pds">'</span></span> <span class="pl-k">+</span> $(link).<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">'</span>blueprint-id<span class="pl-pds">'</span></span>));</td>
|
665
|
-
</tr>
|
666
|
-
<tr>
|
667
|
-
<td id="L13" class="blob-num js-line-number" data-line-number="13"></td>
|
668
|
-
<td id="LC13" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> content <span class="pl-k">=</span> blueprint.<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">'</span>blueprint<span class="pl-pds">'</span></span>); <span class="pl-c">// Fields template</span></td>
|
669
|
-
</tr>
|
670
|
-
<tr>
|
671
|
-
<td id="L14" class="blob-num js-line-number" data-line-number="14"></td>
|
672
|
-
<td id="LC14" class="blob-code blob-code-inner js-file-line">
|
673
|
-
</td>
|
674
|
-
</tr>
|
675
|
-
<tr>
|
676
|
-
<td id="L15" class="blob-num js-line-number" data-line-number="15"></td>
|
677
|
-
<td id="LC15" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// Make the context correct by replacing <parents> with the generated ID</span></td>
|
678
|
-
</tr>
|
679
|
-
<tr>
|
680
|
-
<td id="L16" class="blob-num js-line-number" data-line-number="16"></td>
|
681
|
-
<td id="LC16" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// of each of the parent objects</span></td>
|
682
|
-
</tr>
|
683
|
-
<tr>
|
684
|
-
<td id="L17" class="blob-num js-line-number" data-line-number="17"></td>
|
685
|
-
<td id="LC17" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> context <span class="pl-k">=</span> ($(link).closest(<span class="pl-s"><span class="pl-pds">'</span>.fields<span class="pl-pds">'</span></span>).closestChild(<span class="pl-s"><span class="pl-pds">'</span>input, textarea, select<span class="pl-pds">'</span></span>).eq(<span class="pl-c1">0</span>).attr(<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>) <span class="pl-k">||</span> <span class="pl-s"><span class="pl-pds">'</span><span class="pl-pds">'</span></span>).<span class="pl-c1">replace</span>(<span class="pl-sr"><span class="pl-pds">/</span><span class="pl-cce">\[</span><span class="pl-c1">[<span class="pl-c1">a-z</span>_]</span><span class="pl-k">+</span><span class="pl-cce">\]</span><span class="pl-k">$</span><span class="pl-pds">/</span></span>, <span class="pl-s"><span class="pl-pds">'</span><span class="pl-pds">'</span></span>);</td>
|
686
|
-
</tr>
|
687
|
-
<tr>
|
688
|
-
<td id="L18" class="blob-num js-line-number" data-line-number="18"></td>
|
689
|
-
<td id="LC18" class="blob-code blob-code-inner js-file-line">
|
690
|
-
</td>
|
691
|
-
</tr>
|
692
|
-
<tr>
|
693
|
-
<td id="L19" class="blob-num js-line-number" data-line-number="19"></td>
|
694
|
-
<td id="LC19" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// If the parent has no inputs we need to strip off the last pair</span></td>
|
695
|
-
</tr>
|
696
|
-
<tr>
|
697
|
-
<td id="L20" class="blob-num js-line-number" data-line-number="20"></td>
|
698
|
-
<td id="LC20" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> current <span class="pl-k">=</span> content.<span class="pl-c1">match</span>(<span class="pl-k">new</span> <span class="pl-en">RegExp</span>(<span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\\</span>[([a-z_]+)<span class="pl-cce">\\</span>]<span class="pl-cce">\\</span>[new_<span class="pl-pds">'</span></span> <span class="pl-k">+</span> assoc <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\\</span>]<span class="pl-pds">'</span></span>));</td>
|
699
|
-
</tr>
|
700
|
-
<tr>
|
701
|
-
<td id="L21" class="blob-num js-line-number" data-line-number="21"></td>
|
702
|
-
<td id="LC21" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (current) {</td>
|
703
|
-
</tr>
|
704
|
-
<tr>
|
705
|
-
<td id="L22" class="blob-num js-line-number" data-line-number="22"></td>
|
706
|
-
<td id="LC22" class="blob-code blob-code-inner js-file-line"> context <span class="pl-k">=</span> context.<span class="pl-c1">replace</span>(<span class="pl-k">new</span> <span class="pl-en">RegExp</span>(<span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\\</span>[<span class="pl-pds">'</span></span> <span class="pl-k">+</span> current[<span class="pl-c1">1</span>] <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\\</span>]<span class="pl-cce">\\</span>[(new_)?<span class="pl-cce">\\</span>d+<span class="pl-cce">\\</span>]$<span class="pl-pds">'</span></span>), <span class="pl-s"><span class="pl-pds">'</span><span class="pl-pds">'</span></span>);</td>
|
707
|
-
</tr>
|
708
|
-
<tr>
|
709
|
-
<td id="L23" class="blob-num js-line-number" data-line-number="23"></td>
|
710
|
-
<td id="LC23" class="blob-code blob-code-inner js-file-line"> }</td>
|
711
|
-
</tr>
|
712
|
-
<tr>
|
713
|
-
<td id="L24" class="blob-num js-line-number" data-line-number="24"></td>
|
714
|
-
<td id="LC24" class="blob-code blob-code-inner js-file-line">
|
715
|
-
</td>
|
716
|
-
</tr>
|
717
|
-
<tr>
|
718
|
-
<td id="L25" class="blob-num js-line-number" data-line-number="25"></td>
|
719
|
-
<td id="LC25" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// context will be something like this for a brand new form:</span></td>
|
720
|
-
</tr>
|
721
|
-
<tr>
|
722
|
-
<td id="L26" class="blob-num js-line-number" data-line-number="26"></td>
|
723
|
-
<td id="LC26" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// project[tasks_attributes][1255929127459][assignments_attributes][1255929128105]</span></td>
|
724
|
-
</tr>
|
725
|
-
<tr>
|
726
|
-
<td id="L27" class="blob-num js-line-number" data-line-number="27"></td>
|
727
|
-
<td id="LC27" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// or for an edit form:</span></td>
|
728
|
-
</tr>
|
729
|
-
<tr>
|
730
|
-
<td id="L28" class="blob-num js-line-number" data-line-number="28"></td>
|
731
|
-
<td id="LC28" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// project[tasks_attributes][0][assignments_attributes][1]</span></td>
|
732
|
-
</tr>
|
733
|
-
<tr>
|
734
|
-
<td id="L29" class="blob-num js-line-number" data-line-number="29"></td>
|
735
|
-
<td id="LC29" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (context) {</td>
|
736
|
-
</tr>
|
737
|
-
<tr>
|
738
|
-
<td id="L30" class="blob-num js-line-number" data-line-number="30"></td>
|
739
|
-
<td id="LC30" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> parentNames <span class="pl-k">=</span> context.<span class="pl-c1">match</span>(<span class="pl-sr"><span class="pl-pds">/</span><span class="pl-c1">[<span class="pl-c1">a-z</span>_]</span><span class="pl-k">+</span>_attributes(?=<span class="pl-cce">\]\[</span>(new_)<span class="pl-k">?</span><span class="pl-c1">\d</span><span class="pl-k">+</span><span class="pl-cce">\]</span>)<span class="pl-pds">/</span>g</span>) <span class="pl-k">||</span> [];</td>
|
740
|
-
</tr>
|
741
|
-
<tr>
|
742
|
-
<td id="L31" class="blob-num js-line-number" data-line-number="31"></td>
|
743
|
-
<td id="LC31" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> parentIds <span class="pl-k">=</span> context.<span class="pl-c1">match</span>(<span class="pl-sr"><span class="pl-pds">/</span><span class="pl-c1">[<span class="pl-c1">0-9</span>]</span><span class="pl-k">+</span><span class="pl-pds">/</span>g</span>) <span class="pl-k">||</span> [];</td>
|
744
|
-
</tr>
|
745
|
-
<tr>
|
746
|
-
<td id="L32" class="blob-num js-line-number" data-line-number="32"></td>
|
747
|
-
<td id="LC32" class="blob-code blob-code-inner js-file-line">
|
748
|
-
</td>
|
749
|
-
</tr>
|
750
|
-
<tr>
|
751
|
-
<td id="L33" class="blob-num js-line-number" data-line-number="33"></td>
|
752
|
-
<td id="LC33" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span>(<span class="pl-k">var</span> i <span class="pl-k">=</span> <span class="pl-c1">0</span>; i <span class="pl-k"><</span> parentNames.<span class="pl-c1">length</span>; i<span class="pl-k">++</span>) {</td>
|
753
|
-
</tr>
|
754
|
-
<tr>
|
755
|
-
<td id="L34" class="blob-num js-line-number" data-line-number="34"></td>
|
756
|
-
<td id="LC34" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span>(parentIds[i]) {</td>
|
757
|
-
</tr>
|
758
|
-
<tr>
|
759
|
-
<td id="L35" class="blob-num js-line-number" data-line-number="35"></td>
|
760
|
-
<td id="LC35" class="blob-code blob-code-inner js-file-line"> content <span class="pl-k">=</span> content.<span class="pl-c1">replace</span>(</td>
|
761
|
-
</tr>
|
762
|
-
<tr>
|
763
|
-
<td id="L36" class="blob-num js-line-number" data-line-number="36"></td>
|
764
|
-
<td id="LC36" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">new</span> <span class="pl-en">RegExp</span>(<span class="pl-s"><span class="pl-pds">'</span>(_<span class="pl-pds">'</span></span> <span class="pl-k">+</span> parentNames[i] <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span>)_.+?_<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>g<span class="pl-pds">'</span></span>),</td>
|
765
|
-
</tr>
|
766
|
-
<tr>
|
767
|
-
<td id="L37" class="blob-num js-line-number" data-line-number="37"></td>
|
768
|
-
<td id="LC37" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">'</span>$1_<span class="pl-pds">'</span></span> <span class="pl-k">+</span> parentIds[i] <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span>_<span class="pl-pds">'</span></span>);</td>
|
769
|
-
</tr>
|
770
|
-
<tr>
|
771
|
-
<td id="L38" class="blob-num js-line-number" data-line-number="38"></td>
|
772
|
-
<td id="LC38" class="blob-code blob-code-inner js-file-line">
|
773
|
-
</td>
|
774
|
-
</tr>
|
775
|
-
<tr>
|
776
|
-
<td id="L39" class="blob-num js-line-number" data-line-number="39"></td>
|
777
|
-
<td id="LC39" class="blob-code blob-code-inner js-file-line"> content <span class="pl-k">=</span> content.<span class="pl-c1">replace</span>(</td>
|
778
|
-
</tr>
|
779
|
-
<tr>
|
780
|
-
<td id="L40" class="blob-num js-line-number" data-line-number="40"></td>
|
781
|
-
<td id="LC40" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">new</span> <span class="pl-en">RegExp</span>(<span class="pl-s"><span class="pl-pds">'</span>(<span class="pl-cce">\\</span>[<span class="pl-pds">'</span></span> <span class="pl-k">+</span> parentNames[i] <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\\</span>])<span class="pl-cce">\\</span>[.+?<span class="pl-cce">\\</span>]<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>g<span class="pl-pds">'</span></span>),</td>
|
782
|
-
</tr>
|
783
|
-
<tr>
|
784
|
-
<td id="L41" class="blob-num js-line-number" data-line-number="41"></td>
|
785
|
-
<td id="LC41" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">'</span>$1[<span class="pl-pds">'</span></span> <span class="pl-k">+</span> parentIds[i] <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span>]<span class="pl-pds">'</span></span>);</td>
|
786
|
-
</tr>
|
787
|
-
<tr>
|
788
|
-
<td id="L42" class="blob-num js-line-number" data-line-number="42"></td>
|
789
|
-
<td id="LC42" class="blob-code blob-code-inner js-file-line"> }</td>
|
790
|
-
</tr>
|
791
|
-
<tr>
|
792
|
-
<td id="L43" class="blob-num js-line-number" data-line-number="43"></td>
|
793
|
-
<td id="LC43" class="blob-code blob-code-inner js-file-line"> }</td>
|
794
|
-
</tr>
|
795
|
-
<tr>
|
796
|
-
<td id="L44" class="blob-num js-line-number" data-line-number="44"></td>
|
797
|
-
<td id="LC44" class="blob-code blob-code-inner js-file-line"> }</td>
|
798
|
-
</tr>
|
799
|
-
<tr>
|
800
|
-
<td id="L45" class="blob-num js-line-number" data-line-number="45"></td>
|
801
|
-
<td id="LC45" class="blob-code blob-code-inner js-file-line">
|
802
|
-
</td>
|
803
|
-
</tr>
|
804
|
-
<tr>
|
805
|
-
<td id="L46" class="blob-num js-line-number" data-line-number="46"></td>
|
806
|
-
<td id="LC46" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// Make a unique ID for the new child</span></td>
|
807
|
-
</tr>
|
808
|
-
<tr>
|
809
|
-
<td id="L47" class="blob-num js-line-number" data-line-number="47"></td>
|
810
|
-
<td id="LC47" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> regexp <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">RegExp</span>(<span class="pl-s"><span class="pl-pds">'</span>new_<span class="pl-pds">'</span></span> <span class="pl-k">+</span> assoc, <span class="pl-s"><span class="pl-pds">'</span>g<span class="pl-pds">'</span></span>);</td>
|
811
|
-
</tr>
|
812
|
-
<tr>
|
813
|
-
<td id="L48" class="blob-num js-line-number" data-line-number="48"></td>
|
814
|
-
<td id="LC48" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> new_id <span class="pl-k">=</span> <span class="pl-v">this</span>.newId();</td>
|
815
|
-
</tr>
|
816
|
-
<tr>
|
817
|
-
<td id="L49" class="blob-num js-line-number" data-line-number="49"></td>
|
818
|
-
<td id="LC49" class="blob-code blob-code-inner js-file-line"> content <span class="pl-k">=</span> $.trim(content.<span class="pl-c1">replace</span>(regexp, new_id));</td>
|
819
|
-
</tr>
|
820
|
-
<tr>
|
821
|
-
<td id="L50" class="blob-num js-line-number" data-line-number="50"></td>
|
822
|
-
<td id="LC50" class="blob-code blob-code-inner js-file-line">
|
823
|
-
</td>
|
824
|
-
</tr>
|
825
|
-
<tr>
|
826
|
-
<td id="L51" class="blob-num js-line-number" data-line-number="51"></td>
|
827
|
-
<td id="LC51" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> field <span class="pl-k">=</span> <span class="pl-v">this</span>.insertFields(content, assoc, link);</td>
|
828
|
-
</tr>
|
829
|
-
<tr>
|
830
|
-
<td id="L52" class="blob-num js-line-number" data-line-number="52"></td>
|
831
|
-
<td id="LC52" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// bubble up event upto document (through form)</span></td>
|
832
|
-
</tr>
|
833
|
-
<tr>
|
834
|
-
<td id="L53" class="blob-num js-line-number" data-line-number="53"></td>
|
835
|
-
<td id="LC53" class="blob-code blob-code-inner js-file-line"> field</td>
|
836
|
-
</tr>
|
837
|
-
<tr>
|
838
|
-
<td id="L54" class="blob-num js-line-number" data-line-number="54"></td>
|
839
|
-
<td id="LC54" class="blob-code blob-code-inner js-file-line"> .trigger({ type<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">'</span>nested:fieldAdded<span class="pl-pds">'</span></span>, field<span class="pl-k">:</span> field })</td>
|
840
|
-
</tr>
|
841
|
-
<tr>
|
842
|
-
<td id="L55" class="blob-num js-line-number" data-line-number="55"></td>
|
843
|
-
<td id="LC55" class="blob-code blob-code-inner js-file-line"> .trigger({ type<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">'</span>nested:fieldAdded:<span class="pl-pds">'</span></span> <span class="pl-k">+</span> assoc, field<span class="pl-k">:</span> field });</td>
|
844
|
-
</tr>
|
845
|
-
<tr>
|
846
|
-
<td id="L56" class="blob-num js-line-number" data-line-number="56"></td>
|
847
|
-
<td id="LC56" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c1">false</span>;</td>
|
848
|
-
</tr>
|
849
|
-
<tr>
|
850
|
-
<td id="L57" class="blob-num js-line-number" data-line-number="57"></td>
|
851
|
-
<td id="LC57" class="blob-code blob-code-inner js-file-line"> },</td>
|
852
|
-
</tr>
|
853
|
-
<tr>
|
854
|
-
<td id="L58" class="blob-num js-line-number" data-line-number="58"></td>
|
855
|
-
<td id="LC58" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">newId</span><span class="pl-k">:</span> <span class="pl-k">function</span>() {</td>
|
856
|
-
</tr>
|
857
|
-
<tr>
|
858
|
-
<td id="L59" class="blob-num js-line-number" data-line-number="59"></td>
|
859
|
-
<td id="LC59" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-k">new</span> <span class="pl-en">Date</span>().<span class="pl-c1">getTime</span>();</td>
|
860
|
-
</tr>
|
861
|
-
<tr>
|
862
|
-
<td id="L60" class="blob-num js-line-number" data-line-number="60"></td>
|
863
|
-
<td id="LC60" class="blob-code blob-code-inner js-file-line"> },</td>
|
864
|
-
</tr>
|
865
|
-
<tr>
|
866
|
-
<td id="L61" class="blob-num js-line-number" data-line-number="61"></td>
|
867
|
-
<td id="LC61" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">insertFields</span><span class="pl-k">:</span> <span class="pl-k">function</span>(<span class="pl-smi">content</span>, <span class="pl-smi">assoc</span>, <span class="pl-smi">link</span>) {</td>
|
868
|
-
</tr>
|
869
|
-
<tr>
|
870
|
-
<td id="L62" class="blob-num js-line-number" data-line-number="62"></td>
|
871
|
-
<td id="LC62" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> target <span class="pl-k">=</span> $(link).<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">'</span>target<span class="pl-pds">'</span></span>);</td>
|
872
|
-
</tr>
|
873
|
-
<tr>
|
874
|
-
<td id="L63" class="blob-num js-line-number" data-line-number="63"></td>
|
875
|
-
<td id="LC63" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (target) {</td>
|
876
|
-
</tr>
|
877
|
-
<tr>
|
878
|
-
<td id="L64" class="blob-num js-line-number" data-line-number="64"></td>
|
879
|
-
<td id="LC64" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> $(content).appendTo($(target));</td>
|
880
|
-
</tr>
|
881
|
-
<tr>
|
882
|
-
<td id="L65" class="blob-num js-line-number" data-line-number="65"></td>
|
883
|
-
<td id="LC65" class="blob-code blob-code-inner js-file-line"> } <span class="pl-k">else</span> {</td>
|
884
|
-
</tr>
|
885
|
-
<tr>
|
886
|
-
<td id="L66" class="blob-num js-line-number" data-line-number="66"></td>
|
887
|
-
<td id="LC66" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> $(content).<span class="pl-c1">insertBefore</span>(link);</td>
|
888
|
-
</tr>
|
889
|
-
<tr>
|
890
|
-
<td id="L67" class="blob-num js-line-number" data-line-number="67"></td>
|
891
|
-
<td id="LC67" class="blob-code blob-code-inner js-file-line"> }</td>
|
892
|
-
</tr>
|
893
|
-
<tr>
|
894
|
-
<td id="L68" class="blob-num js-line-number" data-line-number="68"></td>
|
895
|
-
<td id="LC68" class="blob-code blob-code-inner js-file-line"> },</td>
|
896
|
-
</tr>
|
897
|
-
<tr>
|
898
|
-
<td id="L69" class="blob-num js-line-number" data-line-number="69"></td>
|
899
|
-
<td id="LC69" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">removeFields</span><span class="pl-k">:</span> <span class="pl-k">function</span>(<span class="pl-smi">e</span>) {</td>
|
900
|
-
</tr>
|
901
|
-
<tr>
|
902
|
-
<td id="L70" class="blob-num js-line-number" data-line-number="70"></td>
|
903
|
-
<td id="LC70" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> $link <span class="pl-k">=</span> $(e.currentTarget),</td>
|
904
|
-
</tr>
|
905
|
-
<tr>
|
906
|
-
<td id="L71" class="blob-num js-line-number" data-line-number="71"></td>
|
907
|
-
<td id="LC71" class="blob-code blob-code-inner js-file-line"> assoc <span class="pl-k">=</span> $link.<span class="pl-c1">data</span>(<span class="pl-s"><span class="pl-pds">'</span>association<span class="pl-pds">'</span></span>); <span class="pl-c">// Name of child to be removed</span></td>
|
908
|
-
</tr>
|
909
|
-
<tr>
|
910
|
-
<td id="L72" class="blob-num js-line-number" data-line-number="72"></td>
|
911
|
-
<td id="LC72" class="blob-code blob-code-inner js-file-line"> </td>
|
912
|
-
</tr>
|
913
|
-
<tr>
|
914
|
-
<td id="L73" class="blob-num js-line-number" data-line-number="73"></td>
|
915
|
-
<td id="LC73" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> hiddenField <span class="pl-k">=</span> $link.prev(<span class="pl-s"><span class="pl-pds">'</span>input[type=hidden]<span class="pl-pds">'</span></span>);</td>
|
916
|
-
</tr>
|
917
|
-
<tr>
|
918
|
-
<td id="L74" class="blob-num js-line-number" data-line-number="74"></td>
|
919
|
-
<td id="LC74" class="blob-code blob-code-inner js-file-line"> hiddenField.val(<span class="pl-s"><span class="pl-pds">'</span>1<span class="pl-pds">'</span></span>);</td>
|
920
|
-
</tr>
|
921
|
-
<tr>
|
922
|
-
<td id="L75" class="blob-num js-line-number" data-line-number="75"></td>
|
923
|
-
<td id="LC75" class="blob-code blob-code-inner js-file-line"> </td>
|
924
|
-
</tr>
|
925
|
-
<tr>
|
926
|
-
<td id="L76" class="blob-num js-line-number" data-line-number="76"></td>
|
927
|
-
<td id="LC76" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> field <span class="pl-k">=</span> $link.closest(<span class="pl-s"><span class="pl-pds">'</span>.fields<span class="pl-pds">'</span></span>);</td>
|
928
|
-
</tr>
|
929
|
-
<tr>
|
930
|
-
<td id="L77" class="blob-num js-line-number" data-line-number="77"></td>
|
931
|
-
<td id="LC77" class="blob-code blob-code-inner js-file-line"> field.hide();</td>
|
932
|
-
</tr>
|
933
|
-
<tr>
|
934
|
-
<td id="L78" class="blob-num js-line-number" data-line-number="78"></td>
|
935
|
-
<td id="LC78" class="blob-code blob-code-inner js-file-line"> </td>
|
936
|
-
</tr>
|
937
|
-
<tr>
|
938
|
-
<td id="L79" class="blob-num js-line-number" data-line-number="79"></td>
|
939
|
-
<td id="LC79" class="blob-code blob-code-inner js-file-line"> field</td>
|
940
|
-
</tr>
|
941
|
-
<tr>
|
942
|
-
<td id="L80" class="blob-num js-line-number" data-line-number="80"></td>
|
943
|
-
<td id="LC80" class="blob-code blob-code-inner js-file-line"> .trigger({ type<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">'</span>nested:fieldRemoved<span class="pl-pds">'</span></span>, field<span class="pl-k">:</span> field })</td>
|
944
|
-
</tr>
|
945
|
-
<tr>
|
946
|
-
<td id="L81" class="blob-num js-line-number" data-line-number="81"></td>
|
947
|
-
<td id="LC81" class="blob-code blob-code-inner js-file-line"> .trigger({ type<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">'</span>nested:fieldRemoved:<span class="pl-pds">'</span></span> <span class="pl-k">+</span> assoc, field<span class="pl-k">:</span> field });</td>
|
948
|
-
</tr>
|
949
|
-
<tr>
|
950
|
-
<td id="L82" class="blob-num js-line-number" data-line-number="82"></td>
|
951
|
-
<td id="LC82" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c1">false</span>;</td>
|
952
|
-
</tr>
|
953
|
-
<tr>
|
954
|
-
<td id="L83" class="blob-num js-line-number" data-line-number="83"></td>
|
955
|
-
<td id="LC83" class="blob-code blob-code-inner js-file-line"> }</td>
|
956
|
-
</tr>
|
957
|
-
<tr>
|
958
|
-
<td id="L84" class="blob-num js-line-number" data-line-number="84"></td>
|
959
|
-
<td id="LC84" class="blob-code blob-code-inner js-file-line"> };</td>
|
960
|
-
</tr>
|
961
|
-
<tr>
|
962
|
-
<td id="L85" class="blob-num js-line-number" data-line-number="85"></td>
|
963
|
-
<td id="LC85" class="blob-code blob-code-inner js-file-line">
|
964
|
-
</td>
|
965
|
-
</tr>
|
966
|
-
<tr>
|
967
|
-
<td id="L86" class="blob-num js-line-number" data-line-number="86"></td>
|
968
|
-
<td id="LC86" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">window</span>.nestedFormEvents <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">NestedFormEvents</span>();</td>
|
969
|
-
</tr>
|
970
|
-
<tr>
|
971
|
-
<td id="L87" class="blob-num js-line-number" data-line-number="87"></td>
|
972
|
-
<td id="LC87" class="blob-code blob-code-inner js-file-line"> $(<span class="pl-c1">document</span>)</td>
|
973
|
-
</tr>
|
974
|
-
<tr>
|
975
|
-
<td id="L88" class="blob-num js-line-number" data-line-number="88"></td>
|
976
|
-
<td id="LC88" class="blob-code blob-code-inner js-file-line"> .delegate(<span class="pl-s"><span class="pl-pds">'</span>form a.add_nested_fields<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>click<span class="pl-pds">'</span></span>, nestedFormEvents.addFields)</td>
|
977
|
-
</tr>
|
978
|
-
<tr>
|
979
|
-
<td id="L89" class="blob-num js-line-number" data-line-number="89"></td>
|
980
|
-
<td id="LC89" class="blob-code blob-code-inner js-file-line"> .delegate(<span class="pl-s"><span class="pl-pds">'</span>form a.remove_nested_fields<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>click<span class="pl-pds">'</span></span>, nestedFormEvents.removeFields);</td>
|
981
|
-
</tr>
|
982
|
-
<tr>
|
983
|
-
<td id="L90" class="blob-num js-line-number" data-line-number="90"></td>
|
984
|
-
<td id="LC90" class="blob-code blob-code-inner js-file-line">})(jQuery);</td>
|
985
|
-
</tr>
|
986
|
-
<tr>
|
987
|
-
<td id="L91" class="blob-num js-line-number" data-line-number="91"></td>
|
988
|
-
<td id="LC91" class="blob-code blob-code-inner js-file-line">
|
989
|
-
</td>
|
990
|
-
</tr>
|
991
|
-
<tr>
|
992
|
-
<td id="L92" class="blob-num js-line-number" data-line-number="92"></td>
|
993
|
-
<td id="LC92" class="blob-code blob-code-inner js-file-line"><span class="pl-c">// http://plugins.jquery.com/project/closestChild</span></td>
|
994
|
-
</tr>
|
995
|
-
<tr>
|
996
|
-
<td id="L93" class="blob-num js-line-number" data-line-number="93"></td>
|
997
|
-
<td id="LC93" class="blob-code blob-code-inner js-file-line"><span class="pl-c">/*</span></td>
|
998
|
-
</tr>
|
999
|
-
<tr>
|
1000
|
-
<td id="L94" class="blob-num js-line-number" data-line-number="94"></td>
|
1001
|
-
<td id="LC94" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * Copyright 2011, Tobias Lindig</span></td>
|
1002
|
-
</tr>
|
1003
|
-
<tr>
|
1004
|
-
<td id="L95" class="blob-num js-line-number" data-line-number="95"></td>
|
1005
|
-
<td id="LC95" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> *</span></td>
|
1006
|
-
</tr>
|
1007
|
-
<tr>
|
1008
|
-
<td id="L96" class="blob-num js-line-number" data-line-number="96"></td>
|
1009
|
-
<td id="LC96" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)</span></td>
|
1010
|
-
</tr>
|
1011
|
-
<tr>
|
1012
|
-
<td id="L97" class="blob-num js-line-number" data-line-number="97"></td>
|
1013
|
-
<td id="LC97" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.</span></td>
|
1014
|
-
</tr>
|
1015
|
-
<tr>
|
1016
|
-
<td id="L98" class="blob-num js-line-number" data-line-number="98"></td>
|
1017
|
-
<td id="LC98" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> *</span></td>
|
1018
|
-
</tr>
|
1019
|
-
<tr>
|
1020
|
-
<td id="L99" class="blob-num js-line-number" data-line-number="99"></td>
|
1021
|
-
<td id="LC99" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> */</span></td>
|
1022
|
-
</tr>
|
1023
|
-
<tr>
|
1024
|
-
<td id="L100" class="blob-num js-line-number" data-line-number="100"></td>
|
1025
|
-
<td id="LC100" class="blob-code blob-code-inner js-file-line">(<span class="pl-k">function</span>(<span class="pl-smi">$</span>) {</td>
|
1026
|
-
</tr>
|
1027
|
-
<tr>
|
1028
|
-
<td id="L101" class="blob-num js-line-number" data-line-number="101"></td>
|
1029
|
-
<td id="LC101" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">$.fn</span>.<span class="pl-en">closestChild</span> <span class="pl-k">=</span> <span class="pl-k">function</span>(<span class="pl-smi">selector</span>) {</td>
|
1030
|
-
</tr>
|
1031
|
-
<tr>
|
1032
|
-
<td id="L102" class="blob-num js-line-number" data-line-number="102"></td>
|
1033
|
-
<td id="LC102" class="blob-code blob-code-inner js-file-line"> <span class="pl-c">// breadth first search for the first matched node</span></td>
|
1034
|
-
</tr>
|
1035
|
-
<tr>
|
1036
|
-
<td id="L103" class="blob-num js-line-number" data-line-number="103"></td>
|
1037
|
-
<td id="LC103" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (selector <span class="pl-k">&&</span> selector <span class="pl-k">!=</span> <span class="pl-s"><span class="pl-pds">'</span><span class="pl-pds">'</span></span>) {</td>
|
1038
|
-
</tr>
|
1039
|
-
<tr>
|
1040
|
-
<td id="L104" class="blob-num js-line-number" data-line-number="104"></td>
|
1041
|
-
<td id="LC104" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> queue <span class="pl-k">=</span> [];</td>
|
1042
|
-
</tr>
|
1043
|
-
<tr>
|
1044
|
-
<td id="L105" class="blob-num js-line-number" data-line-number="105"></td>
|
1045
|
-
<td id="LC105" class="blob-code blob-code-inner js-file-line"> queue.<span class="pl-c1">push</span>(<span class="pl-v">this</span>);</td>
|
1046
|
-
</tr>
|
1047
|
-
<tr>
|
1048
|
-
<td id="L106" class="blob-num js-line-number" data-line-number="106"></td>
|
1049
|
-
<td id="LC106" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">while</span>(queue.<span class="pl-c1">length</span> <span class="pl-k">></span> <span class="pl-c1">0</span>) {</td>
|
1050
|
-
</tr>
|
1051
|
-
<tr>
|
1052
|
-
<td id="L107" class="blob-num js-line-number" data-line-number="107"></td>
|
1053
|
-
<td id="LC107" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> node <span class="pl-k">=</span> queue.<span class="pl-c1">shift</span>();</td>
|
1054
|
-
</tr>
|
1055
|
-
<tr>
|
1056
|
-
<td id="L108" class="blob-num js-line-number" data-line-number="108"></td>
|
1057
|
-
<td id="LC108" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> children <span class="pl-k">=</span> node.children();</td>
|
1058
|
-
</tr>
|
1059
|
-
<tr>
|
1060
|
-
<td id="L109" class="blob-num js-line-number" data-line-number="109"></td>
|
1061
|
-
<td id="LC109" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span>(<span class="pl-k">var</span> i <span class="pl-k">=</span> <span class="pl-c1">0</span>; i <span class="pl-k"><</span> children.<span class="pl-c1">length</span>; <span class="pl-k">++</span>i) {</td>
|
1062
|
-
</tr>
|
1063
|
-
<tr>
|
1064
|
-
<td id="L110" class="blob-num js-line-number" data-line-number="110"></td>
|
1065
|
-
<td id="LC110" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">var</span> child <span class="pl-k">=</span> $(children[i]);</td>
|
1066
|
-
</tr>
|
1067
|
-
<tr>
|
1068
|
-
<td id="L111" class="blob-num js-line-number" data-line-number="111"></td>
|
1069
|
-
<td id="LC111" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (child.is(selector)) {</td>
|
1070
|
-
</tr>
|
1071
|
-
<tr>
|
1072
|
-
<td id="L112" class="blob-num js-line-number" data-line-number="112"></td>
|
1073
|
-
<td id="LC112" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> child; <span class="pl-c">//well, we found one</span></td>
|
1074
|
-
</tr>
|
1075
|
-
<tr>
|
1076
|
-
<td id="L113" class="blob-num js-line-number" data-line-number="113"></td>
|
1077
|
-
<td id="LC113" class="blob-code blob-code-inner js-file-line"> }</td>
|
1078
|
-
</tr>
|
1079
|
-
<tr>
|
1080
|
-
<td id="L114" class="blob-num js-line-number" data-line-number="114"></td>
|
1081
|
-
<td id="LC114" class="blob-code blob-code-inner js-file-line"> queue.<span class="pl-c1">push</span>(child);</td>
|
1082
|
-
</tr>
|
1083
|
-
<tr>
|
1084
|
-
<td id="L115" class="blob-num js-line-number" data-line-number="115"></td>
|
1085
|
-
<td id="LC115" class="blob-code blob-code-inner js-file-line"> }</td>
|
1086
|
-
</tr>
|
1087
|
-
<tr>
|
1088
|
-
<td id="L116" class="blob-num js-line-number" data-line-number="116"></td>
|
1089
|
-
<td id="LC116" class="blob-code blob-code-inner js-file-line"> }</td>
|
1090
|
-
</tr>
|
1091
|
-
<tr>
|
1092
|
-
<td id="L117" class="blob-num js-line-number" data-line-number="117"></td>
|
1093
|
-
<td id="LC117" class="blob-code blob-code-inner js-file-line"> }</td>
|
1094
|
-
</tr>
|
1095
|
-
<tr>
|
1096
|
-
<td id="L118" class="blob-num js-line-number" data-line-number="118"></td>
|
1097
|
-
<td id="LC118" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> $();<span class="pl-c">//nothing found</span></td>
|
1098
|
-
</tr>
|
1099
|
-
<tr>
|
1100
|
-
<td id="L119" class="blob-num js-line-number" data-line-number="119"></td>
|
1101
|
-
<td id="LC119" class="blob-code blob-code-inner js-file-line"> };</td>
|
1102
|
-
</tr>
|
1103
|
-
<tr>
|
1104
|
-
<td id="L120" class="blob-num js-line-number" data-line-number="120"></td>
|
1105
|
-
<td id="LC120" class="blob-code blob-code-inner js-file-line">})(jQuery);</td>
|
1106
|
-
</tr>
|
1107
|
-
</table>
|
1108
|
-
|
1109
|
-
</div>
|
1110
|
-
|
1111
|
-
</div>
|
1112
|
-
|
1113
|
-
<a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" style="display:none">Jump to Line</a>
|
1114
|
-
<div id="jump-to-line" style="display:none">
|
1115
|
-
<!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action="" class="js-jump-to-line-form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
|
1116
|
-
<input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line…" aria-label="Jump to line" autofocus>
|
1117
|
-
<button type="submit" class="btn">Go</button>
|
1118
|
-
</form></div>
|
1119
|
-
|
1120
|
-
</div>
|
1121
|
-
</div>
|
1122
|
-
<div class="modal-backdrop"></div>
|
1123
|
-
</div>
|
1124
|
-
</div>
|
1125
|
-
|
1126
|
-
|
1127
|
-
</div>
|
1128
|
-
|
1129
|
-
<div class="container">
|
1130
|
-
<div class="site-footer" role="contentinfo">
|
1131
|
-
<ul class="site-footer-links right">
|
1132
|
-
<li><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
|
1133
|
-
<li><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
|
1134
|
-
<li><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
|
1135
|
-
<li><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
|
1136
|
-
<li><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
|
1137
|
-
<li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li>
|
1138
|
-
<li><a href="https://github.com/pricing" data-ga-click="Footer, go to pricing, text:pricing">Pricing</a></li>
|
1139
|
-
|
1140
|
-
</ul>
|
1141
|
-
|
1142
|
-
<a href="https://github.com" aria-label="Homepage">
|
1143
|
-
<span class="mega-octicon octicon-mark-github" title="GitHub"></span>
|
1144
|
-
</a>
|
1145
|
-
<ul class="site-footer-links">
|
1146
|
-
<li>© 2015 <span title="0.04301s from github-fe120-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
|
1147
|
-
<li><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>
|
1148
|
-
<li><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>
|
1149
|
-
<li><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li>
|
1150
|
-
<li><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact</a></li>
|
1151
|
-
<li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li>
|
1152
|
-
</ul>
|
1153
|
-
</div>
|
1154
|
-
</div>
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
<div id="ajax-error-message" class="flash flash-error">
|
1163
|
-
<span class="octicon octicon-alert"></span>
|
1164
|
-
<button type="button" class="flash-close js-flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
|
1165
|
-
<span class="octicon octicon-x"></span>
|
1166
|
-
</button>
|
1167
|
-
Something went wrong with that request. Please try again.
|
1168
|
-
</div>
|
1169
|
-
|
1170
|
-
|
1171
|
-
<script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-f8473dece7242da6a20d52313634881b3975c52cebaa1e6c38157c0f26185691.js"></script>
|
1172
|
-
<script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-ac033f0062bd3f47c468d3da839d615dff91cfcf0e416ea0a0099fbcd4483aba.js"></script>
|
73
|
+
var hiddenField = $link.prev('input[type=hidden]');
|
74
|
+
hiddenField.val('1');
|
1173
75
|
|
76
|
+
var field = $link.closest('.fields');
|
77
|
+
field.hide();
|
1174
78
|
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
79
|
+
field
|
80
|
+
.trigger({ type: 'nested:fieldRemoved', field: field })
|
81
|
+
.trigger({ type: 'nested:fieldRemoved:' + assoc, field: field });
|
82
|
+
return false;
|
83
|
+
}
|
84
|
+
};
|
85
|
+
|
86
|
+
window.nestedFormEvents = new NestedFormEvents();
|
87
|
+
$(document)
|
88
|
+
.delegate('form a.add_nested_fields', 'click', nestedFormEvents.addFields)
|
89
|
+
.delegate('form a.remove_nested_fields', 'click', nestedFormEvents.removeFields);
|
90
|
+
})(jQuery);
|
91
|
+
|
92
|
+
// http://plugins.jquery.com/project/closestChild
|
93
|
+
/*
|
94
|
+
* Copyright 2011, Tobias Lindig
|
95
|
+
*
|
96
|
+
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
|
97
|
+
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
|
98
|
+
*
|
99
|
+
*/
|
100
|
+
(function($) {
|
101
|
+
$.fn.closestChild = function(selector) {
|
102
|
+
// breadth first search for the first matched node
|
103
|
+
if (selector && selector != '') {
|
104
|
+
var queue = [];
|
105
|
+
queue.push(this);
|
106
|
+
while(queue.length > 0) {
|
107
|
+
var node = queue.shift();
|
108
|
+
var children = node.children();
|
109
|
+
for(var i = 0; i < children.length; ++i) {
|
110
|
+
var child = $(children[i]);
|
111
|
+
if (child.is(selector)) {
|
112
|
+
return child; //well, we found one
|
113
|
+
}
|
114
|
+
queue.push(child);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
return $();//nothing found
|
119
|
+
};
|
120
|
+
})(jQuery);
|