deving
This commit is contained in:
19
res/assets/libs/jquery.repeater/complex-repeater.html
Normal file
19
res/assets/libs/jquery.repeater/complex-repeater.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<div class="complex-repeater">
|
||||
<div>
|
||||
<div>
|
||||
<button data-repeater-create>create</button>
|
||||
</div>
|
||||
<div>
|
||||
<div data-repeater-list="complex-repeater">
|
||||
<div data-repeater-item>
|
||||
<div>
|
||||
<input type="text" name="text-input" value="A"/>
|
||||
</div>
|
||||
<div>
|
||||
<button data-repeater-delete></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
78
res/assets/libs/jquery.repeater/gruntfile.js
Normal file
78
res/assets/libs/jquery.repeater/gruntfile.js
Normal file
@@ -0,0 +1,78 @@
|
||||
module.exports = function (grunt) {
|
||||
var bannerTemplate = '' +
|
||||
'// <%= pkg.name %> version <%= pkg.version %>\n' +
|
||||
'// <%= pkg.repository.url %>\n' +
|
||||
'// (<%= pkg.license %>) <%= grunt.template.today("dd-mm-yyyy") %>\n' +
|
||||
'// <%= pkg.author %>\n';
|
||||
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
|
||||
preprocess : {
|
||||
options: {
|
||||
context : {
|
||||
DEBUG: true
|
||||
}
|
||||
},
|
||||
test : {
|
||||
src : 'test/index.pre.html',
|
||||
dest : 'test/index.html'
|
||||
},
|
||||
index: {
|
||||
src: 'index.pre.html',
|
||||
dest: 'index.html'
|
||||
}
|
||||
},
|
||||
|
||||
concat: {
|
||||
options: {
|
||||
separator: '\n',
|
||||
banner: bannerTemplate
|
||||
},
|
||||
dist: {
|
||||
src: [
|
||||
'src/intro.js',
|
||||
'src/lib.js',
|
||||
'src/jquery.input.js',
|
||||
'src/repeater.js',
|
||||
'src/outro.js'
|
||||
],
|
||||
dest: '<%= pkg.name %>.js'
|
||||
}
|
||||
},
|
||||
|
||||
uglify: {
|
||||
options: { banner: bannerTemplate },
|
||||
dist: {
|
||||
files: { '<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>'] }
|
||||
}
|
||||
},
|
||||
|
||||
qunit: {
|
||||
// http://stackoverflow.com/questions/22409002/qunitphantomjs-ajax-success-handler-not-called-in-grunt-using-qunit-with-phant
|
||||
options : {
|
||||
'--web-security': false,
|
||||
'--local-to-remote-url-access': true
|
||||
},
|
||||
all: ['test/index.html']
|
||||
},
|
||||
|
||||
watch: {
|
||||
scripts: {
|
||||
files: ['**/*'],
|
||||
tasks: ['preprocess', 'concat', 'uglify', 'qunit'],
|
||||
options: { spawn: true }
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks('grunt-preprocess');
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-contrib-qunit');
|
||||
|
||||
grunt.registerTask('default', ['preprocess', 'concat', 'uglify', 'qunit']);
|
||||
grunt.registerTask('test', ['preprocess', 'concat', 'uglify', 'qunit']);
|
||||
};
|
||||
151
res/assets/libs/jquery.repeater/index.html
Normal file
151
res/assets/libs/jquery.repeater/index.html
Normal file
@@ -0,0 +1,151 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Repeater</title>
|
||||
<title>jquery.repeater</title>
|
||||
<style>
|
||||
html, body {
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
color: rgb(80, 80, 80);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Repeater</h2>
|
||||
<form action="echo.php" class="repeater" enctype="multipart/form-data">
|
||||
<div data-repeater-list="group-a">
|
||||
<div data-repeater-item>
|
||||
<input name="untyped-input" value="A"/>
|
||||
|
||||
<input type="text" name="text-input" value="A"/>
|
||||
|
||||
<input type="date" name="date-input"/>
|
||||
|
||||
<textarea name="textarea-input">A</textarea>
|
||||
|
||||
<input type="radio" name="radio-input" value="A" checked/>
|
||||
<input type="radio" name="radio-input" value="B"/>
|
||||
|
||||
<input type="checkbox" name="checkbox-input" value="A" checked/>
|
||||
<input type="checkbox" name="checkbox-input" value="B"/>
|
||||
|
||||
<select name="select-input">
|
||||
<option value="A" selected>A</option>
|
||||
<option value="B">B</option>
|
||||
</select>
|
||||
|
||||
<select name="multiple-select-input" multiple>
|
||||
<option value="A" selected>A</option>
|
||||
<option value="B" selected>B</option>
|
||||
</select>
|
||||
|
||||
<input data-repeater-delete type="button" value="Delete"/>
|
||||
</div>
|
||||
<div data-repeater-item>
|
||||
<input name="untyped-input" value="A"/>
|
||||
|
||||
<input type="text" name="text-input" value="B"/>
|
||||
|
||||
<input type="date" name="date-input"/>
|
||||
|
||||
<textarea name="textarea-input">B</textarea>
|
||||
|
||||
<input type="radio" name="radio-input" value="A" />
|
||||
<input type="radio" name="radio-input" value="B" checked/>
|
||||
|
||||
<input type="checkbox" name="checkbox-input" value="A"/>
|
||||
<input type="checkbox" name="checkbox-input" value="B" checked/>
|
||||
|
||||
<select name="select-input">
|
||||
<option value="A">A</option>
|
||||
<option value="B" selected>B</option>
|
||||
</select>
|
||||
|
||||
<select name="multiple-select-input" multiple>
|
||||
<option value="A" selected>A</option>
|
||||
<option value="B" selected>B</option>
|
||||
</select>
|
||||
|
||||
<input data-repeater-delete type="button" value="Delete"/>
|
||||
</div>
|
||||
</div>
|
||||
<input data-repeater-create type="button" value="Add"/>
|
||||
</form>
|
||||
|
||||
<h2>Nested</h2>
|
||||
<form action="echo.php" class="outer-repeater">
|
||||
<div data-repeater-list="outer-group" class="outer">
|
||||
<div data-repeater-item class="outer">
|
||||
<input type="text" name="text-input" value="A" class="outer"/>
|
||||
<input data-repeater-delete type="button" value="Delete" class="outer"/>
|
||||
<div class="inner-repeater">
|
||||
<div data-repeater-list="inner-group" class="inner">
|
||||
<div data-repeater-item class="inner">
|
||||
<input type="text" name="inner-text-input" value="B" class="inner"/>
|
||||
<input data-repeater-delete type="button" value="Delete" class="inner"/>
|
||||
</div>
|
||||
</div>
|
||||
<input data-repeater-create type="button" value="Add" class="inner"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input data-repeater-create type="button" value="Add" class="outer"/>
|
||||
</form>
|
||||
|
||||
<script src="jquery-1.11.1.js"></script>
|
||||
<script src="jquery.repeater.js"></script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
'use strict';
|
||||
|
||||
$('.repeater').repeater({
|
||||
defaultValues: {
|
||||
'textarea-input': 'foo',
|
||||
'text-input': 'bar',
|
||||
'select-input': 'B',
|
||||
'checkbox-input': ['A', 'B'],
|
||||
'radio-input': 'B'
|
||||
},
|
||||
show: function () {
|
||||
$(this).slideDown();
|
||||
},
|
||||
hide: function (deleteElement) {
|
||||
if(confirm('Are you sure you want to delete this element?')) {
|
||||
$(this).slideUp(deleteElement);
|
||||
}
|
||||
},
|
||||
ready: function (setIndexes) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
window.outerRepeater = $('.outer-repeater').repeater({
|
||||
isFirstItemUndeletable: true,
|
||||
defaultValues: { 'text-input': 'outer-default' },
|
||||
show: function () {
|
||||
console.log('outer show');
|
||||
$(this).slideDown();
|
||||
},
|
||||
hide: function (deleteElement) {
|
||||
console.log('outer delete');
|
||||
$(this).slideUp(deleteElement);
|
||||
},
|
||||
repeaters: [{
|
||||
isFirstItemUndeletable: true,
|
||||
selector: '.inner-repeater',
|
||||
defaultValues: { 'inner-text-input': 'inner-default' },
|
||||
show: function () {
|
||||
console.log('inner show');
|
||||
$(this).slideDown();
|
||||
},
|
||||
hide: function (deleteElement) {
|
||||
console.log('inner delete');
|
||||
$(this).slideUp(deleteElement);
|
||||
}
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
74
res/assets/libs/jquery.repeater/index.pre.html
Normal file
74
res/assets/libs/jquery.repeater/index.pre.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Repeater</title>
|
||||
<title>jquery.repeater</title>
|
||||
<style>
|
||||
html, body {
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
color: rgb(80, 80, 80);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Repeater</h2>
|
||||
<!-- @include repeater.html -->
|
||||
<h2>Nested</h2>
|
||||
<!-- @include nested-repeater.html -->
|
||||
<script src="jquery-1.11.1.js"></script>
|
||||
<script src="jquery.repeater.js"></script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
'use strict';
|
||||
|
||||
$('.repeater').repeater({
|
||||
defaultValues: {
|
||||
'textarea-input': 'foo',
|
||||
'text-input': 'bar',
|
||||
'select-input': 'B',
|
||||
'checkbox-input': ['A', 'B'],
|
||||
'radio-input': 'B'
|
||||
},
|
||||
show: function () {
|
||||
$(this).slideDown();
|
||||
},
|
||||
hide: function (deleteElement) {
|
||||
if(confirm('Are you sure you want to delete this element?')) {
|
||||
$(this).slideUp(deleteElement);
|
||||
}
|
||||
},
|
||||
ready: function (setIndexes) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
window.outerRepeater = $('.outer-repeater').repeater({
|
||||
isFirstItemUndeletable: true,
|
||||
defaultValues: { 'text-input': 'outer-default' },
|
||||
show: function () {
|
||||
console.log('outer show');
|
||||
$(this).slideDown();
|
||||
},
|
||||
hide: function (deleteElement) {
|
||||
console.log('outer delete');
|
||||
$(this).slideUp(deleteElement);
|
||||
},
|
||||
repeaters: [{
|
||||
isFirstItemUndeletable: true,
|
||||
selector: '.inner-repeater',
|
||||
defaultValues: { 'inner-text-input': 'inner-default' },
|
||||
show: function () {
|
||||
console.log('inner show');
|
||||
$(this).slideDown();
|
||||
},
|
||||
hide: function (deleteElement) {
|
||||
console.log('inner delete');
|
||||
$(this).slideUp(deleteElement);
|
||||
}
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
10308
res/assets/libs/jquery.repeater/jquery-1.11.1.js
vendored
Normal file
10308
res/assets/libs/jquery.repeater/jquery-1.11.1.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5
res/assets/libs/jquery.repeater/jquery.repeater.min.js
vendored
Normal file
5
res/assets/libs/jquery.repeater/jquery.repeater.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
18
res/assets/libs/jquery.repeater/nested-repeater.html
Normal file
18
res/assets/libs/jquery.repeater/nested-repeater.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<form action="echo.php" class="outer-repeater">
|
||||
<div data-repeater-list="outer-group" class="outer">
|
||||
<div data-repeater-item class="outer">
|
||||
<input type="text" name="text-input" value="A" class="outer"/>
|
||||
<input data-repeater-delete type="button" value="Delete" class="outer"/>
|
||||
<div class="inner-repeater">
|
||||
<div data-repeater-list="inner-group" class="inner">
|
||||
<div data-repeater-item class="inner">
|
||||
<input type="text" name="inner-text-input" value="B" class="inner"/>
|
||||
<input data-repeater-delete type="button" value="Delete" class="inner"/>
|
||||
</div>
|
||||
</div>
|
||||
<input data-repeater-create type="button" value="Add" class="inner"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input data-repeater-create type="button" value="Add" class="outer"/>
|
||||
</form>
|
||||
59
res/assets/libs/jquery.repeater/repeater.html
Normal file
59
res/assets/libs/jquery.repeater/repeater.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<form action="echo.php" class="repeater" enctype="multipart/form-data">
|
||||
<div data-repeater-list="group-a">
|
||||
<div data-repeater-item>
|
||||
<input name="untyped-input" value="A"/>
|
||||
|
||||
<input type="text" name="text-input" value="A"/>
|
||||
|
||||
<input type="date" name="date-input"/>
|
||||
|
||||
<textarea name="textarea-input">A</textarea>
|
||||
|
||||
<input type="radio" name="radio-input" value="A" checked/>
|
||||
<input type="radio" name="radio-input" value="B"/>
|
||||
|
||||
<input type="checkbox" name="checkbox-input" value="A" checked/>
|
||||
<input type="checkbox" name="checkbox-input" value="B"/>
|
||||
|
||||
<select name="select-input">
|
||||
<option value="A" selected>A</option>
|
||||
<option value="B">B</option>
|
||||
</select>
|
||||
|
||||
<select name="multiple-select-input" multiple>
|
||||
<option value="A" selected>A</option>
|
||||
<option value="B" selected>B</option>
|
||||
</select>
|
||||
|
||||
<input data-repeater-delete type="button" value="Delete"/>
|
||||
</div>
|
||||
<div data-repeater-item>
|
||||
<input name="untyped-input" value="A"/>
|
||||
|
||||
<input type="text" name="text-input" value="B"/>
|
||||
|
||||
<input type="date" name="date-input"/>
|
||||
|
||||
<textarea name="textarea-input">B</textarea>
|
||||
|
||||
<input type="radio" name="radio-input" value="A" />
|
||||
<input type="radio" name="radio-input" value="B" checked/>
|
||||
|
||||
<input type="checkbox" name="checkbox-input" value="A"/>
|
||||
<input type="checkbox" name="checkbox-input" value="B" checked/>
|
||||
|
||||
<select name="select-input">
|
||||
<option value="A">A</option>
|
||||
<option value="B" selected>B</option>
|
||||
</select>
|
||||
|
||||
<select name="multiple-select-input" multiple>
|
||||
<option value="A" selected>A</option>
|
||||
<option value="B" selected>B</option>
|
||||
</select>
|
||||
|
||||
<input data-repeater-delete type="button" value="Delete"/>
|
||||
</div>
|
||||
</div>
|
||||
<input data-repeater-create type="button" value="Add"/>
|
||||
</form>
|
||||
30
res/assets/libs/jquery.repeater/repeater.jquery.json
Normal file
30
res/assets/libs/jquery.repeater/repeater.jquery.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "repeater",
|
||||
"version": "1.2.1",
|
||||
"title": "Repeater",
|
||||
"author": {
|
||||
"name": "Brian Detering",
|
||||
"url": "http://briandetering.net/",
|
||||
"email": "BDeterin@gmail.com"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "MIT",
|
||||
"url": "http://opensource.org/licenses/MIT"
|
||||
}
|
||||
],
|
||||
"description": "An interface to add and remove a repeatable group of input elements.",
|
||||
"keywords": [
|
||||
"input",
|
||||
"repeat",
|
||||
"multiple",
|
||||
"form",
|
||||
"jquery-plugin"
|
||||
],
|
||||
"docs": "https://github.com/DubFriend/jquery.repeater/blob/master/README.md",
|
||||
"demo": "http://briandetering.net/repeater",
|
||||
"homepage": "https://github.com/DubFriend/jquery.repeater",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.11"
|
||||
}
|
||||
}
|
||||
17
res/assets/libs/jquery.repeater/test-post-parse.php
Normal file
17
res/assets/libs/jquery.repeater/test-post-parse.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<pre>
|
||||
<?= json_encode($_POST, JSON_PRETTY_PRINT); ?>
|
||||
</pre>
|
||||
<form method="POST">
|
||||
<input type="text" name="group[1][foo]" value="A"/>
|
||||
<input type="text" name="group[2][foo]" value="B"/>
|
||||
<input type="submit" value="Submit"/>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user