├── .bowerrc
├── .gitignore
├── .jshintrc
├── .npmignore
├── .testem.json
├── Gruntfile.js
├── README.md
├── alpaca.jquery.json
├── bower.json
├── config
├── license.txt.template
└── umd-wrapper.txt
├── deploy-cleanup.sh
├── deploy.sh
├── deployment
├── deploy.xml
└── jsch-0.1.50.jar
├── favicon.ico
├── features
├── features
│ ├── alpaca
│ │ └── hideInitValidationError.feature
│ └── fields
│ │ ├── address
│ │ └── display.feature
│ │ ├── any
│ │ ├── display.feature
│ │ └── validation.feature
│ │ ├── array
│ │ ├── display.feature
│ │ ├── size.feature
│ │ └── sort.feature
│ │ ├── checkbox
│ │ └── display.feature
│ │ ├── ckeditor
│ │ └── display.feature
│ │ ├── country
│ │ └── display.feature
│ │ ├── currency
│ │ └── display.feature
│ │ ├── file
│ │ └── display.feature
│ │ ├── hidden
│ │ └── display.feature
│ │ ├── number
│ │ └── validation.feature
│ │ ├── radio
│ │ └── display.feature
│ │ ├── select
│ │ └── display.feature
│ │ ├── text
│ │ └── display.feature
│ │ └── textarea
│ │ └── display.feature
├── step_definitions
│ ├── alpaca
│ │ └── hideInitValidationError.js
│ ├── defenitions.js
│ └── fields
│ │ ├── any.js
│ │ ├── array.js
│ │ ├── checkbox.js
│ │ └── number.js
└── support
│ ├── after_hooks.js
│ ├── before_hooks.js
│ ├── cucumber.css
│ ├── cucumber.html
│ ├── fields
│ └── fields.js
│ └── world.js
├── gulp
└── gulp-stripper.js
├── gulpfile.js
├── jsdoc.conf.json
├── license.txt
├── package.json
├── server
├── test-webserver.js
├── version.js
└── webserver.js
├── site
├── 404.html
├── Rakefile
├── _config.yml
├── _drafts
│ └── jekyll-introduction-draft.md
├── _includes
│ ├── JB
│ │ ├── analytics
│ │ ├── analytics-providers
│ │ │ ├── getclicky
│ │ │ ├── google
│ │ │ ├── googleUA
│ │ │ ├── mixpanel
│ │ │ └── piwik
│ │ ├── categories_list
│ │ ├── comments
│ │ ├── comments-providers
│ │ │ ├── disqus
│ │ │ ├── facebook
│ │ │ ├── intensedebate
│ │ │ └── livefyre
│ │ ├── liquid_raw
│ │ ├── pages_list
│ │ ├── posts_collate
│ │ ├── setup
│ │ ├── sharing
│ │ └── tags_list
│ ├── themes
│ │ ├── bootstrap
│ │ │ ├── default.html
│ │ │ ├── page.html
│ │ │ ├── post.html
│ │ │ └── settings.yml
│ │ └── dbyll
│ │ │ ├── default.html
│ │ │ ├── demo.html
│ │ │ ├── documentation-api.html
│ │ │ ├── documentation-cookbook.html
│ │ │ ├── documentation-field.html
│ │ │ ├── footer.html
│ │ │ ├── header.html
│ │ │ ├── page.html
│ │ │ ├── post.html
│ │ │ ├── settings.yml
│ │ │ └── sidebar.html
│ └── tutorial
│ │ ├── page1.md
│ │ ├── page2.md
│ │ ├── page3.md
│ │ ├── page4.md
│ │ └── page5.md
├── _layouts
│ ├── default.html
│ ├── demo.html
│ ├── documentation-api.html
│ ├── documentation-cookbook.html
│ ├── documentation-field.html
│ ├── footer.html
│ ├── full.html
│ ├── header.html
│ ├── page.html
│ ├── post.html
│ └── sidebar.html
├── _plugins
│ ├── debug.rb
│ └── jsonball.rb
├── _posts
│ └── core-samples
│ │ └── 2011-12-29-jekyll-introduction.md
├── alpaca-icons
│ ├── android-icon-144x144.png
│ ├── android-icon-192x192.png
│ ├── android-icon-36x36.png
│ ├── android-icon-48x48.png
│ ├── android-icon-72x72.png
│ ├── android-icon-96x96.png
│ ├── apple-icon-114x114.png
│ ├── apple-icon-120x120.png
│ ├── apple-icon-144x144.png
│ ├── apple-icon-152x152.png
│ ├── apple-icon-180x180.png
│ ├── apple-icon-57x57.png
│ ├── apple-icon-60x60.png
│ ├── apple-icon-72x72.png
│ ├── apple-icon-76x76.png
│ ├── apple-icon-precomposed.png
│ ├── apple-icon.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon-96x96.png
│ ├── favicon.ico
│ ├── ms-icon-144x144.png
│ ├── ms-icon-150x150.png
│ ├── ms-icon-310x310.png
│ └── ms-icon-70x70.png
├── assets
│ └── themes
│ │ ├── bootstrap
│ │ ├── css
│ │ │ └── style.css
│ │ └── resources
│ │ │ ├── bootstrap
│ │ │ ├── css
│ │ │ │ └── bootstrap.min.css
│ │ │ ├── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ └── glyphicons-halflings-regular.woff
│ │ │ └── js
│ │ │ │ └── bootstrap.min.js
│ │ │ ├── jquery
│ │ │ ├── jquery.min.js
│ │ │ └── jquery.min.map
│ │ │ └── respond
│ │ │ └── Respond.min.js
│ │ └── dbyll
│ │ ├── css
│ │ └── style.css
│ │ ├── images
│ │ ├── alpaca-gray-logo.png
│ │ ├── alpaca-icon-cloud.png
│ │ ├── alpaca-icon.png
│ │ ├── alpaca-logo.png
│ │ ├── alpaca.png
│ │ ├── cloudcms-icon.png
│ │ └── cloudcms_logo.png
│ │ ├── js
│ │ └── app.js
│ │ ├── lib
│ │ └── jsbeautify.js
│ │ └── resources
│ │ ├── bootstrap.vertical-tabs
│ │ └── bootstrap.vertical-tabs.css
│ │ ├── bootstrap
│ │ ├── css
│ │ │ └── bootstrap.min.css
│ │ └── js
│ │ │ └── bootstrap.min.js
│ │ ├── font-awesome
│ │ ├── css
│ │ │ ├── font-awesome.css
│ │ │ └── font-awesome.min.css
│ │ └── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ └── fontawesome-webfont.woff
│ │ ├── jquery
│ │ ├── jquery-1.10.2.min.map
│ │ └── jquery.min.js
│ │ └── syntax
│ │ └── syntax.css
├── browserconfig.xml
├── cloud.md
├── css
│ └── custom.css
├── data
│ ├── author-options.json
│ ├── author-schema.json
│ ├── connector-custom-data.json
│ ├── connector-custom-options.json
│ ├── connector-custom-schema.json
│ ├── connector-custom-view.json
│ ├── customer-profile-data.json
│ ├── customer-profile-options.json
│ ├── customer-profile-schema.json
│ ├── datasource-example.json
│ ├── icecream-list-array.json
│ ├── icecream-list.json
│ ├── johnmcclane.jpg
│ ├── js-yaml.js
│ ├── json2yaml.js
│ ├── optiontree-custom-options.json
│ ├── optiontree-custom-schema.json
│ ├── preview-data.json
│ ├── serialization-data.json
│ ├── serialization-schema.json
│ └── tokenfield-ajax1.json
├── demos
│ ├── alpaca-standalone-sample.html
│ ├── amd
│ │ ├── lib
│ │ │ └── require.js
│ │ ├── quickstart
│ │ │ ├── form.css
│ │ │ ├── form.js
│ │ │ ├── index.html
│ │ │ ├── layout.html
│ │ │ ├── main.css
│ │ │ └── main.js
│ │ └── registration
│ │ │ ├── index.html
│ │ │ ├── main.css
│ │ │ ├── main.js
│ │ │ ├── registration-layout.html
│ │ │ ├── registration.css
│ │ │ ├── registration.js
│ │ │ └── save.php
│ ├── bootstrap
│ │ ├── bookmarks
│ │ │ ├── bookmarks.md
│ │ │ ├── data.json
│ │ │ ├── options.json
│ │ │ └── schema.json
│ │ ├── clubs
│ │ │ ├── clubs-template.html
│ │ │ └── index.md
│ │ ├── customer-profile
│ │ │ ├── create-form.md
│ │ │ ├── create-simple-form.md
│ │ │ ├── data.json
│ │ │ ├── display-form.md
│ │ │ ├── edit-custom-view-form.md
│ │ │ ├── edit-form.md
│ │ │ ├── edit-readonly-form.md
│ │ │ ├── edit-simple-form.md
│ │ │ ├── options.json
│ │ │ ├── schema.json
│ │ │ ├── simple-options.json
│ │ │ └── two-column-layout-template.html
│ │ ├── login
│ │ │ └── localized-login.md
│ │ ├── multi-column-layouts
│ │ │ ├── index.md
│ │ │ └── two-column-layout-template.html
│ │ ├── quickstart
│ │ │ ├── form.css
│ │ │ ├── form.js
│ │ │ ├── index.html
│ │ │ └── layout.html
│ │ ├── registration
│ │ │ ├── index.html
│ │ │ ├── registration-layout.html
│ │ │ ├── registration.css
│ │ │ ├── registration.js
│ │ │ └── save.php
│ │ └── simple
│ │ │ ├── simple1.md
│ │ │ └── simple2.md
│ ├── form-builder
│ │ ├── form-builder.css
│ │ ├── form-builder.html
│ │ └── form-builder.js
│ ├── jquerymobile
│ │ ├── customer-profile
│ │ │ ├── customer-profile-data.json
│ │ │ ├── customer-profile-options.json
│ │ │ ├── customer-profile-schema.json
│ │ │ ├── customer-profile-view.html
│ │ │ └── customer-profile.html
│ │ ├── quickstart
│ │ │ ├── form.css
│ │ │ ├── form.js
│ │ │ ├── index.html
│ │ │ └── layout.html
│ │ └── registration
│ │ │ ├── index.html
│ │ │ ├── registration-layout.html
│ │ │ ├── registration.js
│ │ │ └── save.php
│ ├── jqueryui
│ │ ├── quickstart
│ │ │ ├── form.css
│ │ │ ├── form.js
│ │ │ ├── index.html
│ │ │ └── layout.html
│ │ └── registration
│ │ │ ├── index.html
│ │ │ ├── registration-layout.html
│ │ │ ├── registration.css
│ │ │ ├── registration.js
│ │ │ └── save.php
│ └── web
│ │ ├── quickstart-listview
│ │ ├── form.css
│ │ ├── form.js
│ │ └── index.html
│ │ ├── quickstart
│ │ ├── form.css
│ │ ├── form.js
│ │ └── index.html
│ │ └── registration
│ │ ├── index.html
│ │ ├── registration-layout.html
│ │ ├── registration.css
│ │ ├── registration.js
│ │ └── save.php
├── docs
│ ├── api
│ │ ├── _yaml-layout.html
│ │ ├── callbacks.md
│ │ ├── conditional-dependencies.md
│ │ ├── connectors.md
│ │ ├── cookbook.md
│ │ ├── custom-fields.md
│ │ ├── datasources.md
│ │ ├── dependencies.md
│ │ ├── events.md
│ │ ├── forms.md
│ │ ├── functions.md
│ │ ├── i18n.md
│ │ ├── layouts-example1-template.html
│ │ ├── layouts-example2-template.html
│ │ ├── layouts-example3-template.html
│ │ ├── layouts.md
│ │ ├── lookups.md
│ │ ├── observables.md
│ │ ├── ordering.md
│ │ ├── recursive-references.md
│ │ ├── references.md
│ │ ├── serialization.md
│ │ ├── templates-example2-template.html
│ │ ├── templates-example3-control-text.html
│ │ ├── templates-example3-control.html
│ │ ├── templates.md
│ │ ├── usage.md
│ │ ├── validation-examples.html
│ │ ├── validation.md
│ │ ├── views.md
│ │ ├── wizards-example2-template.html
│ │ ├── wizards-example3-template.html
│ │ ├── wizards-example4-template.html
│ │ └── wizards.md
│ ├── cookbook
│ │ └── nested-tables.md
│ └── fields
│ │ ├── address.md
│ │ ├── any.md
│ │ ├── array.md
│ │ ├── checkbox.md
│ │ ├── chooser.md
│ │ ├── ckeditor.md
│ │ ├── color.md
│ │ ├── colorpicker.md
│ │ ├── contenteditable.md
│ │ ├── country.md
│ │ ├── currency.md
│ │ ├── date.md
│ │ ├── datetime.md
│ │ ├── editor.md
│ │ ├── email.md
│ │ ├── file.md
│ │ ├── grid.md
│ │ ├── hidden.md
│ │ ├── image.md
│ │ ├── integer.md
│ │ ├── ipv4.md
│ │ ├── json.md
│ │ ├── lowercase.md
│ │ ├── map.md
│ │ ├── markdown.md
│ │ ├── number.md
│ │ ├── object.md
│ │ ├── optiontree.md
│ │ ├── password.md
│ │ ├── personalname.md
│ │ ├── phone.md
│ │ ├── pickacolor.md
│ │ ├── radio.md
│ │ ├── search.md
│ │ ├── select.md
│ │ ├── state.md
│ │ ├── summernote.md
│ │ ├── table.md
│ │ ├── table2.md
│ │ ├── table3.md
│ │ ├── table4.md
│ │ ├── tag.md
│ │ ├── test.md
│ │ ├── text.md
│ │ ├── textarea.md
│ │ ├── time.md
│ │ ├── tinymce.md
│ │ ├── token.md
│ │ ├── upload.md
│ │ ├── uppercase.md
│ │ ├── url.md
│ │ └── zipcode.md
├── documentation.md
├── download.md
├── endpoints
│ ├── echo.php
│ ├── info.php
│ ├── save.php
│ ├── save2.php
│ └── typeahead-sample.php
├── examples.md
├── fileupload
│ ├── UploadHandler.php
│ └── index.php
├── images
│ ├── bootstrap.png
│ ├── chunio.png
│ ├── cloud
│ │ ├── cloudcms.png
│ │ ├── collaboration.png
│ │ ├── formbuilder.png
│ │ ├── json.png
│ │ └── wizard.png
│ ├── club-logos
│ │ ├── Anzhi-Makhachkla.png
│ │ ├── Arsenal.png
│ │ ├── Atletico-Madrid.png
│ │ ├── Barcelona.png
│ │ ├── Bayern-Munich.png
│ │ ├── Benfica.png
│ │ ├── Borussia-Dortmund.png
│ │ ├── Chelsea.png
│ │ ├── Eintracht-Frankfurt.png
│ │ ├── FC-Porto.png
│ │ ├── FC-Twente.png
│ │ ├── Juventus.png
│ │ ├── Malaga.png
│ │ ├── Manchester-City.png
│ │ ├── Manchester-United.png
│ │ ├── Marseille.png
│ │ ├── Napoli.png
│ │ ├── Paris-Saint-Germain.png
│ │ ├── Real-Madrid.png
│ │ ├── Shakhtar-Donetsk.png
│ │ └── Tottenham-Hotspur.png
│ ├── community
│ │ ├── biogen-idec-150.png
│ │ ├── cloudcms-150.png
│ │ ├── evolved-media-solutions-150.png
│ │ ├── fii-inc-150.png
│ │ ├── fox-entertainment-150.png
│ │ ├── fx-networks-150.png
│ │ ├── iilab-150.png
│ │ ├── pearson-150.png
│ │ ├── sony-150.jpg
│ │ ├── sprint-150.png
│ │ ├── trinet-150.jpg
│ │ └── virgin-mobile-150.jpg
│ ├── icons
│ │ ├── advisory-128.png
│ │ ├── advisory-32.png
│ │ ├── advisory-64.png
│ │ ├── consulting-128.png
│ │ ├── consulting-32.png
│ │ ├── consulting-64.png
│ │ ├── support-128.png
│ │ ├── support-32.png
│ │ ├── support-64.png
│ │ ├── training-128.png
│ │ ├── training-32.png
│ │ └── training-64.png
│ ├── john-mcclaine.jpg
│ ├── jquery-mobile.png
│ ├── jquery-ui.jpg
│ ├── meetups
│ │ ├── AlpacaAUS.png
│ │ └── AlpacaCLE.jpeg
│ ├── step-1.png
│ ├── step-2.png
│ ├── step-3.png
│ ├── step-4.png
│ ├── step-5.png
│ ├── step-6.png
│ └── supported-yes.png
├── index.md
├── js
│ ├── contact.js
│ └── global.js
├── manifest.json
├── robots.txt
├── sitemap.txt
├── sitemap.xml
├── tutorial.md
└── tutorial
│ └── tutorial.js
├── src
├── css
│ ├── alpaca-bootstrap.css
│ ├── alpaca-core.css
│ ├── alpaca-fields.css
│ ├── alpaca-jquerymobile.css
│ ├── alpaca-jqueryui.css
│ ├── alpaca-web.css
│ └── images
│ │ ├── alpaca-icons.png
│ │ ├── date.png
│ │ ├── down.png
│ │ ├── email.png
│ │ ├── left.png
│ │ ├── phone.png
│ │ └── time.png
├── js
│ ├── AbstractTemplateEngine.js
│ ├── Alpaca-async.js
│ ├── Alpaca.js
│ ├── ContainerField.js
│ ├── ControlField.js
│ ├── Field.js
│ ├── Form.js
│ ├── HandlebarsTemplateEngine.js
│ ├── NormalizedView.js
│ ├── Observable.js
│ ├── ObservableUtils.js
│ ├── Observables.js
│ ├── RuntimeView.js
│ ├── ScopedObservables.js
│ ├── TemplateEngineRegistry.js
│ ├── cache
│ │ ├── memory.js
│ │ └── null.js
│ ├── connectors
│ │ ├── cloudcms.js
│ │ └── default.js
│ ├── fields
│ │ ├── advanced
│ │ │ ├── AddressField.js
│ │ │ ├── CKEditorField.js
│ │ │ ├── ColorField.js
│ │ │ ├── ColorPickerField.js
│ │ │ ├── CountryCallingCodeField.js
│ │ │ ├── CountryField.js
│ │ │ ├── CurrencyField.js
│ │ │ ├── DateField.js
│ │ │ ├── DatetimeField.js
│ │ │ ├── EditorField.js
│ │ │ ├── EmailField.js
│ │ │ ├── GridField.js
│ │ │ ├── IPv4Field.js
│ │ │ ├── ImageField.js
│ │ │ ├── IntegerField.js
│ │ │ ├── JSONField.js
│ │ │ ├── LowerCaseField.js
│ │ │ ├── MapField.js
│ │ │ ├── MarkdownField.js
│ │ │ ├── OptionTree.js
│ │ │ ├── PasswordField.js
│ │ │ ├── PersonalNameField.js
│ │ │ ├── PhoneField.js
│ │ │ ├── PickAColorField.js
│ │ │ ├── SearchField.js
│ │ │ ├── StateField.js
│ │ │ ├── SummernoteField.js
│ │ │ ├── TableField.js
│ │ │ ├── TableRowField.js
│ │ │ ├── TagField.js
│ │ │ ├── TimeField.js
│ │ │ ├── TinyMCEField.js
│ │ │ ├── TokenField.js
│ │ │ ├── URLField.js
│ │ │ ├── UploadField.js
│ │ │ ├── UpperCaseField.js
│ │ │ └── ZipcodeField.js
│ │ ├── basic
│ │ │ ├── AnyField.js
│ │ │ ├── ArrayField.js
│ │ │ ├── ContentEditableField.js
│ │ │ ├── FileField.js
│ │ │ ├── HiddenField.js
│ │ │ ├── NumberField.js
│ │ │ ├── ObjectField.js
│ │ │ ├── TextAreaField.js
│ │ │ └── TextField.js
│ │ └── list
│ │ │ ├── CheckBoxField.js
│ │ │ ├── ChooserField.js
│ │ │ ├── ListField.js
│ │ │ ├── RadioField.js
│ │ │ └── SelectField.js
│ ├── messages
│ │ └── i18n
│ │ │ ├── cs_CZ.js
│ │ │ ├── de_AT.js
│ │ │ ├── de_DE.js
│ │ │ ├── el_GR.js
│ │ │ ├── es_ES.js
│ │ │ ├── fi_FI.js
│ │ │ ├── fr_FR.js
│ │ │ ├── hr_HR.js
│ │ │ ├── it_IT.js
│ │ │ ├── ja_JP.js
│ │ │ ├── nb_NO.js
│ │ │ ├── nl_BE.js
│ │ │ ├── pl_PL.js
│ │ │ ├── pt_BR.js
│ │ │ ├── sv_SE.js
│ │ │ └── zh_CN.js
│ └── views
│ │ ├── base.js
│ │ ├── bootstrap.js
│ │ ├── jquerymobile.js
│ │ ├── jqueryui.js
│ │ └── web.js
└── templates
│ ├── bootstrap-display
│ ├── container.html
│ ├── control-chooser.html
│ ├── control-radio.html
│ ├── control-select.html
│ ├── control-upload-partial-download.html
│ ├── control-upload-partial-upload.html
│ ├── control-upload.html
│ ├── control.html
│ └── message.html
│ ├── bootstrap-edit
│ ├── container-grid.html
│ ├── container-table.html
│ ├── container.html
│ ├── control-chooser.html
│ ├── control-colorpicker.html
│ ├── control-upload-partial-download.html
│ ├── control-upload-partial-upload.html
│ ├── control-upload.html
│ ├── control.html
│ └── message.html
│ ├── jquerymobile-display
│ ├── container.html
│ └── control.html
│ ├── jquerymobile-edit
│ ├── container-array.html
│ ├── container-grid.html
│ ├── container-object.html
│ ├── container-table.html
│ ├── container.html
│ ├── control-checkbox.html
│ ├── control-radio.html
│ ├── control.html
│ └── message.html
│ ├── jqueryui-display
│ └── empty.txt
│ ├── jqueryui-edit
│ └── empty.txt
│ ├── web-display
│ ├── container-array-item.html
│ ├── container-array.html
│ ├── container-object-item.html
│ ├── container-object.html
│ ├── container-table-item.html
│ ├── container-table.html
│ ├── container-tablerow-item.html
│ ├── container-tablerow.html
│ ├── container.html
│ ├── control-any.html
│ ├── control-checkbox.html
│ ├── control-hidden.html
│ ├── control-image.html
│ ├── control-markdown.html
│ ├── control-password.html
│ ├── control-radio.html
│ ├── control-select.html
│ ├── control-text.html
│ ├── control-textarea.html
│ ├── control-url.html
│ ├── control.html
│ └── form.html
│ └── web-edit
│ ├── container-array-actionbar.html
│ ├── container-array-item.html
│ ├── container-array-toolbar.html
│ ├── container-array.html
│ ├── container-object-item.html
│ ├── container-object.html
│ ├── container-table-item.html
│ ├── container-table.html
│ ├── container-tablerow-item.html
│ ├── container-tablerow.html
│ ├── container.html
│ ├── control-any.html
│ ├── control-checkbox.html
│ ├── control-ckeditor.html
│ ├── control-contenteditable.html
│ ├── control-editor.html
│ ├── control-file.html
│ ├── control-hidden.html
│ ├── control-image.html
│ ├── control-optiontree.html
│ ├── control-password.html
│ ├── control-radio.html
│ ├── control-select.html
│ ├── control-text.html
│ ├── control-textarea.html
│ ├── control-url.html
│ ├── control.html
│ ├── form.html
│ ├── message.html
│ └── wizard.html
├── tests.mustache
├── tests
├── big1
│ ├── big.js
│ ├── data.json
│ ├── data2.json
│ ├── index.html
│ ├── options.json
│ └── schema.json
├── big2
│ ├── big.js
│ ├── connector.js
│ ├── index.html
│ ├── options
│ │ ├── anc_first_visit.json
│ │ ├── anc_followup.json
│ │ ├── bodily_injury.json
│ │ ├── delivery_record.json
│ │ ├── diarrhea.json
│ │ ├── disease_diagnosis.json
│ │ ├── hiv_counseling_child.json
│ │ ├── hiv_counseling_mother.json
│ │ ├── hiv_pregnancy_clinic.json
│ │ ├── immunization.json
│ │ ├── lists.json
│ │ ├── postnatal.json
│ │ ├── reproductive_counseling.json
│ │ ├── tb_leprosy.json
│ │ ├── visit.json
│ │ └── well_child_visit.json
│ └── schema
│ │ ├── anc_first_visit.json
│ │ ├── anc_followup.json
│ │ ├── bodily_injury.json
│ │ ├── delivery_record.json
│ │ ├── diarrhea.json
│ │ ├── disease_diagnosis.json
│ │ ├── hiv_counseling_child.json
│ │ ├── hiv_counseling_mother.json
│ │ ├── hiv_pregnancy_clinic.json
│ │ ├── immunization.json
│ │ ├── lists.json
│ │ ├── postnatal.json
│ │ ├── reproductive_counseling.json
│ │ ├── tb_leprosy.json
│ │ ├── visit.json
│ │ └── well_child_visit.json
├── dojo
│ ├── data.json
│ ├── index.html
│ ├── lib
│ │ └── dojo.js.uncompressed.js
│ ├── options.json
│ ├── schema.json
│ └── view.json
├── js
│ ├── fields
│ │ ├── AddressField.js
│ │ ├── AnyField.js
│ │ ├── ArrayField.js
│ │ ├── CheckBoxField.js
│ │ ├── ConditionalField.js
│ │ ├── CurrencyField.js
│ │ ├── DateField.js
│ │ ├── DependencyField.js
│ │ ├── EmailField.js
│ │ ├── FileField.js
│ │ ├── Form.js
│ │ ├── IPv4Field.js
│ │ ├── IntegerField.js
│ │ ├── LowerCaseField.js
│ │ ├── MapField.js
│ │ ├── NumberField.js
│ │ ├── ObjectField.js
│ │ ├── PasswordField.js
│ │ ├── PhoneField.js
│ │ ├── RadioField.js
│ │ ├── SelectField.js
│ │ ├── TagField.js
│ │ ├── TextAreaField.js
│ │ ├── TextField.js
│ │ ├── TimeField.js
│ │ ├── UpperCaseField.js
│ │ └── WysiwygField.js
│ ├── forms
│ │ ├── CreateForm.js
│ │ └── EditForm.js
│ ├── helpers
│ │ └── helpers.js
│ ├── hideInitValidationError.js
│ ├── validation
│ │ └── Validation.js
│ └── wizards
│ │ └── Wizard.js
├── memory
│ ├── data.json
│ ├── index.html
│ ├── main.css
│ ├── main.js
│ ├── options.json
│ ├── schema.json
│ └── thirdparty
│ │ └── require.js
├── qunit
│ ├── qunit.css
│ └── qunit.js
├── speed1
│ ├── index.html
│ └── speed.js
└── upload
│ ├── form
│ └── index.php
│ ├── index.html
│ ├── upload.js
│ └── upload
│ ├── UploadHandler.php
│ ├── files
│ ├── .gitignore
│ └── .htaccess
│ └── index.php
└── thirdparty
└── base
├── Base.js
├── Base.js.amd
├── Base.js.new
└── Base.js.original
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "lib"
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | *.ipr
3 | *.iws
4 | .idea
5 | /.idea
6 | /build
7 |
8 | /node_modules
9 | /lib
10 |
11 | /site/_site
12 | /site/lib
13 |
14 | notes.md
15 | /dist
16 |
17 | /customers
18 | /npm
19 |
20 | _old/
21 |
22 | deploy.log
23 |
24 | package.json.npm
25 |
26 | .vscode
27 | package-lock.json
--------------------------------------------------------------------------------
/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "curly": true,
3 | "eqeqeq": true,
4 | "immed": true,
5 | "latedef": true,
6 | "newcap": true,
7 | "noarg": true,
8 | "sub": true,
9 | "boss": true,
10 | "eqnull": true,
11 | "globals": {
12 |
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | *.ipr
3 | *.iws
4 | .idea
5 | /.idea
6 | /build
7 |
8 | /node_modules
9 | /lib
10 |
11 | /site/_site
12 | /site/lib
13 |
14 | notes.md
15 | /dist
16 |
17 | /customers
18 | /npm
19 |
20 | _old/
21 |
22 | deploy.log
23 |
24 | package.json.npm
25 |
26 | .vscode
27 | package-lock.json
28 |
29 | lib
30 | dist
31 | dist/lib
32 |
--------------------------------------------------------------------------------
/.testem.json:
--------------------------------------------------------------------------------
1 | {
2 | "framework": "qunit",
3 | "test_page": "tests.mustache",
4 | "src_files": [
5 | "lib/jquery/dist/jquery.min.js",
6 | "lib/handlebars/handlebars.min.js",
7 | "lib/jquery-ui/jquery-ui.js",
8 | "lib/json3/lib/json3.min.js",
9 | "lib/jquery-maskedinput/dist/jquery.maskedinput.min.js",
10 | "build/alpaca/bootstrap/alpaca.js",
11 | "tests/qunit/qunit.js",
12 | "tests/js/fields/**/*.js"
13 | ],
14 | "launch_in_dev": [
15 | "Chrome"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/alpaca.jquery.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "alpaca",
3 | "title": "Alpaca Forms",
4 | "description": "JSON Schema Web Forms for jQuery / Bootstrap.",
5 | "keywords": [
6 | "form",
7 | "forms",
8 | "json",
9 | "jsonschema",
10 | "json-schema",
11 | "bootstrap",
12 | "jqueryui",
13 | "jquery-ui",
14 | "jquerymobile",
15 | "jquery-mobile",
16 | "html5"
17 | ],
18 | "version": "1.5.24",
19 | "author": {
20 | "name": "Cloud CMS",
21 | "url": "https://gitana.io"
22 | },
23 | "maintainers": [
24 | {
25 | "name": "Michael Uzquiano",
26 | "email": "uzi@gitana.io",
27 | "url": "https://gitana.io"
28 | }
29 | ],
30 | "licenses": [
31 | {
32 | "type": "Apache 2.0",
33 | "url": "https://github.com/gitana/alpaca/blob/master/license.txt"
34 | }
35 | ],
36 | "bugs": "https://github.com/gitana/alpaca/issues",
37 | "homepage": "https://github.com/gitana/alpaca",
38 | "docs": "http://www.alpacajs.org",
39 | "download": "http://www.alpacajs.org/download.html",
40 | "dependencies": {
41 | "jquery": ">=1.7"
42 | }
43 | }
--------------------------------------------------------------------------------
/config/license.txt.template:
--------------------------------------------------------------------------------
1 | /*!
2 | Alpaca <%= version %>
3 |
4 | Copyright 2019 Gitana Software, Inc.
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 |
9 | You may obtain a copy of the License at
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | For more information, please contact Gitana Software, Inc. at this
19 | address:
20 |
21 | info@gitana.io
22 | */
23 |
--------------------------------------------------------------------------------
/deploy-cleanup.sh:
--------------------------------------------------------------------------------
1 | VERSION="$(node server/version)"
2 | BRANCH="$VERSION-release"
3 | ZIP="alpaca-$VERSION.zip"
4 |
5 | #
6 | # TEARDOWN
7 | #
8 |
9 | # delete local branch
10 | git checkout master
11 | git branch -D $BRANCH
12 |
--------------------------------------------------------------------------------
/deployment/jsch-0.1.50.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/deployment/jsch-0.1.50.jar
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/favicon.ico
--------------------------------------------------------------------------------
/features/features/alpaca/hideInitValidationError.feature:
--------------------------------------------------------------------------------
1 | Feature: Hide Init Validation Error
2 | As a developer using alpaca
3 | I want to be able to hide some initial validation errors
4 | So that users don't get confused
5 |
6 | Scenario: If the form is invalid then it should be detected, just not displayed
7 | Given I am on a page with required fields and the hideInitValidationError flag on
8 | Then the alpaca form should be invalid
9 |
10 | Scenario: Errors should not be shown right after the form is initialized
11 | Given I am on a page with required fields and the hideInitValidationError flag on
12 | Then I should see 0 ".alpaca-invalid" tags
13 |
14 | Scenario: If the form is changed and is still invalid then errors should be shown
15 | Given I am on a page with required fields and the hideInitValidationError flag on
16 | When I click on "input[name='required']"
17 | And I click on "#click-off"
18 | Then I should see at least 1 ".alpaca-invalid" tag
19 |
--------------------------------------------------------------------------------
/features/features/fields/address/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my address fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Address Field
7 | Given I am on a page with an address field
8 | Then I should see 4 "input[type='text']" tags
9 | And I should see 1 "select" tag
10 |
--------------------------------------------------------------------------------
/features/features/fields/any/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want to be able to create simple text field inputs
4 | So that I can develop applications faster
5 |
6 | Scenario: Standard Text Field
7 | Given I am on a page with an any field
8 | Then I should see 1 "input" tag
9 |
10 | Scenario: Display Only Mode
11 | Given I am on a page with an any field with the value "Read Only" in display only mode
12 | Then I should see "Read Only"
13 |
--------------------------------------------------------------------------------
/features/features/fields/any/validation.feature:
--------------------------------------------------------------------------------
1 | Feature: Validation of Input
2 | As a developer of a system using alpaca
3 | I want to be able to create rules for validation
4 | So that I can help the user input the correct data
5 |
6 | Scenario: Length validation
7 | Given I am on a page with an any field that has a max length of 5
8 | Then I should see 1 "input" tag
9 | When I click on "input" and type "Something longer than 5 characters"
10 | And click on "#click-off"
11 | Then the alpaca form should be invalid
12 |
13 | Scenario: Empty non required should be valid
14 | Given I am on a page with an any field
15 | Then the alpaca form should be valid
16 |
--------------------------------------------------------------------------------
/features/features/fields/array/size.feature:
--------------------------------------------------------------------------------
1 | Feature: Manipulate Array Size
2 | As a user of alpaca
3 | I want to be able to add and remove items to array fields
4 | So that I can change the size of arrays
5 |
6 | Scenario: Add Item to Array Field
7 | Given I am on a page with an array field with 3 elements
8 | When I click on the array bar's add button
9 | Then I should see 4 "input" tags
10 |
11 | Scenario: Remove Item from Array Field
12 | Given I am on a page with an array field with 3 elements
13 | When I click on the array bar's remove button
14 | Then I should see 2 "input" tags
15 |
--------------------------------------------------------------------------------
/features/features/fields/array/sort.feature:
--------------------------------------------------------------------------------
1 | Feature: Order array elements
2 | As a user of alpaca
3 | I want to be able to change the order of elements in arrays
4 | So that I can properly input my data
5 |
6 | Scenario: Move en element down
7 | Given I am on a page with an array field with the data ["foo", "bar", "baz"]
8 | When I click on the array bar's down button
9 | And after 1 second # give the animation some time to play out
10 | Then the first "input" tag's value should be "bar"
11 |
12 | Scenario: Attempt to move the first element up
13 | Given I am on a page with an array field with the data ["foo", "bar", "baz"]
14 | When I click on the array bar's up button
15 | And after 1 second # give the animation some time to play out
16 | # the value does not change because the first elemnt can't move up
17 | Then the first "input" tag's value should be "foo"
18 |
19 | Scenario: Move en element up
20 | Given I am on a page with an array field with the data ["foo", "bar", "baz"]
21 | When I click on the array bar's second up button
22 | And after 1 second # give the animation some time to play out
23 | Then the first "input" tag's value should be "bar"
24 |
--------------------------------------------------------------------------------
/features/features/fields/checkbox/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my checkbox fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Checkbox field defaults to unchecked
7 | Given I am on a page with a checkbox field
8 | Then I should see 1 "input[type='checkbox']" tag
9 | And I should see 0 "input[type='checkbox']:checked" tags
10 |
11 | Scenario: Checkbox field with right label
12 | Given I am on a page with a checkbox field with { "options": { "rightLabel": "Right Label" } }
13 | Then I should see 1 "input" tag
14 |
15 | Scenario: Checkbox with comma-delimited data
16 | Given I am on a page with a checkbox field representing an enum
17 | Then I should see 4 "input" tags
18 | And I should see 3 "input:checked" tags
19 | And I should see 4 "label" tags
20 |
--------------------------------------------------------------------------------
/features/features/fields/ckeditor/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my ckeditor fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: CKEditor Field
7 | Given I am on a page with a ckeditor field
8 | Then I should see 1 ".cke" tag
9 |
--------------------------------------------------------------------------------
/features/features/fields/country/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my country fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Country Field
7 | Given I am on a page with a country field
8 | Then I should see 1 "select" tag
9 | And there should be at least 1 "option" tag
10 |
--------------------------------------------------------------------------------
/features/features/fields/currency/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my currency fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Currency Field
7 | Given I am on a page with a currency field
8 | Then I should see 1 "input[type='text']" tag
9 |
10 | Scenario: Currency Field Formatting
11 | Given I am on a page with a currency field
12 | When I click on "input" and type "500"
13 | Then the "input" tag's value should be "$5.00"
14 |
--------------------------------------------------------------------------------
/features/features/fields/file/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my file fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Basic Field
7 | Given I am on a page with a file field
8 | Then I should see 1 "input[type='file']" tag
9 |
--------------------------------------------------------------------------------
/features/features/fields/hidden/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my hidden fields to display correctly (that is not to display)
4 | So that I can develop applications faster
5 |
6 | Scenario: Hidden Field
7 | Given I am on a page with a hidden field
8 | Then I should see 0 "input" tags
9 |
--------------------------------------------------------------------------------
/features/features/fields/number/validation.feature:
--------------------------------------------------------------------------------
1 | Feature: Validation of Input
2 | As a developer of a system using alpaca
3 | I want to be able to create rules for validation
4 | So that I can help the user input the correct data
5 |
6 | Scenario: Number fields should only allow numbers to be entered
7 | Given I am on a page with a number field
8 | When I click on "input" and type "Not numbers"
9 | And I click on "#click-off"
10 | Then the alpaca form should be invalid
11 |
--------------------------------------------------------------------------------
/features/features/fields/radio/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my radio fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Radio Field
7 | Given I am on a page with a radio field
8 | Then I should see 3 "input[type='radio']" tags
9 |
10 | Scenario: Helper
11 | Given I am on a page with a radio field
12 | Then I should see "Guess my favorite ice cream?"
13 |
--------------------------------------------------------------------------------
/features/features/fields/select/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my select fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Radio Field
7 | Given I am on a page with a select field
8 | Then I should see 1 "select" tag
9 | And there should be 6 "option" tags
10 |
11 | Scenario: Helper
12 | Given I am on a page with a select field
13 | Then I should see "Guess my favorite ice cream?"
14 |
--------------------------------------------------------------------------------
/features/features/fields/text/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my text fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Text Field
7 | Given I am on a page with a text field
8 | Then I should see 1 "input[type='text']" tag
9 |
--------------------------------------------------------------------------------
/features/features/fields/textarea/display.feature:
--------------------------------------------------------------------------------
1 | Feature: Display
2 | As a developer of a system using alpaca
3 | I want my textarea fields to display correctly
4 | So that I can develop applications faster
5 |
6 | Scenario: Textarea Field
7 | Given I am on a page with a textarea field
8 | Then I should see 1 "textarea" tag
9 |
--------------------------------------------------------------------------------
/features/step_definitions/alpaca/hideInitValidationError.js:
--------------------------------------------------------------------------------
1 | var fields = function() {
2 |
3 | this.Given('I am on a page with required fields and the hideInitValidationError flag on', function(cb) {
4 | this.alpaca({
5 | data: {
6 |
7 | },
8 | schema: {
9 | type: 'object',
10 | properties: {
11 | required: {
12 | required: true,
13 | type: 'string'
14 | }
15 | }
16 | },
17 | options: {
18 | hideInitValidationError: true,
19 | fields: {
20 | required: {
21 |
22 | }
23 | }
24 | }
25 | }, cb);
26 | });
27 |
28 | };
29 |
30 | module.exports = fields;
31 |
--------------------------------------------------------------------------------
/features/step_definitions/fields/any.js:
--------------------------------------------------------------------------------
1 | var _ = require('lodash');
2 |
3 | var fields = function() {
4 |
5 | /**
6 | * Place an any field in display mode with a given value on the page.
7 | */
8 | this.Given(/^I am on a page with an any field with the value "([^"]*)" in display only mode$/, function(value, cb) {
9 | this.createAnyField({ data: value, view: 'bootstrap-display' }, cb);
10 | });
11 |
12 | /**
13 | * Creates an any field with a maximum length.
14 | */
15 | this.Given(/^I am on a page with an any field that has a max length of (\d+)$/, function(len, cb) {
16 | this.createAnyField({ schema: { maxLength: len, type: 'string' } }, cb);
17 | });
18 |
19 | };
20 |
21 | module.exports = fields;
22 |
--------------------------------------------------------------------------------
/features/step_definitions/fields/checkbox.js:
--------------------------------------------------------------------------------
1 | var _ = require('lodash');
2 |
3 | var fields = function() {
4 |
5 | /**
6 | * Create an alpaca form with a check box for each possible value in the enum
7 | */
8 | this.Given(/^I am on a page with a checkbox field representing an enum$/, function(cb) {
9 | this.alpaca({
10 | data: "foo, bar, baz",
11 | schema: {
12 | type: "string",
13 | enum: ["foo", "bar", "bing", "baz"]
14 | },
15 | options: {
16 | type: "checkbox"
17 | }
18 | }, cb);
19 | });
20 |
21 | };
22 |
23 | module.exports = fields;
24 |
--------------------------------------------------------------------------------
/features/step_definitions/fields/number.js:
--------------------------------------------------------------------------------
1 | var _ = require('lodash');
2 |
3 | var fields = function() {
4 |
5 | /**
6 | * Create an alpaca form with two number fields
7 | */
8 | this.Given(/I am on a page with an alpacaForm with two number fields/, function(cb) {
9 | this.createAnyField({
10 | data: { a: 0, b: 0 },
11 | schema: {
12 | properties: {
13 | a: {
14 | type: 'number'
15 | },
16 | b: {
17 | type: 'number'
18 | }
19 | }
20 | }
21 | }, cb)
22 | });
23 |
24 | };
25 |
26 | module.exports = fields;
27 |
--------------------------------------------------------------------------------
/features/support/after_hooks.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Hooks that are ran after each cucumber test are defined here.
3 | */
4 | var afterHooks = function() {
5 |
6 | this.After(function(cb) {
7 | this.clearFixture().then(function() {
8 | cb();
9 | });
10 | });
11 |
12 | };
13 |
14 | module.exports = afterHooks;
15 |
--------------------------------------------------------------------------------
/features/support/before_hooks.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Hooks that are ran before each cucumber test are defined here.
3 | */
4 | var beforeHooks = function() {
5 |
6 | this.Before(function(cb) {
7 | this.eval(function() {
8 | window.alpacaForms = [];
9 | });
10 | cb();
11 | });
12 |
13 | };
14 |
15 | module.exports = beforeHooks;
16 |
--------------------------------------------------------------------------------
/features/support/cucumber.css:
--------------------------------------------------------------------------------
1 | html, body {
2 | height: 100%;
3 | }
4 | body > footer {
5 | bottom: 0;
6 | position: fixed;
7 | }
8 | body {
9 | background: #999;
10 | }
11 | #fixture-container {
12 | margin-top: 100px;
13 | padding-top: 10px;
14 | background: white;
15 | }
16 | footer h1 {
17 | margin-top: 0;
18 | }
19 |
--------------------------------------------------------------------------------
/jsdoc.conf.json:
--------------------------------------------------------------------------------
1 | {
2 | "tags" : {
3 | "allowUnknownTags" : true
4 | },
5 | "plugins" : ["plugins/markdown"],
6 |
7 | "templates" : {
8 | "cleverLinks" : false,
9 | "monospaceLinks" : false,
10 | "dateFormat" : "ddd MMM Do YYYY",
11 | "outputSourceFiles" : true,
12 | "outputSourcePath" : true,
13 | "systemName" : "Alpaca Forms",
14 | "footer" : "",
15 | "copyright" : "Copyright © 2014 Gitana Software, Inc.",
16 | "navType" : "vertical",
17 | "theme" : "cerulean",
18 | "linenums" : true,
19 | "collapseSymbols" : false,
20 | "inverseNav" : false,
21 | "highlightTutorialCode" : true,
22 | "protocol": "fred://"
23 | },
24 | "markdown" : {
25 | "parser" : "gfm",
26 | "hardwrap" : true
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/license.txt:
--------------------------------------------------------------------------------
1 | /*!
2 | Alpaca 1.5.27
3 |
4 | Copyright 2019 Gitana Software, Inc.
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 |
9 | You may obtain a copy of the License at
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | For more information, please contact Gitana Software, Inc. at this
19 | address:
20 |
21 | info@gitana.io
22 | */
23 |
--------------------------------------------------------------------------------
/server/test-webserver.js:
--------------------------------------------------------------------------------
1 | var path = require('path');
2 | var express = require('express');
3 |
4 | var app = express();
5 | var publicDir = path.join(__dirname, '..');
6 | var port = process.env.PORT || 9999;
7 |
8 | app.configure(function() {
9 | app.use(express.json());
10 | app.use(express.urlencoded());
11 | });
12 |
13 | app.use(express.static(publicDir));
14 |
15 | app.listen(port, function() {
16 | console.log('App is now listening on port: ' + port);
17 | });
18 |
--------------------------------------------------------------------------------
/server/version.js:
--------------------------------------------------------------------------------
1 | var pkg = require("../package");
2 | console.log(pkg.version);
--------------------------------------------------------------------------------
/server/webserver.js:
--------------------------------------------------------------------------------
1 | var path = require("path");
2 | var express = require("express");
3 |
4 | var port = process.env.PORT || 9999;
5 |
6 | var app = express();
7 |
8 | var publicDir = path.join(__dirname, '..', 'build', 'web');
9 |
10 | app.use(express.static(publicDir));
11 |
12 | app.listen(port, function() {
13 | console.log('App is now listening on port: ' + port);
14 | });
15 |
16 | /*
17 | app.configure(function() {
18 | app.use(express.json());
19 | app.use(express.urlencoded());
20 | });
21 |
22 | */
--------------------------------------------------------------------------------
/site/404.html:
--------------------------------------------------------------------------------
1 | Sorry this page does not exist =(
2 |
--------------------------------------------------------------------------------
/site/_drafts/jekyll-introduction-draft.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | category : lessons
4 | tagline: "Supporting tagline"
5 | tags : [intro, beginner, jekyll, tutorial]
6 | ---
7 | {% include JB/setup %}
8 |
9 |
10 | This is an example of a draft. Read more here: [http://jekyllrb.com/docs/drafts/](http://jekyllrb.com/docs/drafts/)
11 |
--------------------------------------------------------------------------------
/site/_includes/JB/analytics:
--------------------------------------------------------------------------------
1 | {% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %}
2 |
3 | {% case site.JB.analytics.provider %}
4 | {% when "google" %}
5 | {% include JB/analytics-providers/google %}
6 | {% when "googleUA" %}
7 | {% include JB/analytics-providers/googleUA %}
8 | {% when "getclicky" %}
9 | {% include JB/analytics-providers/getclicky %}
10 | {% when "mixpanel" %}
11 | {% include JB/analytics-providers/mixpanel %}
12 | {% when "piwik" %}
13 | {% include JB/analytics-providers/piwik %}
14 | {% when "custom" %}
15 | {% include custom/analytics %}
16 | {% endcase %}
17 |
18 | {% endif %}
19 |
--------------------------------------------------------------------------------
/site/_includes/JB/analytics-providers/getclicky:
--------------------------------------------------------------------------------
1 |
12 |
13 |
--------------------------------------------------------------------------------
/site/_includes/JB/analytics-providers/google:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/_includes/JB/analytics-providers/googleUA:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/_includes/JB/analytics-providers/mixpanel:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/_includes/JB/analytics-providers/piwik:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/_includes/JB/comments:
--------------------------------------------------------------------------------
1 | {% if site.JB.comments.provider and page.comments != false %}
2 |
3 | {% case site.JB.comments.provider %}
4 | {% when "disqus" %}
5 | {% include JB/comments-providers/disqus %}
6 | {% when "livefyre" %}
7 | {% include JB/comments-providers/livefyre %}
8 | {% when "intensedebate" %}
9 | {% include JB/comments-providers/intensedebate %}
10 | {% when "facebook" %}
11 | {% include JB/comments-providers/facebook %}
12 | {% when "custom" %}
13 | {% include custom/comments %}
14 | {% endcase %}
15 |
16 | {% endif %}
--------------------------------------------------------------------------------
/site/_includes/JB/comments-providers/disqus:
--------------------------------------------------------------------------------
1 |
2 |
13 | Please enable JavaScript to view the comments powered by Disqus.
14 | blog comments powered by
15 |
--------------------------------------------------------------------------------
/site/_includes/JB/comments-providers/facebook:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/site/_includes/JB/comments-providers/intensedebate:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/site/_includes/JB/comments-providers/livefyre:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/site/_includes/JB/setup:
--------------------------------------------------------------------------------
1 | {% capture jbcache %}
2 |
5 | {% if site.JB.setup.provider == "custom" %}
6 | {% include custom/setup %}
7 | {% else %}
8 | {% if site.safe and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %}
9 | {% assign BASE_PATH = site.JB.BASE_PATH %}
10 | {% assign HOME_PATH = site.JB.BASE_PATH %}
11 | {% else %}
12 | {% assign BASE_PATH = nil %}
13 | {% assign HOME_PATH = "/" %}
14 | {% endif %}
15 |
16 | {% if site.JB.ASSET_PATH %}
17 | {% assign ASSET_PATH = site.JB.ASSET_PATH %}
18 | {% else %}
19 | {% if layout.theme.name %}
20 | {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ layout.theme.name }}{% endcapture %}
21 | {% else %}
22 | {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %}
23 | {% endif %}
24 | {% endif %}
25 | {% endif %}
26 | {% endcapture %}{% assign jbcache = nil %}
--------------------------------------------------------------------------------
/site/_includes/JB/sharing:
--------------------------------------------------------------------------------
1 | {% if site.safe and site.JB.sharing.provider and page.JB.sharing != false %}
2 |
3 | {% case site.JB.sharing.provider %}
4 | {% when "custom" %}
5 | {% include custom/sharing %}
6 | {% endcase %}
7 |
8 | {% endif %}
--------------------------------------------------------------------------------
/site/_includes/JB/tags_list:
--------------------------------------------------------------------------------
1 | {% comment %}{% endcomment %}
19 |
20 | {% if site.JB.tags_list.provider == "custom" %}
21 | {% include custom/tags_list %}
22 | {% else %}
23 | {% if tags_list.first[0] == null %}
24 | {% for tag in tags_list %}
25 | {{ tag }} {{ site.tags[tag].size }}
26 | {% endfor %}
27 | {% else %}
28 | {% for tag in tags_list %}
29 | {{ tag[0] }} {{ tag[1].size }}
30 | {% endfor %}
31 | {% endif %}
32 | {% endif %}
33 | {% assign tags_list = nil %}
34 |
--------------------------------------------------------------------------------
/site/_includes/themes/bootstrap/page.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | {{ content }}
8 |
9 |
10 |
--------------------------------------------------------------------------------
/site/_includes/themes/bootstrap/settings.yml:
--------------------------------------------------------------------------------
1 | theme :
2 | name : bootstrap
3 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/demo.html:
--------------------------------------------------------------------------------
1 |
12 |
13 | {{ content }}
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/documentation-api.html:
--------------------------------------------------------------------------------
1 |
6 |
7 | {{ content }}
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/documentation-cookbook.html:
--------------------------------------------------------------------------------
1 |
6 |
7 | {{ content }}
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/documentation-field.html:
--------------------------------------------------------------------------------
1 |
6 |
7 | {{ content }}
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
© {{ site.time | date: '%Y' }} {{ site.author.name }}
6 |
7 |
8 | Alpaca is sponsored by
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/page.html:
--------------------------------------------------------------------------------
1 |
7 |
8 | {{ content }}
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/site/_includes/themes/dbyll/settings.yml:
--------------------------------------------------------------------------------
1 | theme :
2 | name : dbyll
3 |
--------------------------------------------------------------------------------
/site/_includes/tutorial/page1.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/site/_layouts/default.html:
--------------------------------------------------------------------------------
1 | ---
2 | theme :
3 | name : dbyll
4 | ---
5 | {% include JB/setup %}
6 | {% include themes/dbyll/default.html %}
7 |
--------------------------------------------------------------------------------
/site/_layouts/demo.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/demo.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/documentation-api.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/documentation-api.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/documentation-cookbook.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/documentation-cookbook.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/documentation-field.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/documentation-field.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/footer.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/footer.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/full.html:
--------------------------------------------------------------------------------
1 | {{{ content }}}
--------------------------------------------------------------------------------
/site/_layouts/header.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/header.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/page.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/page.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/post.html %}
6 |
--------------------------------------------------------------------------------
/site/_layouts/sidebar.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 | {% include JB/setup %}
5 | {% include themes/dbyll/sidebar.html %}
6 |
--------------------------------------------------------------------------------
/site/_plugins/debug.rb:
--------------------------------------------------------------------------------
1 | # A simple way to inspect liquid template variables.
2 | # Usage:
3 | # Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
4 | # {{ site | debug }}
5 | # {{ site.posts | debug }}
6 | #
7 | require 'pp'
8 | module Jekyll
9 | # Need to overwrite the inspect method here because the original
10 | # uses < > to encapsulate the psuedo post/page objects in which case
11 | # the output is taken for HTML tags and hidden from view.
12 | #
13 | class Post
14 | def inspect
15 | "#Jekyll:Post @id=#{self.id.inspect}"
16 | end
17 | end
18 |
19 | class Page
20 | def inspect
21 | "#Jekyll:Page @name=#{self.name.inspect}"
22 | end
23 | end
24 |
25 | end # Jekyll
26 |
27 | module Jekyll
28 | module DebugFilter
29 |
30 | def debug(obj, stdout=false)
31 | puts obj.pretty_inspect if stdout
32 | "#{obj.class}\n#{obj.pretty_inspect} "
33 | end
34 |
35 | end # DebugFilter
36 | end # Jekyll
37 |
38 | Liquid::Template.register_filter(Jekyll::DebugFilter)
--------------------------------------------------------------------------------
/site/alpaca-icons/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/android-icon-144x144.png
--------------------------------------------------------------------------------
/site/alpaca-icons/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/android-icon-192x192.png
--------------------------------------------------------------------------------
/site/alpaca-icons/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/android-icon-36x36.png
--------------------------------------------------------------------------------
/site/alpaca-icons/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/android-icon-48x48.png
--------------------------------------------------------------------------------
/site/alpaca-icons/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/android-icon-72x72.png
--------------------------------------------------------------------------------
/site/alpaca-icons/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/android-icon-96x96.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-114x114.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-144x144.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-57x57.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-60x60.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-72x72.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-76x76.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/site/alpaca-icons/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/apple-icon.png
--------------------------------------------------------------------------------
/site/alpaca-icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/favicon-16x16.png
--------------------------------------------------------------------------------
/site/alpaca-icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/favicon-32x32.png
--------------------------------------------------------------------------------
/site/alpaca-icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/favicon-96x96.png
--------------------------------------------------------------------------------
/site/alpaca-icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/favicon.ico
--------------------------------------------------------------------------------
/site/alpaca-icons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/site/alpaca-icons/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/ms-icon-150x150.png
--------------------------------------------------------------------------------
/site/alpaca-icons/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/ms-icon-310x310.png
--------------------------------------------------------------------------------
/site/alpaca-icons/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/alpaca-icons/ms-icon-70x70.png
--------------------------------------------------------------------------------
/site/assets/themes/bootstrap/css/style.css:
--------------------------------------------------------------------------------
1 | /* Custom container */
2 | .container-narrow {
3 | margin: 0 auto;
4 | max-width: 700px; }
5 |
6 | .container-narrow > hr {
7 | margin: 30px 0; }
8 |
9 | .navbar .nav {
10 | float: right; }
11 |
12 | /* posts index */
13 | .post > h3.title {
14 | position: relative;
15 | padding-top: 10px; }
16 |
17 | .post > h3.title span.date {
18 | position: absolute;
19 | right: 0;
20 | font-size: 0.9em; }
21 |
22 | .post > .more {
23 | margin: 10px 0;
24 | text-align: left; }
25 |
26 | /* post-full*/
27 | .post-full .date {
28 | margin-bottom: 20px;
29 | font-weight: bold; }
30 |
31 | /* tag_box */
32 | .tag_box {
33 | list-style: none;
34 | margin: 0;
35 | overflow: hidden; }
36 |
37 | .tag_box li {
38 | line-height: 28px; }
39 |
40 | .tag_box li i {
41 | opacity: 0.9; }
42 |
43 | .tag_box.inline li {
44 | float: left; }
45 |
46 | .tag_box a {
47 | padding: 3px 6px;
48 | margin: 2px;
49 | background: #eee;
50 | color: #555;
51 | border-radius: 3px;
52 | text-decoration: none;
53 | border: 1px dashed #cccccc; }
54 |
55 | .tag_box a span {
56 | vertical-align: super;
57 | font-size: 0.8em; }
58 |
59 | .tag_box a:hover {
60 | background-color: #e5e5e5; }
61 |
62 | .tag_box a.active {
63 | background: #57A957;
64 | border: 1px solid #4c964d;
65 | color: #FFF; }
--------------------------------------------------------------------------------
/site/assets/themes/bootstrap/resources/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/bootstrap/resources/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/site/assets/themes/bootstrap/resources/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/bootstrap/resources/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/site/assets/themes/bootstrap/resources/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/bootstrap/resources/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/alpaca-gray-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/alpaca-gray-logo.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/alpaca-icon-cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/alpaca-icon-cloud.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/alpaca-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/alpaca-icon.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/alpaca-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/alpaca-logo.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/alpaca.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/alpaca.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/cloudcms-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/cloudcms-icon.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/images/cloudcms_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/images/cloudcms_logo.png
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/resources/bootstrap.vertical-tabs/bootstrap.vertical-tabs.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Bootstrap Vertical Tabs Component v0.2
3 | * http://github.com/dbtek/bootstrap-vertical-tabs
4 | * © 2013, Ismail Demirbilek
5 | * MIT License
6 | */
7 |
8 | .tabs-left, .tabs-right {
9 | border-bottom: none;
10 | padding-top: 2px;
11 | }
12 | .tabs-left {
13 | border-right: 1px solid #ddd;
14 | }
15 | .tabs-right {
16 | border-left: 1px solid #ddd;
17 | }
18 | .tabs-left>li, .tabs-right>li {
19 | float: none;
20 | margin-bottom: 2px;
21 | }
22 | .tabs-left>li {
23 | margin-right: -1px;
24 | }
25 | .tabs-right>li {
26 | margin-left: -1px;
27 | }
28 | .tabs-left>li.active>a, .tabs-left>li.active>a:hover, .tabs-left>li.active>a:focus {
29 | border-bottom-color: #ddd;
30 | border-right-color: transparent;
31 | }
32 | .tabs-right>li.active>a, .tabs-right>li.active>a:hover, .tabs-right>li.active>a:focus {
33 | border-bottom: 1px solid #ddd;
34 | border-left-color: transparent;
35 | }
36 | .tabs-left>li>a {
37 | border-radius: 4px 0 0 4px;
38 | margin-right: 0;
39 | display:
40 | }
41 | .tabs-right>li>a {
42 | border-radius: 0 4px 4px 0;
43 | margin-right: 0;
44 | }
45 |
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/resources/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/resources/font-awesome/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/resources/font-awesome/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/resources/font-awesome/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/resources/font-awesome/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/resources/font-awesome/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/site/assets/themes/dbyll/resources/font-awesome/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/assets/themes/dbyll/resources/font-awesome/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/site/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | #ffffff
--------------------------------------------------------------------------------
/site/data/author-options.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "Author",
3 | "fields": {
4 | "firstName": {
5 | "type": "personalname"
6 | },
7 | "lastName": {
8 | "type": "personalname"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/site/data/author-schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "object",
3 | "properties": {
4 | "firstName": {
5 | "title": "First Name",
6 | "type": "string"
7 | },
8 | "lastName": {
9 | "title": "Last Name",
10 | "type": "string"
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/site/data/connector-custom-data.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "To Kill a Mockingbird - Dill's Revenge",
3 | "description": "Scout returns to Maycomb, a tired old town that has suffered at the hands of the Zombie Apocalypse. Will she and Jem be able to track down Atticus who has been turned into an undead walker at the hands of the maniacal Boo Radley? Set between the events of Harper Lee's original classic and her long-awaited follow-up 'Go Set a Watchman', Dill's Revenge is a must read for the summer."
4 | }
--------------------------------------------------------------------------------
/site/data/connector-custom-options.json:
--------------------------------------------------------------------------------
1 | {
2 | "fields": {
3 | "title": {
4 | "type": "text",
5 | "label": "Title"
6 | },
7 | "description": {
8 | "type": "textarea",
9 | "label": "Description"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/site/data/connector-custom-schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "object",
3 | "properties": {
4 | "title": {
5 | "type": "string"
6 | },
7 | "description": {
8 | "type": "string"
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/site/data/connector-custom-view.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "bootstrap-edit",
3 | "locale": "es_ES"
4 | }
--------------------------------------------------------------------------------
/site/data/customer-profile-data.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "John McClane",
3 | "age": 28,
4 | "gender": "Male",
5 | "photo": "/data/johnmcclane.jpg",
6 | "member": true,
7 | "icecream": "Chocolate",
8 | "phone": "(123)456-7890",
9 | "address":{
10 | "street":[
11 | "100 Main Street",
12 | "Suite 200"
13 | ],
14 | "city": "Chicago",
15 | "state": "IL",
16 | "zip": "60613"
17 | }
18 | }
--------------------------------------------------------------------------------
/site/data/customer-profile-options.json:
--------------------------------------------------------------------------------
1 | {
2 | "fields":{
3 | "photo":{
4 | "type": "file",
5 | "styled": true
6 | },
7 | "member":{
8 | "rightLabel": "Alpaca Club Member"
9 | },
10 | "address":{
11 | "type": "address",
12 | "addressValidation": true
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/site/data/datasource-example.json:
--------------------------------------------------------------------------------
1 | [{
2 | "value": "rambo",
3 | "text": "John Rambo"
4 | },{
5 | "value": "norris",
6 | "text": "Chuck Norris"
7 | },{
8 | "value": "arnold",
9 | "text": "Arnold Schwarzenegger"
10 | }]
--------------------------------------------------------------------------------
/site/data/icecream-list-array.json:
--------------------------------------------------------------------------------
1 | [{
2 | "text": "Vanilla",
3 | "value": "vanilla"
4 | }, {
5 | "text": "Chocolate",
6 | "value": "chocolate"
7 | }, {
8 | "text": "Coffee",
9 | "value": "coffee"
10 | }, {
11 | "text": "Strawberry",
12 | "value": "strawberry"
13 | }, {
14 | "text": "Mint",
15 | "value": "mint"
16 | }]
--------------------------------------------------------------------------------
/site/data/icecream-list.json:
--------------------------------------------------------------------------------
1 | {
2 | "Vanilla": "Vanilla Flavor",
3 | "Chocolate": "Chocolate Flavor",
4 | "Strawberry": "Strawberry Flavor",
5 | "Mint": "Mint Flavor"
6 | }
--------------------------------------------------------------------------------
/site/data/johnmcclane.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/data/johnmcclane.jpg
--------------------------------------------------------------------------------
/site/data/optiontree-custom-schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "number",
3 | "title": "What number would like for your sports jersey?"
4 | }
--------------------------------------------------------------------------------
/site/data/preview-data.json:
--------------------------------------------------------------------------------
1 | {
2 | "value":"Famous since 1839 for our legendary ice cream, Alpaca Farm has become the perfect place for the whole family to visit, have fun and relax."
3 | }
--------------------------------------------------------------------------------
/site/data/tokenfield-ajax1.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "value": "spring",
4 | "label": "Spring"
5 | },
6 | {
7 | "value": "summer",
8 | "label": "Summer"
9 | },
10 | {
11 | "value": "fall",
12 | "label": "Fall"
13 | },
14 | {
15 | "value": "winter",
16 | "label": "Winter"
17 | },
18 | {
19 | "value": "christmas",
20 | "label": "Christmas"
21 | },
22 | {
23 | "value": "easter",
24 | "label": "Easter"
25 | },
26 | {
27 | "value": "thanksgiving",
28 | "label": "Thanksgiving"
29 | },
30 | {
31 | "value": "halloween",
32 | "label": "Halloween"
33 | },
34 | {
35 | "value": "july4th",
36 | "label": "4th Of July"
37 | },
38 | {
39 | "value": "boys",
40 | "label": "Boys"
41 | },
42 | {
43 | "value": "girls",
44 | "label": "Girls"
45 | },
46 | {
47 | "value": "mens",
48 | "label": "Mens"
49 | },
50 | {
51 | "value": "womens",
52 | "label": "Womens"
53 | },
54 | {
55 | "value": "infants",
56 | "label": "Infants"
57 | },
58 | {
59 | "value": "toddlers",
60 | "label": "Toddlers"
61 | }
62 | ]
--------------------------------------------------------------------------------
/site/demos/amd/quickstart/form.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | padding-top: 70px;
4 | }
5 |
--------------------------------------------------------------------------------
/site/demos/amd/quickstart/layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
My Custom Layout
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/site/demos/amd/quickstart/main.css:
--------------------------------------------------------------------------------
1 | @import url( "../../../lib/bootstrap/dist/css/bootstrap.css" );
2 | @import url( "../../../lib/bootstrap/dist/css/bootstrap-theme.css" );
3 | @import url( "../../../lib/alpaca/bootstrap/alpaca.css" );
4 | @import url( "form.css" );
5 |
--------------------------------------------------------------------------------
/site/demos/amd/quickstart/main.js:
--------------------------------------------------------------------------------
1 | require.config({
2 | "packages": [
3 | {
4 | "name": "jquery",
5 | "location": "../../../lib/jquery/dist",
6 | "main": "jquery.min"
7 | },
8 | {
9 | "name": "handlebars",
10 | "location": "../../../lib/handlebars",
11 | "main": "handlebars"
12 | },
13 | {
14 | "name": "bootstrap",
15 | "location": "../../../lib/bootstrap/dist/js",
16 | "main": "bootstrap"
17 | },
18 | {
19 | "name": "alpaca",
20 | "location": "../../../lib/alpaca/bootstrap",
21 | "main": "alpaca"
22 | },
23 | {
24 | "name": "form",
25 | "main": "../form"
26 | }
27 | ],
28 | "shim": {
29 | "bootstrap": ["jquery"],
30 | "jquery": [],
31 | "handlebars": {
32 | "exports": "Handlebars"
33 | }
34 | }
35 | });
36 |
37 | require(["form"], function() {
38 | // all done
39 | });
40 |
--------------------------------------------------------------------------------
/site/demos/amd/registration/main.css:
--------------------------------------------------------------------------------
1 | @import url( "../../../lib/bootstrap/dist/css/bootstrap.css" );
2 | @import url( "../../../lib/bootstrap/dist/css/bootstrap-theme.css" );
3 | @import url( "../../../lib/alpaca/bootstrap/alpaca.css" );
4 | @import url( "registration.css" );
5 |
--------------------------------------------------------------------------------
/site/demos/amd/registration/main.js:
--------------------------------------------------------------------------------
1 | require.config({
2 | "packages": [
3 | {
4 | "name": "jquery",
5 | "location": "../../../lib/jquery/dist",
6 | "main": "jquery.min"
7 | },
8 | {
9 | "name": "handlebars",
10 | "location": "../../../lib/handlebars",
11 | "main": "handlebars"
12 | },
13 | {
14 | "name": "bootstrap",
15 | "location": "../../../lib/bootstrap/dist/js",
16 | "main": "bootstrap"
17 | },
18 | {
19 | "name": "alpaca",
20 | "location": "../../../lib/alpaca/bootstrap",
21 | "main": "alpaca"
22 | },
23 | {
24 | "name": "registration",
25 | "main": "../registration"
26 | }
27 | ],
28 | "shim": {
29 | "bootstrap": ["jquery"],
30 | "jquery": [],
31 | "handlebars": {
32 | "exports": "Handlebars"
33 | }
34 | }
35 | });
36 |
37 | require(["registration"], function() {
38 | // all done
39 | });
40 |
--------------------------------------------------------------------------------
/site/demos/amd/registration/registration.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | padding-top: 70px;
4 | }
5 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/bookmarks/bookmarks.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: Bookmarks Example
4 | header: Bookmarks Example
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads the data, schema and options for the Alpaca form via AJAX.
9 |
10 | {% raw %}
11 |
18 | {% endraw %}
--------------------------------------------------------------------------------
/site/demos/bootstrap/bookmarks/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "Alpaca Bookmarks",
3 | "description": "This list contains bookmarks for web pages we think are worth checking out!",
4 | "bookmarks": [{
5 | "title": "AlpacaJS",
6 | "url": "http://www.alpacajs.org"
7 | }, {
8 | "title": "Cloud CMS",
9 | "url": "https://gitana.io"
10 | }]
11 | }
--------------------------------------------------------------------------------
/site/demos/bootstrap/bookmarks/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "fields": {
3 | "title": {
4 | "label": "Title of the Bookmarks List"
5 | },
6 | "description": {
7 | "label": "Description"
8 | },
9 | "bookmarks": {
10 | "toolbarSticky": true,
11 | "fields": {
12 | "item": {
13 | "fields": {
14 | "title": {
15 | "label": "Bookmark Title"
16 | },
17 | "url": {
18 | "type": "url",
19 | "label": "Bookmark URL"
20 | }
21 | }
22 | }
23 | }
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/site/demos/bootstrap/bookmarks/schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "object",
3 | "properties": {
4 | "title": {
5 | "type": "string"
6 | },
7 | "description": {
8 | "type": "string"
9 | },
10 | "bookmarks": {
11 | "type": "array",
12 | "items": {
13 | "type": "object",
14 | "properties": {
15 | "title": {
16 | "type": "string"
17 | },
18 | "url": {
19 | "type": "string"
20 | }
21 | }
22 | }
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/site/demos/bootstrap/clubs/clubs-template.html:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/create-form.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: New Customer Form
4 | header: New Customer Form
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads options and schema parameters through ajax calls.
9 |
10 | {% raw %}
11 |
18 | {% endraw %}
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/create-simple-form.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: New Customer - Simple Form
4 | header: New Customer - Simple Form
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads options and schema parameters through ajax calls.
9 |
10 | {% raw %}
11 |
18 | {% endraw %}
19 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Betty Icecream Lover",
3 | "age": 10,
4 | "gender": "Female",
5 | "photo": "./betty-girl.jpg",
6 | "member": true,
7 | "icecream": "Chocolate",
8 | "phone": "(123)456-7890",
9 | "address": {
10 | "street": [
11 | "100 Main Street",
12 | "Suite 200"
13 | ],
14 | "city": "Burlington",
15 | "state": "MA",
16 | "zip": "18210"
17 | }
18 | }
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/display-form.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: Customer Profile - Display Form
4 | header: Customer Profile - Display Form
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads data , options and schema parameters through ajax calls.
9 |
10 | {% raw %}
11 |
19 | {% endraw %}
20 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/edit-form.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: Customer Profile - Edit Form
4 | header: Customer Profile - Edit Form
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads data , options and schema parameters through ajax calls.
9 |
10 | {% raw %}
11 |
18 | {% endraw %}
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/edit-readonly-form.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: Customer Profile - Edit Form (Read Only)
4 | header: Customer Profile - Edit Form (Read Only)
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads data , options and schema parameters through ajax calls.
9 |
10 | {% raw %}
11 |
22 | {% endraw %}
23 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/edit-simple-form.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: demo
3 | title: Customer Profile - Edit Form (Simple)
4 | header: Customer Profile - Edit Form (Simple)
5 | framework: Twitter Bootstrap
6 | ---
7 |
8 | This example loads data , options and schema parameters through ajax calls.
9 |
10 | {% raw %}
11 |
22 | {% endraw %}
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "form":{
3 | "attributes":{
4 | "action": "http://www.alpacajs.org/endpoints/echo.php",
5 | "method": "post"
6 | },
7 | "buttons":{
8 | "submit":{},
9 | "reset":{}
10 | }
11 | },
12 | "fields":{
13 | "name":{
14 | "hideInitValidationError" : true
15 | },
16 | "photo":{
17 | "type":"file",
18 | "styled": true
19 | },
20 | "member":{
21 | "rightLabel":"Alpaca Club Member"
22 | },
23 | "address":{
24 | "type":"address",
25 | "addressValidation":true
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/simple-options.json:
--------------------------------------------------------------------------------
1 | {
2 | "form":{
3 | "action":"/endpoint"
4 | },
5 | "fields": {
6 | "name":{
7 | "fieldClass":"customer-profile-name",
8 | "hideInitValidationError":true
9 | },
10 | "icecream":{
11 | "fieldClass":"customer-profile-icecream"
12 | },
13 | "photo":{
14 | "readonly":true
15 | },
16 | "age":{
17 | "readonly":true
18 | },
19 | "gender":{
20 | "readonly":true
21 | },
22 | "phone":{
23 | "readonly":true
24 | },
25 | "member":{
26 | "rightLabel": "Alpaca Club Member",
27 | "readonly":true
28 | },
29 | "address":{
30 | "type": "address",
31 | "addressValidation": true,
32 | "readonly":true
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/site/demos/bootstrap/customer-profile/two-column-layout-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{#if options.label}}
{{options.label}} {{/if}}
4 | {{#if options.helper}}{{options.helper}} {{/if}}
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/multi-column-layouts/two-column-layout-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{#if options.label}}
{{options.label}} {{/if}}
4 | {{#if options.helper}}{{options.helper}} {{/if}}
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/quickstart/form.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | padding-top: 70px;
4 | }
5 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/quickstart/layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
My Custom Layout
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/registration/registration-layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Meeting Registration
4 |
5 | Enter your information and verify your information below.
6 |
7 |
8 |
Contact Information
9 |
12 |
13 |
Travel Arrangements
14 |
15 |
16 | Please specify how you would like to book your travel arrangements.
17 |
18 |
19 |
20 |
21 |
22 |
Interests
23 |
24 | At the meeting we will provide the following information to all guests.
25 |
26 |
27 | Your name, institution and email (as entered above):
28 |
29 |
30 |
31 |
32 |
33 | Your website:
34 |
35 |
36 |
37 | Your photo:
38 |
39 |
40 |
41 | Your biography (limit of 250 words):
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/site/demos/bootstrap/registration/registration.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | padding-top: 70px;
4 | }
5 |
--------------------------------------------------------------------------------
/site/demos/jquerymobile/customer-profile/customer-profile-data.json:
--------------------------------------------------------------------------------
1 | {
2 | "name":"Taylor Swift",
3 | "age":"18x",
4 | "gender":"Female",
5 | "member":false,
6 | "icecream":"Chocolate",
7 | "address":{
8 | "street":[
9 | ],
10 | "city":"Burlington",
11 | "state":"MA",
12 | "zip":"18210"
13 | }
14 | }
--------------------------------------------------------------------------------
/site/demos/jquerymobile/customer-profile/customer-profile-options.json:
--------------------------------------------------------------------------------
1 | {
2 | "form" : {
3 | },
4 | "fields" : {
5 | "name": {
6 | "helper": "Enter your full name."
7 | },
8 | "age": {
9 | "helper": "Please enter your age."
10 | },
11 | "member": {
12 | "description": "Are you a member?"
13 | },
14 | "icecream" : {
15 | "name":"icecream"
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/site/demos/jquerymobile/quickstart/form.css:
--------------------------------------------------------------------------------
1 | [data-role=page]{height: 100% !important; position:relative !important;}
2 | [data-role=footer]{bottom:0; position:absolute !important; top: auto !important; width:100%;}
--------------------------------------------------------------------------------
/site/demos/jquerymobile/quickstart/layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
My Custom Layout
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/site/demos/jquerymobile/registration/registration-layout.html:
--------------------------------------------------------------------------------
1 | Meeting Registration
2 |
3 | Enter your information and verify your information below.
4 |
5 |
6 | Contact Information
7 |
10 |
11 | Travel Arrangements
12 |
13 |
14 | Please specify how you would like to book your travel arrangements.
15 |
16 |
17 |
18 |
19 |
20 | Interests
21 |
22 | At the meeting we will provide the following information to all guests.
23 |
24 |
25 | Your name, institution and email (as entered above):
26 |
27 |
28 |
29 |
30 |
31 | Your website:
32 |
33 |
34 |
35 | Your photo:
36 |
37 |
38 |
39 | Your biography (limit of 250 words):
40 |
41 |
42 |
--------------------------------------------------------------------------------
/site/demos/jqueryui/quickstart/form.css:
--------------------------------------------------------------------------------
1 | .ui-widget-content
2 | {
3 | border: 0px !important;
4 | background: none !important;
5 | }
6 |
--------------------------------------------------------------------------------
/site/demos/jqueryui/quickstart/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Alpaca - Quickstart (jQuery UI)
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 |
--------------------------------------------------------------------------------
/site/demos/jqueryui/quickstart/layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
My Custom Layout
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/site/demos/jqueryui/registration/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Alpaca - Registration (jQuery UI)
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 |
--------------------------------------------------------------------------------
/site/demos/jqueryui/registration/registration-layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Meeting Registration
4 |
5 | Enter your information and verify your information below.
6 |
7 |
8 |
Contact Information
9 |
12 |
13 |
Travel Arrangements
14 |
15 |
16 | Please specify how you would like to book your travel arrangements.
17 |
18 |
19 |
20 |
21 |
22 |
Interests
23 |
24 | At the meeting we will provide the following information to all guests.
25 |
26 |
27 | Your name, institution and email (as entered above):
28 |
29 |
30 |
31 |
32 |
33 | Your website:
34 |
35 |
36 |
37 | Your photo:
38 |
39 |
40 |
41 | Your biography (limit of 250 words):
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/site/demos/jqueryui/registration/registration.css:
--------------------------------------------------------------------------------
1 | .ui-widget-content
2 | {
3 | border: 0px !important;
4 | background: none !important;
5 | }
6 |
--------------------------------------------------------------------------------
/site/demos/web/quickstart-listview/form.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | font-size: 16px;
4 | }
5 |
6 | #form label
7 | {
8 | width: 100px;
9 | display: inline-block;
10 | }
--------------------------------------------------------------------------------
/site/demos/web/quickstart-listview/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Alpaca - Quickstart (Standalone)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/site/demos/web/quickstart/form.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | font-size: 16px;
4 | }
5 |
6 | #form label
7 | {
8 | display: block;
9 | }
--------------------------------------------------------------------------------
/site/demos/web/quickstart/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Alpaca - Quickstart (Web)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/site/demos/web/registration/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Alpaca - Registration (Web)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/site/demos/web/registration/registration-layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Meeting Registration
4 |
5 | Enter your information and verify your information below.
6 |
7 |
8 |
Contact Information
9 |
12 |
13 |
Travel Arrangements
14 |
15 |
16 | Please specify how you would like to book your travel arrangements.
17 |
18 |
19 |
20 |
21 |
Interests
22 |
23 | At the meeting we will provide the following information to all guests.
24 |
25 |
26 | Your name, institution and email (as entered above):
27 |
28 |
29 |
30 |
31 |
32 | Your website:
33 |
34 |
35 |
36 | Your photo:
37 |
38 |
39 |
40 | Your biography (limit of 250 words):
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/site/demos/web/registration/registration.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | font-size: 16px;
4 | }
5 |
6 | #form label
7 | {
8 | width: 200px;
9 | display: inline-block;
10 | }
--------------------------------------------------------------------------------
/site/docs/api/cookbook.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-api
3 | title: Cookbook
4 | header: Cookbook
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | Here we collect a series of odds and ends related to the kinds of common things you might do with Alpaca.
11 | You might consider this a collection of best practices though certainly not the only way to do things.
12 |
13 | ## Refreshing a Form
14 |
15 | If you render a form at some point decide that you want to refresh it, you can use the get
special function to acquire the Alpaca control and the refresh
16 | method to do the deed.
17 |
18 | You might try something like this:
19 |
20 |
21 | {% raw %}
22 |
34 | {% endraw %}
35 |
36 |
--------------------------------------------------------------------------------
/site/docs/api/layouts-example1-template.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/docs/api/layouts-example2-template.html:
--------------------------------------------------------------------------------
1 |
2 | {{#if options.label}}
3 |
4 |
5 |
{{options.label}}
6 |
7 |
8 | {{/if}}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | {{#if options.helper}}
20 |
21 |
22 |
{{options.helper}}
23 |
24 |
25 | {{/if}}
26 |
27 |
28 |
--------------------------------------------------------------------------------
/site/docs/api/layouts-example3-template.html:
--------------------------------------------------------------------------------
1 |
2 | {{#if options.label}}
3 |
4 |
5 |
{{options.label}}
6 |
7 |
8 | {{/if}}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 | {{#if options.helper}}
26 |
27 |
28 |
{{options.helper}}
29 |
30 |
31 | {{/if}}
32 |
33 |
34 |
--------------------------------------------------------------------------------
/site/docs/api/templates-example2-template.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/docs/api/templates-example3-control-text.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/docs/api/templates-example3-control.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/docs/api/wizards-example2-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/site/docs/api/wizards-example3-template.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
13 |
14 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/site/docs/api/wizards-example4-template.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/site/docs/fields/any.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Any Field
4 | header: Any Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```any``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | Text field will be rendered for any data type if options parameter is not provided for the actual control field type.
17 | Check out Combo Field Example for how to render any data type with user specified control field.
18 |
19 | {% raw %}
20 |
29 | {% endraw %}
30 |
31 |
32 | ## Example 2
33 | The Any field rendered in a display-only mode.
34 |
35 | {% raw %}
36 |
46 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/email.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Email Field
4 | header: Email Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```email``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | Email field.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | Email field rendered in display-only mode.
32 |
33 | {% raw %}
34 |
46 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/ipv4.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: IPv4 Field
4 | header: IPv4 Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```ipv4``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | IP address field.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | IP address field rendered in display-only mode.
32 |
33 | {% raw %}
34 |
46 | {% endraw %}
47 |
--------------------------------------------------------------------------------
/site/docs/fields/json.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: JSON Field
4 | header: JSON Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```json``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | JSON Editor field with valid json.
17 |
18 | {% raw %}
19 |
34 | {% endraw %}
35 |
36 |
37 | ## Example 2
38 | JSON Editor field rendered in display-only mode.
39 |
40 | {% raw %}
41 |
58 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/lowercase.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Lower Case Field
4 | header: Lower Case Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```lowercase``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | Lower case field.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | Lower case field rendered in a display-only view.
32 |
33 | {% raw %}
34 |
43 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/password.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Password Field
4 | header: Password Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```password``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | Password field.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | Password field in display-only mode.
32 |
33 | {% raw %}
34 |
46 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/personalname.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Personal Name Field
4 | header: Personal Name Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```personalname``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | Personal name field.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | Personal name field in display-only mode.
32 |
33 | {% raw %}
34 |
44 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/phone.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Phone Field
4 | header: Phone Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```phone``` field.
11 |
12 | This editor field requires jQuery Masked Input Plugin
13 |
14 |
15 |
16 |
17 | ## Example 1
18 | Phone field with input mask.
19 |
20 | {% raw %}
21 |
29 | {% endraw %}
30 |
31 |
32 | ## Example 2
33 | Phone field with in display-only model.
34 |
35 | {% raw %}
36 |
48 | {% endraw %}
49 |
--------------------------------------------------------------------------------
/site/docs/fields/tag.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Tag Field
4 | header: Tag Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```tag``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | Tag field with valid input.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | Tag field in a display-only view.
32 |
33 | {% raw %}
34 |
43 | {% endraw %}
--------------------------------------------------------------------------------
/site/docs/fields/test.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Array Field
4 | header: Array Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | Test
11 |
12 |
13 | {% raw %}
14 |
42 | {% endraw %}
43 |
44 |
45 |
--------------------------------------------------------------------------------
/site/docs/fields/tinymce.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: TinyMCE Field
4 | header: TinyMCE Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```tinymce``` field.
11 |
12 | The TinyMCE Field renders the Tiny MCE editor control to allow users to visually work with HTML
13 | and save the results back into a text property.
14 |
15 |
16 |
17 |
18 | ## Requirements
19 | The TinymCE Editor field depends on the TinyMCE library. You can acquire this library from
20 | http://www.tinymce.com/ . This must be included in your page ahead of the control
21 | loading in order for this to work properly.
22 |
23 |
24 | ## Example 1
25 | A simple example of the Tiny MCE Editor at work.
26 |
27 | {% raw %}
28 |
36 | {% endraw %}
37 |
--------------------------------------------------------------------------------
/site/docs/fields/uppercase.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: documentation-field
3 | title: Upper Case Field
4 | header: Upper Case Field
5 | group: navigation
6 | tags: field
7 | ---
8 | {% include JB/setup %}
9 |
10 | The ```uppercase``` field.
11 |
12 |
13 |
14 |
15 | ## Example 1
16 | The upper case field will automatically format any input to upper-case.
17 |
18 | {% raw %}
19 |
27 | {% endraw %}
28 |
29 |
30 | ## Example 2
31 | This example uses a display-only view to show the value.
32 |
33 | {% raw %}
34 |
46 | {% endraw %}
--------------------------------------------------------------------------------
/site/endpoints/echo.php:
--------------------------------------------------------------------------------
1 | ');
4 | print_r($_POST);
5 | print('');
6 |
7 | ?>
--------------------------------------------------------------------------------
/site/endpoints/info.php:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/site/endpoints/save.php:
--------------------------------------------------------------------------------
1 | ' . "name :" . $name ." feedback :" . $feedback . " ranking:" .$ranking;
7 | echo $msg;
8 | ?>
--------------------------------------------------------------------------------
/site/endpoints/save2.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/endpoints/typeahead-sample.php:
--------------------------------------------------------------------------------
1 | $value)
13 | {
14 | array_push($list, $value);
15 | }
16 |
17 | $count = 0;
18 | echo "[";
19 | foreach ($list as $key => $value)
20 | {
21 | $valid = 1;
22 |
23 | if (strlen($q) > 0)
24 | {
25 | if (!startsWith(strtolower($value), strtolower($q)))
26 | {
27 | $valid = 0;
28 | }
29 | }
30 |
31 | if ($valid)
32 | {
33 | if ($count > 0) {
34 | echo ",";
35 | }
36 | echo "{\"name\":\"".$value."\", \"value\":\"".$value."\"}";
37 | $count++;
38 | }
39 | }
40 | echo "]";
41 | ?>
--------------------------------------------------------------------------------
/site/fileupload/index.php:
--------------------------------------------------------------------------------
1 | true,
16 | 'download_via_php2' => true,
17 | 'upload_dir2' => 'files',
18 | 'param_name' => 'files'
19 | ));
--------------------------------------------------------------------------------
/site/images/bootstrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/bootstrap.png
--------------------------------------------------------------------------------
/site/images/chunio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/chunio.png
--------------------------------------------------------------------------------
/site/images/cloud/cloudcms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/cloud/cloudcms.png
--------------------------------------------------------------------------------
/site/images/cloud/collaboration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/cloud/collaboration.png
--------------------------------------------------------------------------------
/site/images/cloud/formbuilder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/cloud/formbuilder.png
--------------------------------------------------------------------------------
/site/images/cloud/json.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/cloud/json.png
--------------------------------------------------------------------------------
/site/images/cloud/wizard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/cloud/wizard.png
--------------------------------------------------------------------------------
/site/images/club-logos/Anzhi-Makhachkla.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Anzhi-Makhachkla.png
--------------------------------------------------------------------------------
/site/images/club-logos/Arsenal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Arsenal.png
--------------------------------------------------------------------------------
/site/images/club-logos/Atletico-Madrid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Atletico-Madrid.png
--------------------------------------------------------------------------------
/site/images/club-logos/Barcelona.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Barcelona.png
--------------------------------------------------------------------------------
/site/images/club-logos/Bayern-Munich.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Bayern-Munich.png
--------------------------------------------------------------------------------
/site/images/club-logos/Benfica.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Benfica.png
--------------------------------------------------------------------------------
/site/images/club-logos/Borussia-Dortmund.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Borussia-Dortmund.png
--------------------------------------------------------------------------------
/site/images/club-logos/Chelsea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Chelsea.png
--------------------------------------------------------------------------------
/site/images/club-logos/Eintracht-Frankfurt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Eintracht-Frankfurt.png
--------------------------------------------------------------------------------
/site/images/club-logos/FC-Porto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/FC-Porto.png
--------------------------------------------------------------------------------
/site/images/club-logos/FC-Twente.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/FC-Twente.png
--------------------------------------------------------------------------------
/site/images/club-logos/Juventus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Juventus.png
--------------------------------------------------------------------------------
/site/images/club-logos/Malaga.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Malaga.png
--------------------------------------------------------------------------------
/site/images/club-logos/Manchester-City.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Manchester-City.png
--------------------------------------------------------------------------------
/site/images/club-logos/Manchester-United.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Manchester-United.png
--------------------------------------------------------------------------------
/site/images/club-logos/Marseille.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Marseille.png
--------------------------------------------------------------------------------
/site/images/club-logos/Napoli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Napoli.png
--------------------------------------------------------------------------------
/site/images/club-logos/Paris-Saint-Germain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Paris-Saint-Germain.png
--------------------------------------------------------------------------------
/site/images/club-logos/Real-Madrid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Real-Madrid.png
--------------------------------------------------------------------------------
/site/images/club-logos/Shakhtar-Donetsk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Shakhtar-Donetsk.png
--------------------------------------------------------------------------------
/site/images/club-logos/Tottenham-Hotspur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/club-logos/Tottenham-Hotspur.png
--------------------------------------------------------------------------------
/site/images/community/biogen-idec-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/biogen-idec-150.png
--------------------------------------------------------------------------------
/site/images/community/cloudcms-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/cloudcms-150.png
--------------------------------------------------------------------------------
/site/images/community/evolved-media-solutions-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/evolved-media-solutions-150.png
--------------------------------------------------------------------------------
/site/images/community/fii-inc-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/fii-inc-150.png
--------------------------------------------------------------------------------
/site/images/community/fox-entertainment-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/fox-entertainment-150.png
--------------------------------------------------------------------------------
/site/images/community/fx-networks-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/fx-networks-150.png
--------------------------------------------------------------------------------
/site/images/community/iilab-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/iilab-150.png
--------------------------------------------------------------------------------
/site/images/community/pearson-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/pearson-150.png
--------------------------------------------------------------------------------
/site/images/community/sony-150.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/sony-150.jpg
--------------------------------------------------------------------------------
/site/images/community/sprint-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/sprint-150.png
--------------------------------------------------------------------------------
/site/images/community/trinet-150.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/trinet-150.jpg
--------------------------------------------------------------------------------
/site/images/community/virgin-mobile-150.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/community/virgin-mobile-150.jpg
--------------------------------------------------------------------------------
/site/images/icons/advisory-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/advisory-128.png
--------------------------------------------------------------------------------
/site/images/icons/advisory-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/advisory-32.png
--------------------------------------------------------------------------------
/site/images/icons/advisory-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/advisory-64.png
--------------------------------------------------------------------------------
/site/images/icons/consulting-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/consulting-128.png
--------------------------------------------------------------------------------
/site/images/icons/consulting-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/consulting-32.png
--------------------------------------------------------------------------------
/site/images/icons/consulting-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/consulting-64.png
--------------------------------------------------------------------------------
/site/images/icons/support-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/support-128.png
--------------------------------------------------------------------------------
/site/images/icons/support-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/support-32.png
--------------------------------------------------------------------------------
/site/images/icons/support-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/support-64.png
--------------------------------------------------------------------------------
/site/images/icons/training-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/training-128.png
--------------------------------------------------------------------------------
/site/images/icons/training-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/training-32.png
--------------------------------------------------------------------------------
/site/images/icons/training-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/icons/training-64.png
--------------------------------------------------------------------------------
/site/images/john-mcclaine.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/john-mcclaine.jpg
--------------------------------------------------------------------------------
/site/images/jquery-mobile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/jquery-mobile.png
--------------------------------------------------------------------------------
/site/images/jquery-ui.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/jquery-ui.jpg
--------------------------------------------------------------------------------
/site/images/meetups/AlpacaAUS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/meetups/AlpacaAUS.png
--------------------------------------------------------------------------------
/site/images/meetups/AlpacaCLE.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/meetups/AlpacaCLE.jpeg
--------------------------------------------------------------------------------
/site/images/step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/step-1.png
--------------------------------------------------------------------------------
/site/images/step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/step-2.png
--------------------------------------------------------------------------------
/site/images/step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/step-3.png
--------------------------------------------------------------------------------
/site/images/step-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/step-4.png
--------------------------------------------------------------------------------
/site/images/step-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/step-5.png
--------------------------------------------------------------------------------
/site/images/step-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/step-6.png
--------------------------------------------------------------------------------
/site/images/supported-yes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/site/images/supported-yes.png
--------------------------------------------------------------------------------
/site/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "App",
3 | "icons": [
4 | {
5 | "src": "\/alpaca-icons\/android-icon-36x36.png",
6 | "sizes": "36x36",
7 | "type": "image\/png",
8 | "density": "0.75"
9 | },
10 | {
11 | "src": "\/alpaca-icons\/android-icon-48x48.png",
12 | "sizes": "48x48",
13 | "type": "image\/png",
14 | "density": "1.0"
15 | },
16 | {
17 | "src": "\/alpaca-icons\/android-icon-72x72.png",
18 | "sizes": "72x72",
19 | "type": "image\/png",
20 | "density": "1.5"
21 | },
22 | {
23 | "src": "\/alpaca-icons\/android-icon-96x96.png",
24 | "sizes": "96x96",
25 | "type": "image\/png",
26 | "density": "2.0"
27 | },
28 | {
29 | "src": "\/alpaca-icons\/android-icon-144x144.png",
30 | "sizes": "144x144",
31 | "type": "image\/png",
32 | "density": "3.0"
33 | },
34 | {
35 | "src": "\/alpaca-icons\/android-icon-192x192.png",
36 | "sizes": "192x192",
37 | "type": "image\/png",
38 | "density": "4.0"
39 | }
40 | ]
41 | }
--------------------------------------------------------------------------------
/site/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 | sitemap: http://www.alpacajs.org/sitemap.xml
--------------------------------------------------------------------------------
/site/sitemap.txt:
--------------------------------------------------------------------------------
1 | ---
2 | # Remember to set production_url in your _config.yml file!
3 | title : Sitemap
4 | ---
5 | {% for page in site.pages %}
6 | {{site.production_url}}{{ page.url }}{% endfor %}
7 | {% for post in site.posts %}
8 | {{site.production_url}}{{ post.url }}{% endfor %}
--------------------------------------------------------------------------------
/site/sitemap.xml:
--------------------------------------------------------------------------------
1 | ---
2 | layout: nil
3 | ---
4 |
5 |
6 |
7 | {% for page in site.pages %}
8 |
9 | {{ site.production_url }}{{ page.url }}
10 | {% if page.sitemap != null and page.sitemap != empty %}
11 | {{ page.sitemap.priority }}
12 | {% else %}
13 | 0.5000
14 | {% endif %}
15 |
16 | {% endfor %}
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/css/alpaca-jquerymobile.css:
--------------------------------------------------------------------------------
1 | .alpaca-helper
2 | {
3 | opacity: 0.5;
4 | }
5 |
6 | .alpaca-message
7 | {
8 | opacity: 0.5;
9 | }
10 |
11 | .alpaca-invalid .alpaca-message
12 | {
13 | color: #a94442;
14 | opacity: 1.0;
15 | }
16 |
17 | .alpaca-invalid p, .alpaca-invalid select, .alpaca-invalid label
18 | {
19 | color: #a94442;
20 | }
21 |
22 | .alpaca-invalid input
23 | {
24 | border-color: #a94442 !important;
25 | color: #a94442;
26 | }
27 |
28 |
29 | .alpaca-jqm-icon
30 | {
31 | position: relative;
32 | height: 32px;
33 | width: 32px;
34 | left: -12px;
35 | top: 0px;
36 | }
37 |
38 | button.alpaca-array-actionbar-action
39 | {
40 | height: 32px;
41 | width: 32px;
42 | }
43 |
44 | button.alpaca-array-actionbar-action:hover
45 | {
46 | cursor:hand;
47 | }
48 |
49 | div.alpaca-array-actionbar
50 | {
51 | padding-bottom: 4px;
52 | }
--------------------------------------------------------------------------------
/src/css/alpaca-web.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/alpaca-web.css
--------------------------------------------------------------------------------
/src/css/images/alpaca-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/alpaca-icons.png
--------------------------------------------------------------------------------
/src/css/images/date.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/date.png
--------------------------------------------------------------------------------
/src/css/images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/down.png
--------------------------------------------------------------------------------
/src/css/images/email.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/email.png
--------------------------------------------------------------------------------
/src/css/images/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/left.png
--------------------------------------------------------------------------------
/src/css/images/phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/phone.png
--------------------------------------------------------------------------------
/src/css/images/time.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/css/images/time.png
--------------------------------------------------------------------------------
/src/js/ScopedObservables.js:
--------------------------------------------------------------------------------
1 | (function($)
2 | {
3 | var Alpaca = $.alpaca;
4 |
5 | Alpaca.ScopedObservables = {};
6 | Alpaca.ScopedObservables.map = {};
7 |
8 | Alpaca.ScopedObservables.get = function(scope)
9 | {
10 | if (!Alpaca.ScopedObservables.map[scope])
11 | {
12 | Alpaca.ScopedObservables.map[scope] = new Alpaca.Observables(scope);
13 | }
14 |
15 | return Alpaca.ScopedObservables.map[scope];
16 | };
17 |
18 | })(jQuery);
19 |
--------------------------------------------------------------------------------
/src/js/cache/null.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | var Alpaca = $.alpaca;
4 |
5 | Alpaca.NullCache = function(config)
6 | {
7 | return function(k, v, ttl)
8 | {
9 | if (v) {
10 | return v;
11 | }
12 |
13 | return undefined;
14 | };
15 | };
16 |
17 | Alpaca.registerCache("null", Alpaca.NullCache);
18 |
19 | })(jQuery);
20 |
--------------------------------------------------------------------------------
/src/js/fields/advanced/ImageField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | var Alpaca = $.alpaca;
4 |
5 | Alpaca.Fields.ImageField = Alpaca.Fields.TextField.extend(
6 | /**
7 | * @lends Alpaca.Fields.ImageField.prototype
8 | */
9 | {
10 | /**
11 | * @see Alpaca.Fields.TextField#getFieldType
12 | */
13 | getFieldType: function() {
14 | return "image";
15 | }
16 |
17 | /* builder_helpers */
18 | ,
19 |
20 | /**
21 | * @see Alpaca.Fields.TextField#getTitle
22 | */
23 | getTitle: function() {
24 | return "Image Field";
25 | },
26 |
27 | /**
28 | * @see Alpaca.Fields.TextField#getDescription
29 | */
30 | getDescription: function() {
31 | return "Image Field.";
32 | }
33 |
34 | /* end_builder_helpers */
35 | });
36 |
37 | Alpaca.registerFieldClass("image", Alpaca.Fields.ImageField);
38 |
39 | })(jQuery);
40 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-display/control-chooser.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-display/control-radio.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-display/control-select.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-display/control.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-display/message.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-edit/container-grid.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-edit/container-table.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-edit/control-colorpicker.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/bootstrap-edit/message.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-display/container.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-display/control.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/container-grid.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/container-object.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/container.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/control-checkbox.html:
--------------------------------------------------------------------------------
1 |
26 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/control-radio.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/control.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jquerymobile-edit/message.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jqueryui-display/empty.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/jqueryui-edit/empty.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gitana/alpaca/61b927568783b0174ec0e1ff7207f610968cb861/src/templates/jqueryui-edit/empty.txt
--------------------------------------------------------------------------------
/src/templates/web-display/container-array-item.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-array.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-object-item.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-object.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-table-item.html:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-table.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-tablerow-item.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-display/container-tablerow.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/container.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-any.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-checkbox.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-hidden.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-image.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-markdown.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-password.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-radio.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-select.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-text.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-textarea.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control-url.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-display/control.html:
--------------------------------------------------------------------------------
1 |
36 |
--------------------------------------------------------------------------------
/src/templates/web-display/form.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-array-actionbar.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-array-toolbar.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-array.html:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-object-item.html:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-object.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-table-item.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-table.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-tablerow-item.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container-tablerow.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/container.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-any.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-checkbox.html:
--------------------------------------------------------------------------------
1 |
38 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-ckeditor.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-contenteditable.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-editor.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-file.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-hidden.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-image.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-optiontree.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-password.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-radio.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-select.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-text.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-textarea.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/control-url.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/form.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/templates/web-edit/message.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test'em
5 |
6 |
17 |
18 |
19 |
20 | {{#serve_files}}
21 |
22 | {{/serve_files}}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/big1/big.js:
--------------------------------------------------------------------------------
1 | var showCounters = function(counters)
2 | {
3 | counters.each(function(type, counter) {
4 | console.log("Type: " + type + ", count: " + counter.count + ", total: " + counter.total + ", avg: " + counter.avg);
5 | });
6 | console.log("All count: " + counters.all().count);
7 | console.log("All total: " + counters.all().total);
8 | console.log("All avg: " + counters.all().avg);
9 | console.log("");
10 | };
11 |
12 | $(document).ready(function() {
13 |
14 | Alpaca.collectTiming = true;
15 |
16 | var time1 = new Date().getTime();
17 | $("#field1").alpaca({
18 | "dataSource": "./data.json",
19 | "optionsSource": "./options.json",
20 | "schemaSource": "./schema.json",
21 | "postRender": function(renderedField) {
22 |
23 | var time2 = new Date().getTime();
24 |
25 | console.log("Render took: " + (time2-time1) + " ms");
26 |
27 | // COUNTER: "render" (text = 3.84)
28 | console.log("Counter: render");
29 | showCounters(Alpaca.Counters("render"));
30 |
31 | // COUNTER: "tmpl" (text = 2.07)
32 | console.log("Counter: tmpl");
33 | showCounters(Alpaca.Counters("tmpl"));
34 |
35 | // remaining = 1.77
36 | }
37 | });
38 |
39 | });
40 |
--------------------------------------------------------------------------------
/tests/big1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Big Form Speed Test #1
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/tests/big2/connector.js:
--------------------------------------------------------------------------------
1 | var connector = Alpaca.Connector.extend({
2 |
3 | /**
4 | * When resources are loaded by name, convert to uri.
5 | *
6 | * @param resource
7 | * @param successCallback
8 | * @param errorCallback
9 | * @returns {*}
10 | */
11 | loadReferenceSchema: function(resource, successCallback, errorCallback) {
12 | if (typeof(resource) == "string") {
13 | arr = resource.split("#")
14 | arr[0] = this.adjustPath(arr[0], "./schema/")
15 | }
16 | return this.base(arr.join("#"), successCallback, errorCallback);
17 | },
18 |
19 | /**
20 | * When resources are loaded by name, convert to uri.
21 | *
22 | * @param resource
23 | * @param successCallback
24 | * @param errorCallback
25 | * @returns {*}
26 | */
27 | loadReferenceOptions: function(resource, successCallback, errorCallback) {
28 | if (typeof(resource) == "string") {
29 | arr = resource.split("#")
30 | arr[0] = this.adjustPath(arr[0], "./options/")
31 | }
32 | return this.base(arr.join("#"), successCallback, errorCallback);
33 | },
34 |
35 | adjustPath: function(res, base) {
36 | res = base + res;
37 | if (res.indexOf(".json") == -1) {
38 | res += ".json"
39 | }
40 | return res;
41 | }
42 |
43 | });
44 |
45 | Alpaca.registerConnectorClass("default", connector);
46 |
--------------------------------------------------------------------------------
/tests/big2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Big Form Speed Test #2
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Run
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/big2/options/delivery_record.json:
--------------------------------------------------------------------------------
1 | {
2 | "fields": {
3 | "delivery_location": {
4 | "label": "Location of delivery",
5 | "type": "select"
6 | },
7 | "delivery_mode": {
8 | "label": "Mode of delivery",
9 | "type": "select"
10 | },
11 | "prenatal_problems": {
12 | "label": "Prenatal problems",
13 | "type": "checkbox"
14 | },
15 | "childbirth_complications": {
16 | "label": "Childbirth complications",
17 | "type": "checkbox"
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/tests/big2/options/immunization.json:
--------------------------------------------------------------------------------
1 | {
2 | "fields": {
3 | "vaccine_dispensed": {
4 | "label": "Medication Dispensed:",
5 | "type": "checkbox"
6 | },
7 | "vaccine_effect": {
8 | "label": "Immediate Effect of Vaccination:",
9 | "type": "select"
10 | },
11 | "vaccine_other_reaction": {
12 | "label": "If Other Vaccine Reaction, Please Describe:"
13 | },
14 | "anaphylaxis": {
15 | "label": "Anaphylaxis Present?",
16 | "type": "radio",
17 | "enum": [
18 | "Yes",
19 | "No"
20 | ],
21 | "removeDefaultNone": true
22 | },
23 | "side_effect_counseling": {
24 | "label": "Describe Any Counseling Given Regarding Side-Effects:",
25 | "type": "textarea"
26 | },
27 | "pregnant": {
28 | "label": "Pregnant?",
29 | "type": "radio",
30 | "enum": [
31 | "Yes",
32 | "No"
33 | ],
34 | "removeDefaultNone": true
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/tests/big2/options/tb_leprosy.json:
--------------------------------------------------------------------------------
1 | {
2 | "fields": {
3 | "diagnosis": {
4 | "label": "Diagnosis",
5 | "type": "checkbox"
6 | },
7 | "leprosy_classification": {
8 | "label": "Leprosy classification",
9 | "type": "select"
10 | },
11 | "leprosy_status": {
12 | "label": "Leprosy status",
13 | "type": "select"
14 | },
15 | "leprosy_disability": {
16 | "label": "Leprosy disability",
17 | "type": "select"
18 | },
19 | "leprosy_result": {
20 | "label": "Leprosy end result",
21 | "type": "select"
22 | },
23 | "coritosteroid_treatment": {
24 | "label": "Treated with corticosteroids?",
25 | "type": "radio",
26 | "enum": [
27 | "Yes",
28 | "No"
29 | ],
30 | "removeDefaultNone": true
31 | },
32 | "tb_classification": {
33 | "label": "TB classification",
34 | "type": "radio"
35 | },
36 | "tb_regimen": {
37 | "label": "TB regimen",
38 | "type": "select"
39 | }
40 | }
41 | }
--------------------------------------------------------------------------------
/tests/big2/schema/bodily_injury.json:
--------------------------------------------------------------------------------
1 | {
2 | "class": "schema",
3 | "title": "Bodily Injury",
4 | "_id": "bodily_injury",
5 | "type": "object",
6 | "properties": {
7 | "injury_date": {
8 | "type": "string"
9 | },
10 | "injury_type": {
11 | "type": "string",
12 | "$ref": "lists/#injuries"
13 | },
14 | "injury_other": {
15 | "type": "string"
16 | },
17 | "testing_method": {
18 | "type": "string"
19 | },
20 | "treatment": {
21 | "type": "string",
22 | "$ref": "lists/#injury_treatments"
23 | },
24 | "treatment_other": {
25 | "type": "string"
26 | },
27 | "admission": {
28 | "type": "string",
29 | "enum": [
30 | "Yes",
31 | "No"
32 | ]
33 | },
34 | "injury_mortality": {
35 | "type": "string",
36 | "enum": [
37 | "Yes",
38 | "No"
39 | ]
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/tests/big2/schema/delivery_record.json:
--------------------------------------------------------------------------------
1 | {
2 | "class": "schema",
3 | "title": "Delivery Record",
4 | "_id": "delivery_record",
5 | "type": "object",
6 | "properties": {
7 | "delivery_location": {
8 | "type": "string",
9 | "$ref": "lists/#delivery_type"
10 | },
11 | "delivery_mode": {
12 | "type": "string",
13 | "$ref": "lists/#delivery_mode"
14 | },
15 | "prenatal_problems": {
16 | "type": "string",
17 | "$ref": "lists/#prenatal_prob"
18 | },
19 | "childbirth_complications": {
20 | "type": "string",
21 | "$ref": "lists/#birth_comp"
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/tests/big2/schema/immunization.json:
--------------------------------------------------------------------------------
1 | {
2 | "class": "schema",
3 | "title": "Immunization/Post-Immunization",
4 | "_id": "immunization",
5 | "type": "object",
6 | "properties": {
7 | "vaccine_dispensed": {
8 | "type": "string",
9 | "$ref": "lists/#immunizations"
10 | },
11 | "vaccine_effect": {
12 | "type": "string",
13 | "$ref": "lists/#immunization_effects"
14 | },
15 | "vaccine_other_reaction": {
16 | "type": "string"
17 | },
18 | "anaphylaxis": {
19 | "type": "string",
20 | "enum": [
21 | "Yes",
22 | "No"
23 | ]
24 | },
25 | "side_effect_counseling": {
26 | "type": "string"
27 | },
28 | "pregnant": {
29 | "type": "string",
30 | "enum": [
31 | "Yes",
32 | "No"
33 | ]
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/tests/big2/schema/tb_leprosy.json:
--------------------------------------------------------------------------------
1 | {
2 | "class": "schema",
3 | "title": "TB and Leprosy",
4 | "_id": "tb_leprosy",
5 | "type": "object",
6 | "properties": {
7 | "diagnosis": {
8 | "type": "string",
9 | "$ref": "lists/#leprosy_diagnoses"
10 | },
11 | "leprosy_classification": {
12 | "type": "string",
13 | "$ref": "lists/#leprosy_classifications"
14 | },
15 | "leprosy_status": {
16 | "type": "string",
17 | "$ref": "lists/#leprosy_statuses"
18 | },
19 | "leprosy_disability": {
20 | "type": "string",
21 | "$ref": "lists/#leprosy_disabilities"
22 | },
23 | "leprosy_result": {
24 | "type": "string",
25 | "$ref": "lists/#leprosy_results"
26 | },
27 | "coritosteroid_treatment": {
28 | "type": "string",
29 | "enum": [
30 | "Yes",
31 | "No"
32 | ]
33 | },
34 | "tb_classification": {
35 | "type": "string",
36 | "$ref": "lists/#tb_classifications"
37 | },
38 | "tb_regimen": {
39 | "type": "string",
40 | "$ref": "lists/#tb_regimens"
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/tests/dojo/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "name":"Betty Icecream Lover",
3 | "age":10,
4 | "gender":"Female",
5 | "photo":"./betty-girl.jpg",
6 | "member":true,
7 | "icecream":"Chocolate",
8 | "phone":"(123)456-7890",
9 | "address":{
10 | "street":[
11 | "100 Main Street",
12 | "Suite 200"
13 | ],
14 | "city":"Burlington",
15 | "state":"MA",
16 | "zip":"18210"
17 | }
18 | }
--------------------------------------------------------------------------------
/tests/dojo/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "form":{
3 | "attributes":{
4 | "action": "http://www.alpacajs.org/endpoints/echo.php",
5 | "method": "post"
6 | },
7 | "buttons":{
8 | "submit":{},
9 | "reset":{}
10 | }
11 | },
12 | "fields":{
13 | "name":{
14 | "hideInitValidationError" : true
15 | },
16 | "photo":{
17 | "type":"file",
18 | "styled": true
19 | },
20 | "member":{
21 | "rightLabel":"Alpaca Club Member"
22 | },
23 | "address":{
24 | "type":"address",
25 | "addressValidation":true
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/tests/dojo/view.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "VIEW_WEB_EDIT_LAYOUT_TWO_COLUMN"
3 | }
4 |
--------------------------------------------------------------------------------
/tests/js/fields/AnyField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("fields: any", {
4 | "setup": function() {
5 | $("#qunit-fixture").append('
');
6 | },
7 | "teardown": function() {
8 | $("#any-fixture").remove();
9 | }
10 | });
11 |
12 | // Test case 1 : Any field with data and schema.
13 | test("Any field with data and schema", function() {
14 | stop();
15 | $("#any-fixture").alpaca({
16 | "view": "bootstrap-edit",
17 | "data": "I Love Alpaca Ice Cream!",
18 | "schema": {
19 | "title": "Ice Cream",
20 | "type": "any"
21 | },
22 | "postRender": function (renderedField) {
23 | expect(4);
24 | var inputElem = $('#any-fixture input:text');
25 | ok(inputElem.length, 'Text input field generated.');
26 | equal(inputElem.val(), 'I Love Alpaca Ice Cream!', 'Input field value populated correctly.');
27 | var labelElem = $('#any-fixture .alpaca-control-label');
28 | ok(labelElem.length, 'Input field label generated.');
29 | equal(labelElem.text(), 'Ice Cream', 'Label text populated correctly.');
30 | start();
31 | }
32 | });
33 | });
34 |
35 | }(jQuery) );
36 |
--------------------------------------------------------------------------------
/tests/js/fields/LowerCaseField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("fields: lowercase");
4 |
5 | // Test case 1 : Lower case field.
6 | test("Lower case field.", function() {
7 | stop();
8 | $("#lowercase-1").alpaca({
9 | "data": "Ice Cream Is Wonderful.",
10 | "schema": {
11 | "format": "lowercase"
12 | },
13 | "postRender": function (renderedField) {
14 | expect(4);
15 | equal(renderedField.getValue(), "ice cream is wonderful.", 'Select field getValue() method returns correct value.');
16 | var inputElem = $('#lowercase-1 input:text');
17 | ok(inputElem.length, 'Text input field generated.');
18 | equal(inputElem.val(), "ice cream is wonderful.", "Text input field value populated correctly.");
19 | inputElem.val('ICE CREAM');
20 | inputElem.keypress(function() {
21 | Alpaca.later(50, renderedField, function() {
22 | equal(inputElem.val(), "ice cream", "Text input converted to lower case automatically.");
23 | start();
24 | });
25 | });
26 | inputElem.keypress();
27 | }
28 | });
29 | });
30 |
31 | }(jQuery) );
--------------------------------------------------------------------------------
/tests/js/fields/PasswordField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("fields: password");
4 |
5 | // Test case 1 : Password field.
6 | test("Password field.", function() {
7 | stop();
8 | $("#password-1").alpaca({
9 | "data": "password",
10 | "schema": {
11 | "format": "password"
12 | },
13 | "postRender": function (renderedField) {
14 | expect(3);
15 | equal(renderedField.getValue(), "password", 'Password field getValue() method returns correct value.');
16 | var inputElem = $('#password-1 input:password');
17 | ok(inputElem.length, 'Password input field generated.');
18 | equal(inputElem.val(), "password", "Password input field value populated correctly.");
19 | start();
20 | }
21 | });
22 | });
23 |
24 | }(jQuery) );
--------------------------------------------------------------------------------
/tests/js/fields/TagField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("fields: tag");
4 |
5 | // Test case 1 : Upper case field.
6 | test("Tag field.", function() {
7 | stop();
8 | $("#tag-1").alpaca({
9 | "data": ["tag1","Tag2 "," tAg3"],
10 | "options": {
11 | "type": "tag"
12 | },
13 | "postRender": function (renderedField) {
14 | expect(5);
15 | var inputElem = $('#tag-1 input:text');
16 | ok(inputElem.length, 'Text input field generated.');
17 | inputElem.blur();
18 | same(renderedField.getValue(), ["tag1","tag2","tag3"], 'Tag field getValue() methods returns expected value.');
19 | equal(inputElem.val(), "tag1,tag2,tag3", "Text input field value populated correctly.");
20 | inputElem.val('new taG1, new TAG2, new tag3 ');
21 | inputElem.blur();
22 | equal(inputElem.val(), "new tag1,new tag2,new tag3", "Text input field value populated correctly after user input.");
23 | same(renderedField.getValue(), ["new tag1","new tag2","new tag3"], 'Tag field getValue() methods returns expected value.');
24 | start();
25 | }
26 | });
27 | });
28 |
29 | }(jQuery) );
--------------------------------------------------------------------------------
/tests/js/fields/UpperCaseField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("fields: uppercase");
4 |
5 | // Test case 1 : Upper case field.
6 | test("Upper case field.", function() {
7 | stop();
8 | $("#uppercase-1").alpaca({
9 | "data": "Ice cream is wonderful.",
10 | "schema": {
11 | "format": "uppercase"
12 | },
13 | "postRender": function (renderedField) {
14 | expect(4);
15 | equal(renderedField.getValue(), "ICE CREAM IS WONDERFUL.", 'Select field getValue() method returns correct value.');
16 | var inputElem = $('#uppercase-1 input:text');
17 | ok(inputElem.length, 'Text input field generated.');
18 | equal(inputElem.val(), "ICE CREAM IS WONDERFUL.", "Text input field value populated correctly.");
19 | inputElem.val('ice cream');
20 | inputElem.keypress(function() {
21 | Alpaca.later(50, renderedField, function() {
22 | equal(inputElem.val(), "ICE CREAM", "Text input converted to upper case automatically.");
23 | start();
24 | });
25 | });
26 | inputElem.keypress();
27 | }
28 | });
29 | });
30 |
31 | }(jQuery) );
--------------------------------------------------------------------------------
/tests/js/fields/WysiwygField.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("fields: wysiwyg");
4 |
5 | // Test case 1 : Wysiwyg editor.
6 | test("Wysiwyg editor.", function() {
7 | stop();
8 | var data = "Ice cream or ice-cream is a frozen dessert usually made from dairy products, such as milk and cream, and often combined with fruits or other ingredients and flavours.";
9 | $("#wysiwyg-1").alpaca({
10 | "data": data,
11 | "options": {
12 | "type": "wysiwyg"
13 | },
14 | "postRender": function (renderedField) {
15 | expect(2);
16 | equal(renderedField.getValue(), data, 'Wysiwyg editor getValue() method returns correct value.');
17 | var inputElem = $('#wysiwyg-1 .wysiwyg');
18 | equal(inputElem.length, 1, 'Wysiwyg editor field generated.');
19 | start();
20 | }
21 | });
22 | });
23 |
24 | }(jQuery) );
--------------------------------------------------------------------------------
/tests/js/helpers/helpers.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | window.simulateClick = function(el, callback)
4 | {
5 | $(el).click();
6 |
7 | window.setTimeout(function() {
8 | callback();
9 | }, 100);
10 | };
11 |
12 | }(jQuery));
--------------------------------------------------------------------------------
/tests/js/hideInitValidationError.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 |
3 | module("validation: hideInitValidationError", {
4 | setup: function() {
5 | $("#qunit-fixture").append('
');
6 | },
7 | teardown: function() {
8 | $('#hide-init-validation-error-fixture').remove();
9 | }
10 | });
11 |
12 | test('hideInitValidationError still runs initial validation', function() {
13 | expect(1);
14 | stop();
15 | var el = $('#hide-init-validation-error-fixture');
16 | el.alpaca({
17 | schema: {
18 | type: 'object',
19 | properties: {
20 | foo: {
21 | type: 'string',
22 | required: true
23 | }
24 | }
25 | },
26 | options: {
27 | fields: {
28 | foo: {
29 | hideInitValidationError: true,
30 | type: 'textarea'
31 | }
32 | }
33 | },
34 | postRender: function(fields) {
35 | equal(fields.isValid(true), false, 'Initial validation should have discovered the form is invalid.');
36 | start();
37 | }
38 | });
39 | });
40 |
41 | })(jQuery);
42 |
--------------------------------------------------------------------------------
/tests/memory/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "name":"Betty Icecream Lover",
3 | "age":10,
4 | "gender":"Female",
5 | "photo":"./betty-girl.jpg",
6 | "member":true,
7 | "icecream":"Chocolate",
8 | "phone":"(123)456-7890",
9 | "address":{
10 | "street":[
11 | "100 Main Street",
12 | "Suite 200"
13 | ],
14 | "city":"Burlington",
15 | "state":"MA",
16 | "zip":"18210"
17 | }
18 | }
--------------------------------------------------------------------------------
/tests/memory/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Memory Test
9 |
10 |
11 |
12 |
13 |
14 | Toggle
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/memory/main.css:
--------------------------------------------------------------------------------
1 | @import url( "../../components/alpaca/alpaca.css" );
2 |
--------------------------------------------------------------------------------
/tests/memory/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "form":{
3 | "attributes":{
4 | "action": "http://www.alpacajs.org/endpoints/echo.php",
5 | "method": "post"
6 | },
7 | "buttons":{
8 | "submit":{},
9 | "reset":{}
10 | }
11 | },
12 | "fields":{
13 | "name":{
14 | "hideInitValidationError" : true
15 | },
16 | "photo":{
17 | "type":"file",
18 | "styled": true
19 | },
20 | "member":{
21 | "rightLabel":"Alpaca Club Member"
22 | },
23 | "address":{
24 | "type":"address",
25 | "addressValidation":true
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/tests/speed1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Speed Test #1
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | Run
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/tests/upload/upload/files/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 | !.htaccess
4 |
--------------------------------------------------------------------------------
/tests/upload/upload/files/.htaccess:
--------------------------------------------------------------------------------
1 | # The following directives force the content-type application/octet-stream
2 | # and force browsers to display a download dialog for non-image files.
3 | # This prevents the execution of script files in the context of the website:
4 | ForceType application/octet-stream
5 | Header set Content-Disposition attachment
6 |
7 | ForceType none
8 | Header unset Content-Disposition
9 |
10 |
11 | # The following directive prevents browsers from MIME-sniffing the content-type.
12 | # This is an important complement to the ForceType directive above:
13 | Header set X-Content-Type-Options nosniff
14 |
15 | # Uncomment the following lines to prevent unauthorized download of files:
16 | #AuthName "Authorization required"
17 | #AuthType Basic
18 | #require valid-user
19 |
--------------------------------------------------------------------------------
/tests/upload/upload/index.php:
--------------------------------------------------------------------------------
1 |