Commit ed4a4025 authored by Evren Kutar's avatar Evren Kutar

momentjs for easy time management

parent bc47117d
......@@ -87,6 +87,7 @@
<script src="bower_components/angular-schema-form/dist/schema-form.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/moment/min/moment.min.js"></script>
<!-- TODO: check all js and remove unused -->
......
......@@ -95,6 +95,7 @@
<script src="bower_components/angular-schema-form/dist/schema-form.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/moment/min/moment.min.js"></script>
<!-- TODO: check all js and remove unused -->
......
......@@ -34,21 +34,6 @@
</p>
<!--<input ng-if="!form.fieldAddonLeft && !form.fieldAddonRight"-->
<!--ng-show="form.key"-->
<!--type="{{form.type}}"-->
<!--step="any"-->
<!--sf-changed="form"-->
<!--placeholder="{{form.placeholder}}"-->
<!--class="form-control {{form.fieldHtmlClass}}"-->
<!--id="{{form.key.slice(-1)[0]}}"-->
<!--ng-model-options="form.ngModelOptions"-->
<!--ng-model="$$value$$"-->
<!--ng-disabled="form.readonly"-->
<!--schema-validate="form"-->
<!--name="{{form.key.slice(-1)[0]}}"-->
<!--aria-describedby="{{form.key.slice(-1)[0] + 'Status'}}">-->
<div ng-if="form.fieldAddonLeft || form.fieldAddonRight"
ng-class="{'input-group': (form.fieldAddonLeft || form.fieldAddonRight)}">
<span ng-if="form.fieldAddonLeft"
......
......@@ -3,10 +3,12 @@
<label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">
{{form.title}}
</label>
<button class="btn btn-default">Ekle <i class="fa fa-plus-circle fa-fw"
add-modal-for-linked-model="{{form.formName}}"></i></button>
<a role="button"><i class="fa fa-plus-circle fa-fw" style="font-size: 24px;"
add-modal-for-linked-model="{{form.formName}}"></i></a>
<div class="form-group input-group">
<div class="form-group input-group" tooltip-enable="form.focusToInput"
tooltip-is-open="form.focusToInput"
tooltip-placement="bottom" uib-tooltip="Arama sonucu çok fazla, filtre ediniz.">
<span class="input-group-btn">
<button class="btn btn-default dropdown-toggle" type="button" ng-click="form.getDropdownTitleMap()"
data-toggle="dropdown">
......
......@@ -37,5 +37,5 @@
<div class="modal-footer">
<!--<button type="submit" class="btn btn-primary" ng-click="onSubmit(linkedModelForm)">OK</button>-->
<button type="button" class="btn btn-warning" ng-click="cancel()">Cancel</button>
<button type="button" class="btn btn-warning" ng-click="cancel()">İptal</button>
</div>
\ No newline at end of file
......@@ -3,6 +3,6 @@
<form name="modalForm" sf-schema="schema" sf-form="form" sf-model="model" modal-form-locator></form>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" ng-click="onNodeSubmit()">OK</button>
<button type="button" class="btn btn-warning" ng-click="cancel()">Cancel</button>
<button type="submit" class="btn btn-primary" ng-click="onNodeSubmit()">Tamam</button>
<button type="button" class="btn btn-warning" ng-click="cancel()">İptal</button>
</div>
\ No newline at end of file
......@@ -291,7 +291,8 @@ angular.module('formService', ['ui.bootstrap'])
// check if type is date and if type date found change it to string
if (v.type === 'date') {
scope.model[k] = generator.dateformatter(scope.model[k] || new Date());
$log.debug('date:', scope.model[k]);
scope.model[k] = generator.dateformatter(scope.model[k]);
scope.form[scope.form.indexOf(k)] = {
key: k, name: k, title: v.title,
type: 'template',
......@@ -313,7 +314,7 @@ angular.module('formService', ['ui.bootstrap'])
}
else {
var dateValue = d = value.split('.');
if (isNaN(Date.parse([d[1], d[0], d[2]].join('.'))) || dateValue.length !== 3) {
if (isNaN(Date.parse(value)) || dateValue.length !== 3) {
deferred.reject();
} else {
deferred.resolve();
......@@ -329,7 +330,7 @@ angular.module('formService', ['ui.bootstrap'])
},
format: 'dd.MM.yyyy',
onSelect: function () {
scope.model[k] = generator.dateformatter(scope.model[k]);
scope.model[k] = angular.copy(generator.dateformatter(scope.model[k]));
}
};
}
......@@ -361,11 +362,13 @@ angular.module('formService', ['ui.bootstrap'])
return generator.get_list(modelScope).then(function (res) {
formitem.titleMap = [];
angular.forEach(res.data.objects, function (item) {
if (item !== "-1") {
if (item !== -1) {
formitem.titleMap.push({
"value": item.key,
"name": item.value
});
} else {
formitem.focusToInput = true;
}
});
......@@ -445,7 +448,7 @@ angular.module('formService', ['ui.bootstrap'])
var formitem = scope.form[scope.form.indexOf(k)];
var modelScope = {
"url": v.wf || scope.wf, "wf": v.wf || scope.wf,
"form_params": {model: v.model_name || v.schema[0].model_name, cmd: v.list_cmd || 'select_list'}
"form_params": {model: v.model_name || v.schema[0].model_name, cmd: v.list_cmd || 'select_list', query: ''}
};
scope.generateTitleMap = function (modelScope) {
......@@ -560,10 +563,6 @@ angular.module('formService', ['ui.bootstrap'])
});
if (v.type === 'ListNode') {
scope[v.type][k].items = angular.copy(scope.model[k] || []);
}
angular.forEach(v.schema, function (item) {
scope[v.type][k].schema.properties[item.name] = angular.copy(item);
......@@ -588,6 +587,29 @@ angular.module('formService', ['ui.bootstrap'])
});
$timeout(function () {
if (v.type === 'ListNode') {
scope[v.type][k].items = angular.copy(scope.model[k] || []);
angular.forEach(scope[v.type][k].items, function (value, key) {
if (value.constructor === Object) {
angular.forEach(value, function (x, y) {
try {
if (scope[v.type][k].schema.properties[y].type === 'date') {
scope[v.type][k].items[key][y] = generator.dateformatter(x);
scope[v.type][k].model[key][y] = generator.dateformatter(x);
}
if (scope[v.type][k].schema.properties[y].type === 'select') {
scope[v.type][k].items[key][y] = generator.item_from_array(x.toString(), scope[v.type][k].schema.properties[y].titleMap)
}
} catch (e) {
$log.debug('Field is not date');
}
});
}
});
}
});
if (scope.model[k]) {
angular.forEach(scope.model[k], function (value, key) {
angular.forEach(value, function (y, x) {
......@@ -618,12 +640,11 @@ angular.module('formService', ['ui.bootstrap'])
*/
generator.dateformatter = function (formObject) {
var ndate = new Date(formObject);
if (ndate == 'Invalid Date') {
if (isNaN(ndate)) {
return '';
} else {
var newdatearray = [("0" + ndate.getDate()).slice(-2), ndate.getMonth() + 1, ndate.getFullYear()];
return newdatearray.join('.');
var newdatearray = moment(ndate).format('DD.MM.YYYY');
return newdatearray;
}
};
generator.doItemAction = function ($scope, key, todo, mode) {
......@@ -839,7 +860,7 @@ angular.module('formService', ['ui.bootstrap'])
};
// get item unicode name from titleMap using this method
generator.item_from_array = function (item, key, array) {
generator.item_from_array = function (item, array) {
var result = item;
angular.forEach(array, function (value, key) {
if (value.value === item) {
......@@ -857,6 +878,15 @@ angular.module('formService', ['ui.bootstrap'])
generator.submit = function ($scope, redirectTo) {
// todo: diff for all submits to recognize form change. if no change returns to view with no submit
var convertDate = function (model) {
angular.forEach(model, function (value, key) {
if (value && value.constructor === Date) {
model[key] = generator.dateformatter(value);
}
if (value && value.constructor === Object) {convertDate(value);}
});
};
angular.forEach($scope.ListNode, function (value, key) {
$scope.model[key] = value.model;
});
......@@ -1033,7 +1063,7 @@ angular.module('formService', ['ui.bootstrap'])
} else {
reformattedModel[key] = {
"key": key,
"unicode": Generator.item_from_array(value, key, childmodel.schema.properties[key].titleMap)
"unicode": Generator.item_from_array(value, childmodel.schema.properties[key].titleMap)
};
}
});
......
......@@ -23,7 +23,8 @@
"metisMenu": "~1.1.3",
"angular-chart.js": "~0.5.2",
"angular-gettext": "2.1.0",
"intro.js": "1.1.1"
"intro.js": "1.1.1",
"moment": "2.10.6"
},
"resolutions": {
"angular": "1.4.7"
......
This diff is collapsed.
......@@ -697,21 +697,6 @@ angular.module("shared/templates/datefield.html", []).run(["$templateCache", fun
"\n" +
" </p>\n" +
"\n" +
" <!--<input ng-if=\"!form.fieldAddonLeft && !form.fieldAddonRight\"-->\n" +
" <!--ng-show=\"form.key\"-->\n" +
" <!--type=\"{{form.type}}\"-->\n" +
" <!--step=\"any\"-->\n" +
" <!--sf-changed=\"form\"-->\n" +
" <!--placeholder=\"{{form.placeholder}}\"-->\n" +
" <!--class=\"form-control {{form.fieldHtmlClass}}\"-->\n" +
" <!--id=\"{{form.key.slice(-1)[0]}}\"-->\n" +
" <!--ng-model-options=\"form.ngModelOptions\"-->\n" +
" <!--ng-model=\"$$value$$\"-->\n" +
" <!--ng-disabled=\"form.readonly\"-->\n" +
" <!--schema-validate=\"form\"-->\n" +
" <!--name=\"{{form.key.slice(-1)[0]}}\"-->\n" +
" <!--aria-describedby=\"{{form.key.slice(-1)[0] + 'Status'}}\">-->\n" +
"\n" +
" <div ng-if=\"form.fieldAddonLeft || form.fieldAddonRight\"\n" +
" ng-class=\"{'input-group': (form.fieldAddonLeft || form.fieldAddonRight)}\">\n" +
" <span ng-if=\"form.fieldAddonLeft\"\n" +
......@@ -1573,10 +1558,12 @@ angular.module("shared/templates/foreignKey.html", []).run(["$templateCache", fu
" <label class=\"control-label {{form.labelHtmlClass}}\" ng-show=\"showTitle()\">\n" +
" {{form.title}}\n" +
" </label>\n" +
" <button class=\"btn btn-default\">Ekle <i class=\"fa fa-plus-circle fa-fw\"\n" +
" add-modal-for-linked-model=\"{{form.formName}}\"></i></button>\n" +
" <a role=\"button\"><i class=\"fa fa-plus-circle fa-fw\" style=\"font-size: 24px;\"\n" +
" add-modal-for-linked-model=\"{{form.formName}}\"></i></a>\n" +
"\n" +
" <div class=\"form-group input-group\">\n" +
" <div class=\"form-group input-group\" tooltip-enable=\"form.focusToInput\"\n" +
" tooltip-is-open=\"form.focusToInput\"\n" +
" tooltip-placement=\"bottom\" uib-tooltip=\"Arama sonucu çok fazla, filtre ediniz.\">\n" +
" <span class=\"input-group-btn\">\n" +
" <button class=\"btn btn-default dropdown-toggle\" type=\"button\" ng-click=\"form.getDropdownTitleMap()\"\n" +
" data-toggle=\"dropdown\">\n" +
......@@ -1665,7 +1652,7 @@ angular.module("shared/templates/linkedModelModalContent.html", []).run(["$templ
"<div class=\"modal-footer\">\n" +
"\n" +
" <!--<button type=\"submit\" class=\"btn btn-primary\" ng-click=\"onSubmit(linkedModelForm)\">OK</button>-->\n" +
" <button type=\"button\" class=\"btn btn-warning\" ng-click=\"cancel()\">Cancel</button>\n" +
" <button type=\"button\" class=\"btn btn-warning\" ng-click=\"cancel()\">İptal</button>\n" +
"</div>");
}]);
......@@ -1676,8 +1663,8 @@ angular.module("shared/templates/listnodeModalContent.html", []).run(["$template
" <form name=\"modalForm\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\" modal-form-locator></form>\n" +
"</div>\n" +
"<div class=\"modal-footer\">\n" +
" <button type=\"submit\" class=\"btn btn-primary\" ng-click=\"onNodeSubmit()\">OK</button>\n" +
" <button type=\"button\" class=\"btn btn-warning\" ng-click=\"cancel()\">Cancel</button>\n" +
" <button type=\"submit\" class=\"btn btn-primary\" ng-click=\"onNodeSubmit()\">Tamam</button>\n" +
" <button type=\"button\" class=\"btn btn-warning\" ng-click=\"cancel()\">İptal</button>\n" +
"</div>");
}]);
......
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