foreman_hosts 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
@@ -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);
|