blob: 96fbb929d8200839da4de3bee21fabec07d3056b [file] [log] [blame]
Matteo Scandolo686547a2017-08-08 13:05:25 -07001
2/*
3 * Copyright 2017-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
Arpit Agarwal43978742016-08-09 15:38:25 -070019'use strict';
20
21angular.module('ngXosLib')
22 .component('formTest', {
23 restrict: 'E',
24 bindings: {},
25 bindToController: true,
26 controllerAs: 'vm',
27 templateUrl: 'templates/form.dev.html',
28 controller: function () {
29 this.model = {
30 first_name: 'Jhon',
31 last_name: 'Doe',
32 },
33 this.config = {
34 exclude: ['password', 'last_login'],
35 formName: 'sampleForm',
36 actions: [
37 {
38 label: 'Save',
39 icon: 'ok', // refers to bootstraps glyphicon
40 cb: (user) => { // receive the model
41 console.log(user);
42 },
43 class: 'success'
44 }
45 ],
Steven Burrows84818482016-09-29 15:33:46 -070046 order: ['last_name', 'select'],
Arpit Agarwal43978742016-08-09 15:38:25 -070047 fields: {
48 first_name: {
49 type: 'string',
50 validators: {
51 required: true
52 }
53 },
54 last_name: {
55 label: 'Surname',
56 type: 'string',
57 validators: {
58 required: true,
59 minlength: 10
60 }
61 },
Matteo Scandoloe57712f2016-09-21 15:27:36 -070062 select: {
63 label: 'select',
64 type: 'select',
65 options: [
66 {id: 1, label: 'a'},
67 {id: 2, label: 'b'}
68 ]
69 },
Arpit Agarwal43978742016-08-09 15:38:25 -070070 details_field: {
71 label: 'Empty Object Field',
72 type: 'object',
73 properties: {
74 foo: {
75 label: 'FooLabel:',
76 type: 'string',
77 validators: {
78 required: true
79 }
80 },
81 bar: {
82 type: 'number'
83 }
84 }
85 }
86 }
87 }
88 }
Steven Burrows84818482016-09-29 15:33:46 -070089 })