├── .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 | 14 | blog comments powered by Disqus 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 | 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 |
    2 |
    3 | 8 |
    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 |
    10 |
    11 |
    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 |
    8 |
    9 |
    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 |
    10 |
    11 |
    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 |
    10 |
    11 |
    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 | 2 | 3 | 4 | 5 | 6 |
    -------------------------------------------------------------------------------- /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 | 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 |
    29 | 30 |
    31 |
    32 | 33 |
    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 |

    Tests

    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 | 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 | 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 | 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 |