Added demo components for dev
Change-Id: Ibfe137d4e65154dc8dae2078c3eac794303b5484
diff --git a/dev/js/alert.dev.js b/dev/js/alert.dev.js
new file mode 100644
index 0000000..6d5cefc
--- /dev/null
+++ b/dev/js/alert.dev.js
@@ -0,0 +1,32 @@
+'use strict';
+
+angular.module('ngXosLib')
+ .component('alertTest', {
+ restrict: 'E',
+ bindings: {},
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/alert.dev.html',
+ controller: function () {
+ this.config1 = {
+ type: 'danger'
+ };
+
+ this.config2 = {
+ type: 'danger',
+ closeBtn: true
+ };
+
+ this.config3 = {
+ type: 'info'
+ };
+
+ this.config4 = {
+ type: 'success'
+ };
+
+ this.config5 = {
+ type: 'warning'
+ };
+ }
+ })
\ No newline at end of file
diff --git a/dev/js/field.dev.js b/dev/js/field.dev.js
new file mode 100644
index 0000000..656aec9
--- /dev/null
+++ b/dev/js/field.dev.js
@@ -0,0 +1,52 @@
+'use strict';
+
+angular.module('ngXosLib')
+ .component('fieldTest', {
+ restrict: 'E',
+ bindings: {},
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/field.dev.html',
+ controller: function () {
+ this.field1 = {
+ name: 'number-field',
+ field: {label: 'My Number Value:', type: 'number'},
+ model: 2
+ };
+
+ this.field2 = {
+ name: 'date-field',
+ field: {label: 'My Date Value:', type: 'date'},
+ model: new Date()
+ };
+
+ this.field3 = {
+ name: 'boolean-field',
+ field: {label: 'My Boolean Value:', type: 'boolean'},
+ model: true
+ };
+
+ this.field4 = {
+ name: 'email-field',
+ field: {label: 'My Email Value:', type: 'email'},
+ model: 'sample@domain.us'
+ };
+ this.field5 = {
+ name: 'Empty Object Field',
+ label: 'Empty Object Field',
+ type: 'object',
+ properties: {
+ foo: {
+ label: 'FooLabel:',
+ type: 'string',
+ validators: {
+ required: true
+ }
+ },
+ bar: {
+ type: 'number'
+ }
+ }
+ }
+ }
+ });
\ No newline at end of file
diff --git a/dev/js/form.dev.js b/dev/js/form.dev.js
new file mode 100644
index 0000000..99afda0
--- /dev/null
+++ b/dev/js/form.dev.js
@@ -0,0 +1,62 @@
+'use strict';
+
+angular.module('ngXosLib')
+ .component('formTest', {
+ restrict: 'E',
+ bindings: {},
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/form.dev.html',
+ controller: function () {
+ this.model = {
+ first_name: 'Jhon',
+ last_name: 'Doe',
+ },
+ this.config = {
+ exclude: ['password', 'last_login'],
+ formName: 'sampleForm',
+ actions: [
+ {
+ label: 'Save',
+ icon: 'ok', // refers to bootstraps glyphicon
+ cb: (user) => { // receive the model
+ console.log(user);
+ },
+ class: 'success'
+ }
+ ],
+ fields: {
+ first_name: {
+ type: 'string',
+ validators: {
+ required: true
+ }
+ },
+ last_name: {
+ label: 'Surname',
+ type: 'string',
+ validators: {
+ required: true,
+ minlength: 10
+ }
+ },
+ details_field: {
+ label: 'Empty Object Field',
+ type: 'object',
+ properties: {
+ foo: {
+ label: 'FooLabel:',
+ type: 'string',
+ validators: {
+ required: true
+ }
+ },
+ bar: {
+ type: 'number'
+ }
+ }
+ }
+ }
+ }
+ }
+ })
\ No newline at end of file
diff --git a/dev/js/main.js b/dev/js/main.js
new file mode 100644
index 0000000..6026569
--- /dev/null
+++ b/dev/js/main.js
@@ -0,0 +1,74 @@
+/* eslint-disable angular/ng_module_name */
+(function(){
+ 'use strict';
+ console.log('hello!');
+ angular.module('ngXosLib', ['xos.helpers', 'ui.router'])
+ .run(function () {
+ console.info('Dev Environment ready!')
+ })
+ .config(($stateProvider) => {
+ $stateProvider
+ .state('form-test', {
+ url: '/form/',
+ template: '<form-test></form-test>'
+ })
+ .state('table-test', {
+ url: '/table/',
+ template: '<table-test></table-test>'
+ })
+ .state('alert-test', {
+ url: '/alert/',
+ template: '<alert-test></alert-test>'
+ })
+ .state('field-test', {
+ url: '/field/',
+ template: '<field-test></field-test>'
+ })
+ })
+ .component('navDemo', {
+ restrict: 'E',
+ bindings: {},
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/nav.dev.html',
+ controller: function ($rootScope) {
+
+ this.active = 'form';
+
+ $rootScope.$on('$stateChangeSuccess', (event, toState, toParams, fromState, fromParams)=> {
+
+ let strSelected = toState.url.split('/').join('');
+ this.active = strSelected.charAt(0).toUpperCase() + strSelected.slice(1);
+ });
+
+ this.config = {
+ actions: [
+ {
+ label: 'Form',
+ class: '',
+ link: '/#/form/'
+ },
+ {
+ label: 'Field',
+ class: '',
+ link: '/#/field/'
+
+ },
+ {
+ label: 'Alert',
+ class: '',
+ link: '/#/alert/'
+
+ },
+ {
+ label: 'Table',
+ class: '',
+ link: '/#/table/'
+
+ }
+ ]
+ }
+ }
+ });
+
+})();
\ No newline at end of file
diff --git a/dev/js/table.dev.js b/dev/js/table.dev.js
new file mode 100644
index 0000000..4ac974d
--- /dev/null
+++ b/dev/js/table.dev.js
@@ -0,0 +1,25 @@
+'use strict';
+
+angular.module('ngXosLib')
+ .component('tableTest', {
+ restrict: 'E',
+ bindings: {},
+ bindToController: true,
+ controllerAs: 'vm',
+ templateUrl: 'templates/table.dev.html',
+ controller: function () {
+ this.config = {
+ columns: [
+ {
+ label: '#',
+ prop: 'id'
+ },
+ {
+ label: 'Name:',
+ prop: 'name'
+ }
+ ]
+ };
+ this.data = [{id: 1, name: 'Jhon'}]
+ }
+ })
\ No newline at end of file