Commit 37ab09cd authored by Evren Kutar's avatar Evren Kutar

formset date field and refresh after modal save

parent ada91955
...@@ -16,7 +16,7 @@ var crud = angular.module('ulakbus.crud', ['ngRoute', 'schemaForm', 'formService ...@@ -16,7 +16,7 @@ var crud = angular.module('ulakbus.crud', ['ngRoute', 'schemaForm', 'formService
* which provide a form with form generator. * which provide a form with form generator.
*/ */
crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $http, $log, $modal, Generator, $routeParams) { crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $http, $log, $modal, $timeout, Generator, $routeParams) {
$scope.url = 'crud'; $scope.url = 'crud';
$scope.form_params = {'model': $routeParams.model}; $scope.form_params = {'model': $routeParams.model};
if ($routeParams.id) { if ($routeParams.id) {
...@@ -28,9 +28,14 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt ...@@ -28,9 +28,14 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt
} }
// get form with generator // get form with generator
$scope.loaddata = function() {
console.log('loading data');
Generator.get_form($scope); Generator.get_form($scope);
debugger; };
// todo remove timeout to load controller efficiently
//$timeout($scope.loaddata, 1000);
$scope.loaddata();
$scope.onSubmit = function (form) { $scope.onSubmit = function (form) {
$scope.$broadcast('schemaFormValidate'); $scope.$broadcast('schemaFormValidate');
if (form.$valid) { if (form.$valid) {
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="navbar-brand" href="index.html"><img src="img/ulakbus-logo.png" /></a> <a class="navbar-brand" href="index.html"><img src="img/ulakbus-logo.png"/></a>
</div> </div>
<!-- /.navbar-header --> <!-- /.navbar-header -->
<header-notification></header-notification> <header-notification></header-notification>
...@@ -53,54 +53,52 @@ ...@@ -53,54 +53,52 @@
</div> </div>
</div> </div>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular/angular.min.js"></script> <script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <script src="bower_components/angular-route/angular-route.min.js"></script>
<script src="bower_components/jquery/dist/jquery.min.js"></script> <script src="bower_components/angular-cookies/angular-cookies.min.js"></script>
<script src="bower_components/angular-resource/angular-resource.min.js"></script>
<script src="bower_components/angular-route/angular-route.min.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.min.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
<script src="bower_components/angular-resource/angular-resource.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script> <script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script> <script src="bower_components/tv4/tv4.js"></script>
<script src="bower_components/objectpath/lib/ObjectPath.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script> <script src="bower_components/objectpath/lib/ObjectPath.js"></script>
<script src="bower_components/tv4/tv4.js"></script> <script src="bower_components/angular-schema-form/dist/schema-form.min.js"></script>
<script src="bower_components/objectpath/lib/ObjectPath.js"></script> <script src="bower_components/angular-schema-form/dist/bootstrap-decorator.min.js"></script>
<script src="bower_components/angular-schema-form/dist/schema-form.min.js"></script> <!--<script src="bower_components/angular-schema-form-datepicker/bootstrap-datepicker.min.js"></script>-->
<script src="bower_components/angular-schema-form/dist/bootstrap-decorator.min.js"></script> <script src="bower_components/angular-gettext/dist/angular-gettext.min.js"></script>
<script src="bower_components/angular-schema-form-datepicker/bootstrap-datepicker.min.js"></script>
<script src="bower_components/angular-gettext/dist/angular-gettext.min.js"></script>
<!-- TODO: check all js and remove unused -->
<script src="bower_components/json3/lib/json3.min.js"></script>
<!-- TODO: check all js and remove unused --> <script src="bower_components/angular-loading-bar/build/loading-bar.min.js"></script>
<script src="bower_components/json3/lib/json3.min.js"></script> <script src="bower_components/metisMenu/dist/metisMenu.min.js"></script>
<script src="bower_components/angular-loading-bar/build/loading-bar.min.js"></script> <script src="bower_components/Chart.js/Chart.min.js"></script>
<script src="bower_components/metisMenu/dist/metisMenu.min.js"></script>
<script src="bower_components/Chart.js/Chart.min.js"></script> <script src="shared/translations.js"></script>
<script src="tmp/templates.js"></script>
<script src="shared/translations.js"></script>
<script src="tmp/templates.js"></script> <script src="app.js"></script>
<script src="app_routes.js"></script>
<script src="app.js"></script> <script src="shared/scripts/theme.js"></script>
<script src="app_routes.js"></script> <script src="shared/directives.js"></script>
<script src="shared/scripts/theme.js"></script> <script src="zetalib/interceptors.js"></script>
<script src="shared/directives.js"></script> <script src="zetalib/general.js"></script>
<script src="zetalib/interceptors.js"></script> <script src="zetalib/forms/form_service.js"></script>
<script src="zetalib/general.js"></script>
<script src="zetalib/forms/form_service.js"></script> <!-- components -->
<!-- components --> <script src="components/auth/auth_controller.js"></script>
<script src="components/auth/auth_service.js"></script>
<script src="components/auth/auth_controller.js"></script> <script src="components/dashboard/dashboard_controller.js"></script>
<script src="components/auth/auth_service.js"></script> <script src="components/crud/crud_controller.js"></script>
<script src="components/dashboard/dashboard_controller.js"></script> <script src="components/staff/staff_controller.js"></script>
<script src="components/crud/crud_controller.js"></script> <script src="components/student/student_controller.js"></script>
<script src="components/staff/staff_controller.js"></script> <script src="components/version/version.js"></script>
<script src="components/student/student_controller.js"></script> <!--<script src="bower_components/quantumui/dist/js/quantumui-nojq.js"></script>-->
<script src="components/version/version.js"></script>
<!--<script src="bower_components/quantumui/dist/js/quantumui-nojq.js"></script>-->
</body> </body>
</html> </html>
...@@ -29,8 +29,21 @@ form_generator.factory('Generator', function ($http, $q, $log, $modal, $timeout, ...@@ -29,8 +29,21 @@ form_generator.factory('Generator', function ($http, $q, $log, $modal, $timeout,
angular.forEach(scope.schema.properties, function(k, v){ angular.forEach(scope.schema.properties, function(k, v){
// check if type is date and if type date found change it to string // check if type is date and if type date found change it to string
// and give it 'format':'date' property // and give it 'format':'date' property
// todo: make datepicker work below
if (k.type == 'date') {
k.type="template";
k.templateUrl = "shared/templates/datefield.html";
//scope.form[scope.form.indexOf(v)] = {
// "key": k.name,
// "minDate": "1995-09-01",
// "maxDate": new Date(),
// "format": "yyyy-mm-dd"
//}
scope.model[v] = null;
}
debugger;
if (k.type == 'date') {k.type='string'; k.format='date'}
if (k.type == 'int') {k.type='number'} if (k.type == 'int') {k.type='number'}
// if type is model use foreignKey.html template to show them // if type is model use foreignKey.html template to show them
...@@ -225,16 +238,18 @@ form_generator.controller('ListNodeModalCtrl', function ($scope, $modalInstance, ...@@ -225,16 +238,18 @@ form_generator.controller('ListNodeModalCtrl', function ($scope, $modalInstance,
}; };
}); });
form_generator.controller('LinkedModelModalCtrl', function ($scope, $modalInstance, items) { form_generator.controller('LinkedModelModalCtrl', function ($scope, $modalInstance, $route, items) {
angular.forEach(["model", "schema", "form"], function(key){ angular.forEach(["model", "schema", "form"], function(key){
$scope[key] = items[key]; $scope[key] = items[key];
}); });
$scope.onSubmit = function(){ $scope.onSubmit = function(){
// send form to modalinstance result function // send form to modalinstance result function
$modalInstance.close($scope); $modalInstance.close($scope);
$route.reload();
}; };
$scope.cancel = function () { $scope.cancel = function () {
$modalInstance.dismiss('cancel'); $modalInstance.dismiss('cancel');
$route.reload();
}; };
}); });
...@@ -271,6 +286,7 @@ form_generator.directive('addModal', function ($modal, Generator) { ...@@ -271,6 +286,7 @@ form_generator.directive('addModal', function ($modal, Generator) {
return { return {
link: function (scope, element) { link: function (scope, element) {
element .on('click', function () { element .on('click', function () {
debugger;
var modalInstance = $modal.open({ var modalInstance = $modal.open({
animation: false, animation: false,
templateUrl: 'shared/templates/linkedModelModalContent.html', templateUrl: 'shared/templates/linkedModelModalContent.html',
...@@ -287,7 +303,6 @@ form_generator.directive('addModal', function ($modal, Generator) { ...@@ -287,7 +303,6 @@ form_generator.directive('addModal', function ($modal, Generator) {
}); });
modalInstance.result.then(function (childmodel, key) { modalInstance.result.then(function (childmodel, key) {
debugger;
Generator.submit(scope); Generator.submit(scope);
//angular.forEach(childmodel, function(v, k){ //angular.forEach(childmodel, function(v, k){
// if ($scope.model[k]){ // if ($scope.model[k]){
...@@ -297,6 +312,7 @@ form_generator.directive('addModal', function ($modal, Generator) { ...@@ -297,6 +312,7 @@ form_generator.directive('addModal', function ($modal, Generator) {
// $scope.model[k][v.idx] = v; // $scope.model[k][v.idx] = v;
// } // }
//scope.$broadcast('schemaFormRedraw'); //scope.$broadcast('schemaFormRedraw');
//scope.apply();
//}); //});
}); });
//$scope.$broadcast('schemaFormRedraw'); //$scope.$broadcast('schemaFormRedraw');
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
"angular-bootstrap": "0.13.1", "angular-bootstrap": "0.13.1",
"font-awesome": "4.3.0", "font-awesome": "4.3.0",
"angular-schema-form": "0.8.3", "angular-schema-form": "0.8.3",
"angular-schema-form-datepicker": "0.4.0",
"angular-loading-bar": "~0.7.0", "angular-loading-bar": "~0.7.0",
"angular-ui-router": "~0.2.15", "angular-ui-router": "~0.2.15",
"angular-toggle-switch": "~1.2.1", "angular-toggle-switch": "~1.2.1",
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="navbar-brand" href="index.html"><img src="app/img/ulakbus-logo.png"/></a> <a class="navbar-brand" href="index.html"><img src="img/ulakbus-logo.png"/></a>
</div> </div>
<!-- /.navbar-header --> <!-- /.navbar-header -->
<header-notification></header-notification> <header-notification></header-notification>
...@@ -58,61 +58,62 @@ ...@@ -58,61 +58,62 @@
</div> </div>
</div> </div>
<!-- @if NODE_ENV == 'DEVELOPMENT' --> <!-- @if NODE_ENV == 'DEVELOPMENT' -->
<script src="bower_components/angular/angular.min.js"></script> <script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/jquery/dist/jquery.min.js"></script> <script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/angular-route/angular-route.min.js"></script> <script src="bower_components/angular-route/angular-route.min.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.min.js"></script> <script src="bower_components/angular-cookies/angular-cookies.min.js"></script>
<script src="bower_components/angular-resource/angular-resource.min.js"></script> <script src="bower_components/angular-resource/angular-resource.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script> <script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script src="bower_components/tv4/tv4.js"></script> <script src="bower_components/tv4/tv4.js"></script>
<script src="bower_components/objectpath/lib/ObjectPath.js"></script> <script src="bower_components/objectpath/lib/ObjectPath.js"></script>
<script src="bower_components/angular-schema-form/dist/schema-form.min.js"></script> <script src="bower_components/objectpath/lib/ObjectPath.js"></script>
<script src="bower_components/angular-schema-form/dist/bootstrap-decorator.min.js"></script> <script src="bower_components/angular-schema-form/dist/schema-form.min.js"></script>
<script src="bower_components/angular-schema-form-datepicker/bootstrap-datepicker.min.js"></script> <script src="bower_components/angular-schema-form/dist/bootstrap-decorator.min.js"></script>
<script src="bower_components/angular-gettext/dist/angular-gettext.min.js"></script> <!--<script src="bower_components/angular-schema-form-datepicker/bootstrap-datepicker.min.js"></script>-->
<script src="bower_components/angular-gettext/dist/angular-gettext.min.js"></script>
<!-- TODO: check all js and remove unused --> <!-- TODO: check all js and remove unused -->
<script src="bower_components/json3/lib/json3.min.js"></script> <script src="bower_components/json3/lib/json3.min.js"></script>
<script src="bower_components/angular-loading-bar/build/loading-bar.min.js"></script> <script src="bower_components/angular-loading-bar/build/loading-bar.min.js"></script>
<script src="bower_components/metisMenu/dist/metisMenu.min.js"></script> <script src="bower_components/metisMenu/dist/metisMenu.min.js"></script>
<script src="bower_components/Chart.js/Chart.min.js"></script> <script src="bower_components/Chart.js/Chart.min.js"></script>
<script src="shared/translations.js"></script> <script src="shared/translations.js"></script>
<script src="tmp/templates.js"></script> <script src="tmp/templates.js"></script>
<script src="app.js"></script> <script src="app.js"></script>
<script src="app_routes.js"></script> <script src="app_routes.js"></script>
<script src="shared/scripts/theme.js"></script> <script src="shared/scripts/theme.js"></script>
<script src="shared/directives.js"></script> <script src="shared/directives.js"></script>
<script src="zetalib/interceptors.js"></script> <script src="zetalib/interceptors.js"></script>
<script src="zetalib/general.js"></script> <script src="zetalib/general.js"></script>
<script src="zetalib/forms/form_service.js"></script> <script src="zetalib/forms/form_service.js"></script>
<!-- components --> <!-- components -->
<script src="components/auth/auth_controller.js"></script> <script src="components/auth/auth_controller.js"></script>
<script src="components/auth/auth_service.js"></script> <script src="components/auth/auth_service.js"></script>
<script src="components/dashboard/dashboard_controller.js"></script> <script src="components/dashboard/dashboard_controller.js"></script>
<script src="components/crud/crud_controller.js"></script> <script src="components/crud/crud_controller.js"></script>
<script src="components/staff/staff_controller.js"></script> <script src="components/staff/staff_controller.js"></script>
<script src="components/student/student_controller.js"></script> <script src="components/student/student_controller.js"></script>
<script src="components/version/version.js"></script> <script src="components/version/version.js"></script>
<!--<script src="bower_components/quantumui/dist/js/quantumui-nojq.js"></script>--> <!--<script src="bower_components/quantumui/dist/js/quantumui-nojq.js"></script>-->
<!-- @endif --> <!-- @endif -->
<!-- @if NODE_ENV == 'PRODUCTION' --> <!-- @if NODE_ENV == 'PRODUCTION' -->
<script src="bower_components/jquery.min.js"></script> <script src="bower_components/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.17/angular.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.17/angular.min.js"></script>
<script src="bower_components/components.js"></script> <script src="bower_components/components.js"></script>
<script src="shared/translations.js"></script> <script src="shared/translations.js"></script>
<script src="templates.js"></script> <script src="templates.js"></script>
<script src="app.js"></script> <script src="app.js"></script>
<!-- @endif --> <!-- @endif -->
</body> </body>
</html> </html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment