Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Approval form element [INTEGRALCS-13869] #238

Open
wants to merge 84 commits into
base: gh-pages
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
35764d6
changed it for the bootstrap
Mar 19, 2014
8043919
Removed saveFormButton, added Signature element
tristankenney Mar 22, 2014
b8d5ec9
Various changes
tristankenney Apr 14, 2014
d58e829
Bug fixes
tristankenney Apr 22, 2014
0844a40
POWER TIME
tristankenney Apr 30, 2014
c421a9b
Merge branch 'master' of github.com:crusepartnership/formbuilder
tristankenney Apr 30, 2014
d4c3c1b
Grid element + info element + icon prefix
tristankenney May 23, 2014
6f2e323
Children can be rendered in flat structure
tristankenney May 26, 2014
78e6fd1
Bug and styling fixes
tristankenney May 27, 2014
6c87744
'options per row' and fixes
tristankenney Jul 24, 2014
cd641b0
WIP
tristankenney Nov 27, 2014
5be27be
That'll do pig
tristankenney Nov 29, 2014
ee82a3a
Now with table and datasource
tristankenney Apr 14, 2015
47c83ba
Updated to summernote 0.6.16 and added link item to info element
Aug 31, 2015
b16f25c
Update for info field + set version for karma
Aug 31, 2015
9abe8f1
Removed multiple from datasource
tristankenney Sep 29, 2015
c6a9af8
Merge branch 'master' of github.com:crusepartnership/formbuilder
tristankenney Sep 30, 2015
493fdb4
Added option to grid element (first row headings)
Oct 14, 2015
8615a03
Merge remote-tracking branch 'origin/master'
Oct 14, 2015
150b73c
Updated .gitignore
tristankenney Oct 15, 2015
70e581c
Added ability to set heading colours for elements in tables [INTEGRAL…
Dec 3, 2015
870c31c
Merge remote-tracking branch 'origin/master'
Dec 3, 2015
74d33ec
Updates for ability to set heading colours for elements in tables [IN…
Dec 8, 2015
3a4580e
INTEGRALCS-3790 INTEGRALCS-3791 Inform Element Improvements
Dec 22, 2015
7ea36ab
Updated default time label
tristankenney Jan 3, 2016
f22ea40
fix the issue for dulication feature INTEGRALCS-3961
Mar 8, 2016
68035e6
Added conditional question
tristankenney Apr 19, 2017
fd7857f
Updated styling + conditional options
tristankenney Apr 23, 2017
221d5c4
Added styling to paarent
tristankenney Apr 23, 2017
026c56d
Fixed issues with issues repeatedly being registered
tristankenney Apr 25, 2017
b16649f
Added tooltip init code
tristankenney Apr 25, 2017
aa62cbe
Added toggle to conditional functionality
tristankenney Apr 26, 2017
d406bca
Added condtional display to section element
tristankenney May 6, 2017
6b5bde6
Added padding to bottom of the formbuilder
tristankenney May 11, 2017
d4592e3
Merge pull request #1 from crusepartnership/padding-fix
tristankenney May 11, 2017
7c9c778
Rebuilt and merged with master
tristankenney May 11, 2017
1910483
Uncommented table
tristankenney May 11, 2017
d8d6895
Merge pull request #2 from crusepartnership/conditional-functionality
tristankenney May 11, 2017
7fd605d
Add get geolocation button
lukeluluke May 12, 2017
d61e12b
add label and descrption for Geolocation element
lukeluluke May 16, 2017
2c6e0c7
change name of geolocation element type to lower case
lukeluluke May 16, 2017
d5bf05a
Add Reference ID to formbuilder field, and show reference id in Condi…
lukeluluke Aug 10, 2017
0713367
Merge pull request #3 from crusepartnership/add_geolocation
tristankenney Aug 10, 2017
24db0f8
Move Reference ID to end of header [INTEGRALCS-5847]
lukeluluke Aug 10, 2017
a143f40
Merge remote-tracking branch 'origin/master' into element-add-referen…
tristankenney Aug 17, 2017
6d0c899
fix for conditional functionality parent child question [INTEGRALCS-5…
Aug 28, 2017
74ccaab
Merge pull request #6 from crusepartnership/conditional-functionality…
tristankenney Aug 29, 2017
cc0452e
Merge pull request #4 from crusepartnership/element-add-referenceId
tristankenney Aug 29, 2017
695df50
Rebuilt post-merge
tristankenney Aug 29, 2017
00dc0c9
fix the issue for conditional display [SUPPORT-778] (#9)
raycui2011 Dec 20, 2017
e1daab5
fix the issue for element can not be removed in the table [SUPPORT-84…
raycui2011 Jan 5, 2018
f2fc899
use global variable to store the element for index[INTEGRALCS-6231]
Jan 24, 2018
7e57962
fix typo [INTEGRALCS-6231]
Jan 24, 2018
6f1b7a9
FormBuilder performance improvements
Jan 24, 2018
07901d3
Add HTML stripping (#14)
chintogtokh Nov 2, 2018
c7d06c1
Fix for formbuilder index issue
raycui2011 Dec 3, 2018
157bb62
Merge pull request #17 from crusepartnership/formbuilder-wrapper-inde…
Dec 3, 2018
34dc63e
Add fixes to correctly convert slash n to br [INTEGRALCS-8877]
chintogtokh Jan 30, 2019
4da6a39
Merge pull request #18 from crusepartnership/integralcs-8877-nl2br
lukeluluke Jan 30, 2019
bac5003
Add minor fix
chintogtokh Jan 30, 2019
4076dd7
Re-add commit c7d06c1 fixes to dist and coffeescript
chintogtokh Feb 11, 2019
2b585f3
Fix issue with info element [INTEGRALCS-9842]
chintogtokh May 15, 2019
18777d2
Add comments/readme
chintogtokh May 16, 2019
6f82e76
Re-add foxes from CLIENTHUB-1748 to coffeescript [CLIENTHUB-1748]
chintogtokh May 16, 2019
b38f88d
Make info description print raw - note that this has to be handled se…
chintogtokh May 16, 2019
3454889
Revert index.html
chintogtokh May 17, 2019
2613ed2
Merge pull request #20 from crusepartnership/integralcs-9842-formbuilder
chintogtokh May 17, 2019
6ebf934
Make formbuilder runs on server [INTEGRALCS-10486]
lukeluluke Oct 4, 2019
07b1e7c
Make formbuilder runs on server [INTEGRALCS-10486]
lukeluluke Oct 10, 2019
b8101c4
Merge pull request #21 from crusepartnership/integralcs-10486-inform-…
lukeluluke Nov 11, 2019
80401e6
Updated geolocation not to use non_input type, and given that this co…
Feb 27, 2020
25cc43f
Add currently known issues notes to readme in anticipation of future …
Feb 27, 2020
b80f095
Merge pull request #22 from crusepartnership/integralcs-13751-add-req…
raycui2011 Mar 2, 2020
64497b4
Approval Element [INTEGRALCS-13869]
lukeluluke Apr 20, 2020
5f2233e
Approval Element [INTEGRALCS-13869]
lukeluluke Apr 21, 2020
9c3f476
Approval Element [INTEGRALCS-13869]
lukeluluke Apr 22, 2020
4ea64c1
Approval Element [INTEGRALCS-13869]
lukeluluke Apr 23, 2020
8d5692e
Approval Element [INTEGRALCS-13869]
lukeluluke Apr 24, 2020
f382db7
Approval Element [INTEGRALCS-13869]
lukeluluke Apr 27, 2020
2d13f21
Approval Element [INTEGRALCS-13869]
lukeluluke May 12, 2020
3305e75
Approval Element [INTEGRALCS-13869]
lukeluluke May 12, 2020
53f138c
Approval Element [INTEGRALCS-13869]
lukeluluke May 14, 2020
c15aa2d
Approval Element [INTEGRALCS-13869]
lukeluluke Jun 2, 2020
cd17c45
Approval Element [INTEGRALCS-13869]
lukeluluke Jul 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
node_modules
bower_components
.sass-cache
compiled
compiled
npm-debug.log
.DS_Store
.idea
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
10.15.3
36 changes: 32 additions & 4 deletions Gruntfile.coffee
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ALL_TASKS = ['jst:all', 'coffee:all', 'concat:all', 'stylus:all', 'clean:compiled']
ALL_TASKS = ['jst:all', 'coffee:all', 'concat:all', 'stylus:all', 'clean:compiled', 'copy:all']

# formbuilder.js must be compiled in this order:
# 1. rivets-config
Expand All @@ -19,8 +19,10 @@ module.exports = (grunt) ->
grunt.loadNpmTasks('grunt-contrib-uglify')
grunt.loadNpmTasks('grunt-contrib-watch')
grunt.loadNpmTasks('grunt-contrib-clean')
grunt.loadNpmTasks('grunt-contrib-copy')
grunt.loadNpmTasks('grunt-release')
grunt.loadNpmTasks('grunt-karma')
grunt.loadNpmTasks('grunt-contrib-connect')

grunt.initConfig

Expand Down Expand Up @@ -58,26 +60,46 @@ module.exports = (grunt) ->
'<%= distFolder %>/formbuilder.js': '<%= compiledFolder %>/*.js'
'<%= vendorFolder %>/js/vendor.js': [
'bower_components/ie8-node-enum/index.js'
'bower_components/jquery/jquery.js'
'bower_components/jquery/dist/jquery.js'
'bower_components/jquery-ui/ui/jquery.ui.core.js'
'bower_components/jquery-ui/ui/jquery.ui.widget.js'
'bower_components/jquery-ui/ui/jquery.ui.mouse.js'
'bower_components/jquery-ui/ui/jquery.ui.draggable.js'
'bower_components/jquery-ui/ui/jquery.ui.droppable.js'
'bower_components/jquery-ui/ui/jquery.ui.sortable.js'
'bower_components/jquery.scrollWindowTo/index.js'
'bower_components/underscore/underscore-min.js'
'bower_components/lodash/dist/lodash.min.js'
'bower_components/underscore.mixin.deepExtend/index.js'
'bower_components/rivets/dist/rivets.js'
'bower_components/backbone/backbone.js'
'bower_components/backbone-deep-model/src/deep-model.js'
'bower_components/bootstrap/dist/js/bootstrap.js',
'bower_components/bootstrap/js/tooltip.js',
'bower_components/signature_pad/signature_pad.js'
'bower_components/node-uuid/uuid.js'
'bower_components/spectrum/spectrum.js',
'bower_components/select2/select2/dist/js/select2.min.js'
]
'<%= vendorFolder %>/css/vendor.css': [
'bower_components/font-awesome/css/font-awesome.css',
'bower_components/bootstrap/dist/css/bootstrap.css',
'bower_components/summernote/dist/summernote.css',
'bower_components/select2/dist/css/select2.css',
'bower_components/spectrum/spectrum.css'
]

copy:
all:
expand: true,
flatten: true,
src: 'bower_components/font-awesome/fonts/*',
dest: '<%= vendorFolder %>/fonts/'

cssmin:
dist:
files:
'<%= distFolder %>/formbuilder-min.css': '<%= distFolder %>/formbuilder.css'
'<%= vendorFolder %>/css/vendor.css': 'bower_components/font-awesome/css/font-awesome.css'


stylus:
all:
Expand All @@ -99,6 +121,12 @@ module.exports = (grunt) ->
files: ['<%= srcFolder %>/**/*.{coffee,styl,html}']
tasks: ALL_TASKS

connect:
server:
options:
port: 9001
keepalive: true

# To test, run `grunt --no-write -v release`
release:
npm: false
Expand Down
93 changes: 70 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Formbuilder is a graphical interface for letting users build their own webforms.
## Demo
[Click here](http://dobtco.github.io/formbuilder/) to see Formbuilder in action.

## Add new icons to element
If you need to add/replace icon for form element, you can find all available icons from `icon-font-demo` folder
## Basic usage
```
<div id='formbuilder'></div>
Expand Down Expand Up @@ -38,38 +40,38 @@ Because of its modular nature, Formbuilder is easy to customize. Most of the con
Keeping with the customizable nature of Formbuilder, you are also able to modify how Formbuilder structures its JSON output. The [default keypaths](https://github.com/dobtco/formbuilder/blob/master/coffee/main.coffee#L20) are:

```coffeescript
SIZE: 'field_options.size'
UNITS: 'field_options.units'
SIZE: 'options.size'
UNITS: 'options.units'
LABEL: 'label'
FIELD_TYPE: 'field_type'
type: 'type'
REQUIRED: 'required'
ADMIN_ONLY: 'admin_only'
OPTIONS: 'field_options.options'
DESCRIPTION: 'field_options.description'
INCLUDE_OTHER: 'field_options.include_other_option'
INCLUDE_BLANK: 'field_options.include_blank_option'
INTEGER_ONLY: 'field_options.integer_only'
MIN: 'field_options.min'
MAX: 'field_options.max'
MINLENGTH: 'field_options.minlength'
MAXLENGTH: 'field_options.maxlength'
LENGTH_UNITS: 'field_options.min_max_length_units'
OPTIONS: 'options.options'
DESCRIPTION: 'options.description'
INCLUDE_OTHER: 'options.include_other_option'
INCLUDE_BLANK: 'options.include_blank_option'
INTEGER_ONLY: 'options.integer_only'
MIN: 'options.min'
MAX: 'options.max'
MINLENGTH: 'options.minlength'
MAXLENGTH: 'options.maxlength'
LENGTH_UNITS: 'options.min_max_length_units'
```

Which outputs JSON that looks something like:

```javascript
[{
"label": "Please enter your clearance number",
"field_type": "text",
"type": "text",
"required": true,
"field_options": {},
"options": {},
"cid": "c6"
}, {
"label": "Security personnel #82?",
"field_type": "radio",
"type": "radio",
"required": true,
"field_options": {
"options": {
"options": [{
"label": "Yes",
"checked": false
Expand All @@ -82,9 +84,9 @@ Which outputs JSON that looks something like:
"cid": "c10"
}, {
"label": "Medical history",
"field_type": "file",
"type": "file",
"required": true,
"field_options": {},
"options": {},
"cid": "c14"
}]
```
Expand All @@ -108,10 +110,55 @@ Have a question about Formbuilder? Feel free to [open a GitHub Issue](https://gi
## Developing
You'll need [node and npm](http://nodejs.org/) installed.

1. `npm install`
2. `bower install`
3. `grunt watch`
4. open `index.html` and you're all set!
1. `nvm use`
2. `npm install`
3. `bower install`
4. `grunt watch`
5. Open a new terminal and run `grunt connect`
6. open `http://localhost:9001/` and you're all set!

## License
MIT

## Currently known issues
Last time this was worked on there were issues getting a new repo set up.
* npm install was failing to install correctly:
* running into issues with not finding xcode while trying to install gym.
* throwing lots of deprecation, no member named 'New' in 'v8::String', and NAN_THROW_ERRORs when installing gym
* failing on a package due to a no-SSL error
* bower seems to run fine but reports connection closed with 1 byte remaining
* Running grunt watch/connect resulted in lots of JS errors in the console including missing css and summernote library

A ticket will be created for this in the meantime.

Note made on the last attempt:

If node install fails with `gyp: No Xcode or CLT version detected!`
Run `xcode-select --install` and try again.
If you have a pending or recently updated xcode you may need to open the app and accept permissions.

You may also need to completely delete and re-install xcode with
~~~
sudo rm -rf $(xcode-select -print-path)
xcode-select --install
~~~

Also, you may not be able to get node install to work because node-gym is unsupported with errors like this:
~~~
CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
../../nan/nan.h:213:31: warning: 'Uint32Value' is deprecated [-Wdeprecated-declarations]
? optionsObj->Get(opt)->Uint32Value()
^
/Users/paul/Library/Caches/node-gyp/10.19.0/include/node/v8.h:2477:3: note: 'Uint32Value' has been
explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
~~~

In that case you can switch to a much earlier version of node and try again, though it may not work:
~~~
nvm install 0.8
nvm use 0.8
nvm ls
~~~

20 changes: 13 additions & 7 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,21 @@
"tests"
],
"dependencies": {
"ie8-node-enum": "https://gist.github.com/adamjacobbecker/8902451/raw/b68459289526cb76c2e22416d98d0dbd0b722fa0/ie8_node_enum.js",
"jquery": "~2.0.3",
"ie8-node-enum": "https://gist.github.com/ajb/8902451/raw/b68459289526cb76c2e22416d98d0dbd0b722fa0/ie8_node_enum.js",
"jquery.scrollWindowTo": "https://gist.github.com/ajb/6519570/raw/cd741057495d0fb19e545a0f9a098efba3bef9c8/jquery.scrollWindowTo.js",
"jquery": "~1.11.1",
"jquery-ui": "~1.10.3",
"jquery.scrollWindowTo": "https://gist.github.com/adamjacobbecker/6519570/raw/cd741057495d0fb19e545a0f9a098efba3bef9c8/jquery.scrollWindowTo.js",
"underscore": "~1.5.2",
"underscore.mixin.deepExtend": "https://gist.github.com/adamjacobbecker/6519561/raw/63682037af9b10200b05c1a3d5890903397b2103/underscore.mixin.deepExtend.js",
"backbone": "~1.1.0",
"backbone-deep-model": "~0.10.4",
"underscore.mixin.deepExtend": "https://gist.github.com/ajb/6519561/raw/63682037af9b10200b05c1a3d5890903397b2103/underscore.mixin.deepExtend.js",
"rivets": "~0.5.13",
"font-awesome": "~4.0.0"
"signature_pad": "~1.3.2",
"bootstrap": "~3.1.1",
"summernote": "~0.6.16",
"node-uuid": "~1.4.1",
"mathjs": "~1.1.1",
"lodash": "~2.4.1",
"spectrum": "~1.7.1",
"select2": "~4.0"
}
}
}
2 changes: 1 addition & 1 deletion dist/formbuilder-min.css

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion dist/formbuilder-min.js

Large diffs are not rendered by default.

Loading