UNPKG

@eform/ng-formio-builder

Version:

The Angular.js form builder component.

93 lines (91 loc) 4.16 kB
var _map = require('lodash/map'); module.exports = function(app) { app.config([ 'formioComponentsProvider', function( formioComponentsProvider ) { formioComponentsProvider.register('file', { onEdit: [ '$scope', 'Formio', function($scope, Formio) { // Pull out title and name from the list of storage plugins. $scope.storage = _map(Formio.providers.storage, function(storage, key) { return { title: storage.title, name: key }; }); } ], icon: 'fa fa-file', views: [ { name: 'Display', template: 'formio/components/file/display.html' }, { name: 'Validation', template: 'formio/components/file/validate.html' }, { name: 'API', template: 'formio/components/common/api.html' }, { name: 'Layout', template: 'formio/components/common/layout.html' }, { name: 'Conditional', template: 'formio/components/common/conditional.html' } ], documentation: 'http://help.form.io/userguide/#file' }); } ]); app.run([ '$templateCache', function($templateCache) { // Create the settings markup. $templateCache.put('formio/components/file/display.html', '<ng-form>' + '<form-builder-option property="label"></form-builder-option>' + '<form-builder-option property="hideLabel"></form-builder-option>' + '<form-builder-option-label-position></form-builder-option-label-position>' + '<form-builder-option property="tooltip"></form-builder-option>' + '<div class="form-group">' + '<label for="storage" form-builder-tooltip="Which storage to save the files in.">{{\'Storage\' | formioTranslate}}</label>' + '<select class="form-control" id="storage" name="storage" ng-options="store.name as store.title | formioTranslate for store in storage" ng-model="component.storage"></select>' + '</div>' + '<form-builder-option property="url" ng-show="component.storage === \'url\'"></form-builder-option>' + '<form-builder-option property="dir"></form-builder-option>' + '<form-builder-option property="image"></form-builder-option>' + '<form-builder-option property="imageSize" ng-if="component.image"></form-builder-option>' + '<form-builder-option property="filePattern"></form-builder-option>' + '<form-builder-option property="fileMinSize"></form-builder-option>' + '<form-builder-option property="fileMaxSize"></form-builder-option>' + '<form-builder-option property="customClass"></form-builder-option>' + '<form-builder-option property="tabindex"></form-builder-option>' + '<form-builder-option property="multiple"></form-builder-option>' + '<form-builder-option property="clearOnHide"></form-builder-option>' + '<form-builder-option property="protected"></form-builder-option>' + '<form-builder-option property="persistent"></form-builder-option>' + '<form-builder-option property="encrypted" class="form-builder-premium"></form-builder-option>' + '<form-builder-option property="hidden"></form-builder-option>' + '<form-builder-option property="autofocus"></form-builder-option>' + '<form-builder-option property="disabled"></form-builder-option>' + '<form-builder-option property="tableView"></form-builder-option>' + '</ng-form>' ); $templateCache.put('formio/components/file/validate.html', '<ng-form>' + '<form-builder-option property="validate.required"></form-builder-option>' + '<form-builder-option property="validate.customMessage"></form-builder-option>' + '</ng-form>' ); } ]); };