angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 5.72 kB
Source Map (JSON)
{"version":3,"sources":["form_builder.js"],"names":[],"mappings":"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","file":"angular2/src/forms/form_builder.js","sourcesContent":["import {StringMapWrapper, ListWrapper, List} from 'angular2/src/facade/collection';\nimport {isPresent} from 'angular2/src/facade/lang';\nimport * as modelModule from './model';\n\n\n/**\n * Creates a form object from a user-specified configuration.\n *\n * # Example\n *\n * This example creates a {@link ControlGroup} that consists of a `login` {@link Control}, and a nested \n * {@link ControlGroup} that defines a `password` and a `passwordConfirmation` {@link Control}.\n *\n * ```\n * var loginForm = builder.group({\n * login: [\"\", Validators.required],\n *\n * passwordRetry: builder.group({\n * password: [\"\", Validators.required],\n * passwordConfirmation: [\"\", Validators.required]\n * })\n * });\n *\n * ```\n * @exportedAs angular2/forms\n */\nexport class FormBuilder {\n group(controlsConfig, extra = null):modelModule.ControlGroup {\n var controls = this._reduceControls(controlsConfig);\n var optionals = isPresent(extra) ? StringMapWrapper.get(extra, \"optionals\") : null;\n var validator = isPresent(extra) ? StringMapWrapper.get(extra, \"validator\") : null;\n\n if (isPresent(validator)) {\n return new modelModule.ControlGroup(controls, optionals, validator);\n } else {\n return new modelModule.ControlGroup(controls, optionals);\n }\n }\n\n control(value, validator:Function = null):modelModule.Control {\n if (isPresent(validator)) {\n return new modelModule.Control(value, validator);\n } else {\n return new modelModule.Control(value);\n }\n }\n\n array(controlsConfig:List, validator:Function = null):modelModule.ControlArray {\n var controls = ListWrapper.map(controlsConfig, (c) => this._createControl(c));\n if (isPresent(validator)) {\n return new modelModule.ControlArray(controls, validator);\n } else {\n return new modelModule.ControlArray(controls);\n }\n }\n\n _reduceControls(controlsConfig) {\n var controls = {};\n StringMapWrapper.forEach(controlsConfig, (controlConfig, controlName) => {\n controls[controlName] = this._createControl(controlConfig);\n });\n return controls;\n }\n\n _createControl(controlConfig) {\n if (controlConfig instanceof modelModule.Control ||\n controlConfig instanceof modelModule.ControlGroup ||\n controlConfig instanceof modelModule.ControlArray) {\n return controlConfig;\n\n } else if (ListWrapper.isList(controlConfig)) {\n var value = ListWrapper.get(controlConfig, 0);\n var validator = controlConfig.length > 1 ? controlConfig[1] : null;\n return this.control(value, validator);\n\n } else {\n return this.control(controlConfig);\n }\n }\n}\n"]}