Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
ulakbus-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ulakbus
ulakbus-ui
Commits
104f9d80
Commit
104f9d80
authored
Dec 06, 2015
by
Evren Kutar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uib datepicker implemented
resolves #62 resolves #63
parent
b75c54c4
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
95 additions
and
113 deletions
+95
-113
index.html
app/index.html
+1
-0
main.html
app/main.html
+1
-0
datefield.html
app/shared/templates/datefield.html
+14
-11
form_service.js
app/zetalib/form_service.js
+48
-37
bower.json
bower.json
+1
-0
app.js
dist/app.js
+3
-3
components.js
dist/bower_components/components.js
+1
-1
templates.js
dist/templates.js
+26
-61
No files found.
app/index.html
View file @
104f9d80
...
...
@@ -67,6 +67,7 @@
</div>
<script
src=
"bower_components/angular/angular.min.js"
></script>
<script
src=
"bower_components/angular-i18n/angular-locale_tr.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>
...
...
app/main.html
View file @
104f9d80
...
...
@@ -75,6 +75,7 @@
<!-- @if NODE_ENV == 'DEVELOPMENT' -->
<script
src=
"bower_components/angular/angular.min.js"
></script>
<script
src=
"bower_components/angular-i18n/angular-locale_tr.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>
...
...
app/shared/templates/datefield.html
View file @
104f9d80
...
...
@@ -4,6 +4,11 @@
for=
"{{form.key.slice(-1)[0]}}"
>
{{form.title}}
</label>
<p
class=
"input-group"
>
<span
class=
"input-group-btn"
>
<button
type=
"button"
class=
"btn btn-default"
ng-click=
"form.open($event)"
>
<i
class=
"fa fa-calendar"
></i>
</button>
</span>
<input
ng-if=
"!form.fieldAddonLeft && !form.fieldAddonRight"
ng-show=
"form.key"
step=
"any"
...
...
@@ -12,22 +17,20 @@
class=
"form-control {{form.fieldHtmlClass}} datepickerfield"
id=
"{{form.key.slice(-1)[0]}}"
ng-model-options=
"form.ngModelOptions"
ng-model=
"
dt
"
ng-model=
"
form.modelDate
"
ng-disabled=
"form.readonly"
schema-validate=
"form"
name=
"{{form.key.slice(-1)[0]}}"
aria-describedby=
"{{form.key.slice(-1)[0] + 'Status'}}"
type=
"date"
datepicker-popup
is-open=
"status.opened"
date-disabled=
"disabled(date, mode)"
close-text=
"Close"
/>
<span
class=
"input-group-btn"
>
<button
type=
"button"
class=
"btn btn-default"
ng-click=
"open($event)"
>
<i
class=
"glyphicon glyphicon-calendar"
></i>
</button>
</span>
type=
"{{form.type}}"
uib-datepicker-popup=
"{{form.format}}"
is-open=
"form.status.opened"
close-text=
"Kapat"
current-text=
"Bugün"
clear-text=
"Temizle"
ng-click=
"form.open($event)"
/>
</p>
<!--<input ng-if="!form.fieldAddonLeft && !form.fieldAddonRight"-->
...
...
app/zetalib/form_service.js
View file @
104f9d80
...
...
@@ -184,43 +184,43 @@ angular.module('formService', ['ui.bootstrap'])
// check if type is date and if type date found change it to string
if
(
v
.
type
===
'date'
)
{
var
modelDate
=
angular
.
copy
(
scope
.
model
[
k
]);
scope
.
model
[
k
]
=
generator
.
dateformatter
(
scope
.
model
[
k
]);
scope
.
form
[
scope
.
form
.
indexOf
(
k
)]
=
{
key
:
k
,
name
:
k
,
key
:
k
,
name
:
k
,
title
:
v
.
title
,
type
:
'template'
,
modelDate
:
new
Date
(
modelDate
),
templateUrl
:
'shared/templates/datefield.html'
,
validationMessage
:
{
'dateNotValid'
:
"Girdiğiniz tarih geçerli değildir. <i>orn: '01.01.2015'<i/>"
'dateNotValid'
:
"Girdiğiniz tarih geçerli değildir. <i>orn: '01.01.2015'<i/>"
,
302
:
'Bu alan zorunludur.'
},
$asyncValidators
:
{
'dateNotValid'
:
function
(
value
)
{
var
deferred
=
$q
.
defer
();
$timeout
(
function
()
{
var
dateValue
=
d
=
value
.
split
(
'.'
);
if
(
isNaN
(
Date
.
parse
([
d
[
1
],
d
[
0
],
d
[
2
]].
join
(
'.'
)))
||
dateValue
.
length
!==
3
)
{
deferred
.
reject
();
}
else
{
scope
.
model
[
k
]
=
angular
.
copy
(
generator
.
dateformatter
(
value
));
if
(
value
.
constructor
===
Date
)
{
deferred
.
resolve
();
}
},
500
);
else
{
var
dateValue
=
d
=
value
.
split
(
'.'
);
if
(
isNaN
(
Date
.
parse
([
d
[
1
],
d
[
0
],
d
[
2
]].
join
(
'.'
)))
||
dateValue
.
length
!==
3
)
{
deferred
.
reject
();
}
else
{
deferred
.
resolve
();
}
}
});
return
deferred
.
promise
;
}
}
},
status
:
{
opened
:
false
},
open
:
function
(
$event
)
{
this
.
status
.
opened
=
true
;
},
format
:
'dd.MM.yyyy'
};
v
.
type
=
'string'
;
scope
.
model
[
k
]
=
generator
.
dateformatter
(
scope
.
model
[
k
]);
$timeout
(
function
()
{
jQuery
(
'#'
+
k
).
datepicker
({
changeMonth
:
true
,
changeYear
:
true
,
dateFormat
:
"dd.mm.yy"
,
onSelect
:
function
(
date
,
inst
)
{
scope
.
model
[
k
]
=
date
;
if
(
scope
.
modalElements
)
{
scope
.
validateModalDate
(
k
);
scope
.
$broadcast
(
'schemaForm.error.'
+
k
,
'tv4-302'
,
true
);
}
}
});
},
1000
);
}
if
(
v
.
type
===
'int'
||
v
.
type
===
'float'
)
{
...
...
@@ -257,7 +257,7 @@ angular.module('formService', ['ui.bootstrap'])
});
}
// get selected item from titleMap using model value
if
(
item
.
key
===
scope
.
model
[
k
])
{
if
(
item
.
key
===
scope
.
model
[
k
])
{
formitem
.
selected_item
=
{
value
:
item
.
key
,
name
:
item
.
value
};
}
});
...
...
@@ -363,13 +363,17 @@ angular.module('formService', ['ui.bootstrap'])
formitem
.
filteredItems
=
generator
.
get_diff_array
(
formitem
.
filteredItems
,
formitem
.
selectedFilteredItems
);
},
select
:
function
(
selectedItemsModel
)
{
if
(
!
selectedItemsModel
){
return
;}
if
(
!
selectedItemsModel
)
{
return
;
}
formitem
.
selectedFilteredItems
=
formitem
.
selectedFilteredItems
.
concat
(
selectedItemsModel
);
formitem
.
appendFiltered
(
formitem
.
filterValue
);
scope
.
model
[
k
]
=
(
scope
.
model
[
k
]
||
[]).
concat
(
formitem
.
dataToModel
(
selectedItemsModel
));
},
deselect
:
function
(
selectedFilteredItemsModel
)
{
if
(
!
selectedFilteredItemsModel
){
return
;}
if
(
!
selectedFilteredItemsModel
)
{
return
;
}
formitem
.
selectedFilteredItems
=
generator
.
get_diff_array
(
angular
.
copy
(
formitem
.
selectedFilteredItems
),
angular
.
copy
(
selectedFilteredItemsModel
));
formitem
.
appendFiltered
(
formitem
.
filterValue
);
formitem
.
filteredItems
=
formitem
.
filteredItems
.
concat
(
selectedFilteredItemsModel
);
...
...
@@ -391,7 +395,7 @@ angular.module('formService', ['ui.bootstrap'])
}
if
((
v
.
type
===
'ListNode'
||
v
.
type
===
'Node'
)
&&
v
.
widget
!==
'filter_interface'
)
{
//if (v.type === 'ListNode' || v.type === 'Node') {
//if (v.type === 'ListNode' || v.type === 'Node') {
scope
[
v
.
type
]
=
scope
[
v
.
type
]
||
{};
...
...
@@ -437,7 +441,7 @@ angular.module('formService', ['ui.bootstrap'])
if
(
scope
.
model
[
k
])
{
angular
.
forEach
(
scope
.
model
[
k
],
function
(
value
,
key
)
{
angular
.
forEach
(
value
,
function
(
y
,
x
)
{
if
(
y
.
constructor
===
Object
)
{
if
(
y
.
constructor
===
Object
)
{
scope
.
model
[
k
][
key
][
x
]
=
y
.
key
;
}
});
...
...
@@ -467,7 +471,8 @@ angular.module('formService', ['ui.bootstrap'])
if
(
ndate
==
'Invalid Date'
)
{
return
''
;
}
else
{
var
newdatearray
=
[
ndate
.
getDate
(),
ndate
.
getMonth
()
+
1
,
ndate
.
getFullYear
()];
var
newdatearray
=
[(
"0"
+
ndate
.
getDate
()).
slice
(
-
2
),
ndate
.
getMonth
()
+
1
,
ndate
.
getFullYear
()];
return
newdatearray
.
join
(
'.'
);
}
};
...
...
@@ -545,7 +550,7 @@ angular.module('formService', ['ui.bootstrap'])
return
re
.
test
(
tcno
);
};
generator
.
isValidDate
=
function
(
dateValue
)
{
var
datevalid
=
Date
.
parse
(
dateValue
)
===
Na
n
?
false
:
true
;
var
datevalid
=
Date
.
parse
(
dateValue
)
===
Na
N
?
false
:
true
;
return
datevalid
;
};
generator
.
asyncValidators
=
{
...
...
@@ -696,8 +701,6 @@ angular.module('formService', ['ui.bootstrap'])
"filter"
:
$scope
.
filter
};
debugger
;
return
$http
.
post
(
generator
.
makeUrl
(
$scope
),
data
)
.
success
(
function
(
data
)
{
if
(
redirectTo
===
true
)
{
...
...
@@ -842,8 +845,16 @@ angular.module('formService', ['ui.bootstrap'])
angular
.
forEach
(
childmodel
.
form
,
function
(
v
,
k
)
{
if
(
v
.
formName
===
key
)
{
//if (!childmodel.model[key].key) {
function
indexInTitleMap
(
element
,
index
,
array
){
if
(
element
[
'value'
]
===
value
){
return
element
;}}
reformattedModel
[
key
]
=
{
"key"
:
value
,
"unicode"
:
v
.
titleMap
.
find
(
indexInTitleMap
).
name
};
function
indexInTitleMap
(
element
,
index
,
array
)
{
if
(
element
[
'value'
]
===
value
)
{
return
element
;
}
}
reformattedModel
[
key
]
=
{
"key"
:
value
,
"unicode"
:
v
.
titleMap
.
find
(
indexInTitleMap
).
name
};
//}
}
});
...
...
@@ -900,7 +911,7 @@ angular.module('formService', ['ui.bootstrap'])
none
:
''
},
workOnForm
:
'linkedModelForm'
,
workOnDiv
:
'-modal'
+
formName
workOnDiv
:
'-modal'
+
formName
},
submitModalForm
:
function
()
{
$rootScope
.
$broadcast
(
'submitModalForm'
);
...
...
bower.json
View file @
104f9d80
...
...
@@ -15,6 +15,7 @@
"angular-resource"
:
"1.4.7"
,
"angular-cookies"
:
"1.4.7"
,
"angular-bootstrap"
:
"0.14.3"
,
"angular-i18n"
:
"1.4.7"
,
"font-awesome"
:
"4.3.0"
,
"angular-schema-form"
:
"0.8.3"
,
"angular-loading-bar"
:
"~0.8.0"
,
...
...
dist/app.js
View file @
104f9d80
This diff is collapsed.
Click to expand it.
dist/bower_components/components.js
View file @
104f9d80
This diff is collapsed.
Click to expand it.
dist/templates.js
View file @
104f9d80
...
...
@@ -222,68 +222,31 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
angular
.
module
(
"components/crud/templates/show.html"
,
[]).
run
([
"$templateCache"
,
function
(
$templateCache
)
{
$templateCache
.
put
(
"components/crud/templates/show.html"
,
"<div class=
\"
starter-template container
\"
>
\n
"
+
" <
!--<div class=
\"
personnel-info-container
\"
>--
>
\n
"
+
" <
div ng-repeat=
\"
obj in object
\"
>
\n
"
+
" <div class=
\"
info-block-header
\"
>
\n
"
+
" <h1>{{model}}</h1>
\n
"
+
" </div>
\n
"
+
" <div class=
\"
table-responsive
\"
>
\n
"
+
" <table class=
\"
table
\"
>
\n
"
+
" <tbody>
\n
"
+
" <tr ng-repeat=
\"
(key, value) in object
\"
>
\n
"
+
" <td class=
\"
col-md-2
\"
>{{key}}</td>
\n
"
+
" <td class=
\"
col-md-8
\"
>{{value}}</td>
\n
"
+
" </tr>
\n
"
+
" <thead ng-if=
\"
obj.type==='table-multiRow'
\"
>
\n
"
+
" <tr>
\n
"
+
" <td ng-repeat=
\"
(key, value) in obj[0]
\"
>{{key}}</td>
\n
"
+
" </tr>
\n
"
+
" </thead>
\n
"
+
" <tbody ng-if=
\"
obj.type==='table-multiRow'
\"
>
\n
"
+
" <tr ng-repeat=
\"
row in obj.fields
\"
>
\n
"
+
" <td ng-repeat=
\"
(k,v) in row
\"
>{{v}}</td>
\n
"
+
" </tr>
\n
"
+
" </tbody>
\n
"
+
" <tbody ng-if=
\"
obj.type==='table'
\"
>
\n
"
+
" <tr ng-repeat=
\"
(key, value) in obj.fields
\"
>
\n
"
+
" <td class=
\"
col-md-2
\"
>{{key}}</td>
\n
"
+
" <td class=
\"
col-md-8
\"
>{{value}}</td>
\n
"
+
" </tr>
\n
"
+
" </tbody>
\n
"
+
" </table>
\n
"
+
" </div>
\n
"
+
"
\n
"
+
" <!--<div class=
\"
personnel-info-left
\"
>-->
\n
"
+
"
\n
"
+
" <!--<!–<div class=
\"
generic-profile-picture
\"
>–>-->
\n
"
+
" <!--<!–<img src=
\"
../../img/sample-profile-pic.jpg
\"
/>–>-->
\n
"
+
" <!--<!–</div>–>-->
\n
"
+
" <!--<div class=
\"
info-block
\"
>-->
\n
"
+
" <!--<div class=
\"
info-block-header
\"
>-->
\n
"
+
" <!--<h1>{{model}}</h1>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– end of info-block-header –>-->
\n
"
+
" <!--<div class=
\"
info-block-body
\"
ng-repeat=
\"
(key, value) in object
\"
>-->
\n
"
+
" <!--<dl class=
\"
dl-horizontal
\"
>-->
\n
"
+
" <!--<dt>{{ key }}</dt>-->
\n
"
+
" <!--<dd>{{value}}</dd>-->
\n
"
+
" <!--</dl>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– end of info-block-body –>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!–<ul>–>-->
\n
"
+
" <!--<!–<li ng-repeat=
\"
(key, value) in object
\"
><span class=
\"
col-md-3
\"
>{{ key }}:</span>{{value}}</li>–>-->
\n
"
+
" <!--<!–<li>Pozisyon</li>–>-->
\n
"
+
" <!--<!–<li><i class=
\"
fa fa-phone
\"
></i> (+90) 123 456 7890</li>–>-->
\n
"
+
" <!--<!–<li><i class=
\"
fa fa-envelope
\"
></i> samplemail@mail.com</li>–>-->
\n
"
+
" <!--<!–<li><i class=
\"
fa fa-map-marker
\"
></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>–>-->
\n
"
+
" <!--<!–</ul>–>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– end of personnel-info-left –>-->
\n
"
+
" <!--<div class=
\"
personnel-info-right
\"
>-->
\n
"
+
" <!--<div class=
\"
info-block
\"
ng-repeat=
\"
(key, value) in listobjects
\"
>-->
\n
"
+
" <!--<div class=
\"
info-block-header
\"
>-->
\n
"
+
" <!--<h2>{{key}}</h2>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– end of info-block-header –>-->
\n
"
+
" <!--<div class=
\"
info-block-body
\"
ng-repeat=
\"
(k, v) in value
\"
>-->
\n
"
+
" <!--<dl class=
\"
dl-horizontal
\"
>-->
\n
"
+
" <!--<dt>{{k}}</dt>-->
\n
"
+
" <!--<dd>{{v}}</dd>-->
\n
"
+
" <!--</dl>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– end of info-block-body –>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– end of info block –>-->
\n
"
+
" <!--<!– end of info block –>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!--<!– personnel-info-left –>-->
\n
"
+
" <!--</div>-->
\n
"
+
" <!-- end of personnel-info-container -->
\n
"
+
" </div>
\n
"
+
"</div>"
);
}]);
...
...
@@ -606,19 +569,21 @@ angular.module("shared/templates/datefield.html", []).run(["$templateCache", fun
" class=
\"
form-control {{form.fieldHtmlClass}} datepickerfield
\"\n
"
+
" id=
\"
{{form.key.slice(-1)[0]}}
\"\n
"
+
" ng-model-options=
\"
form.ngModelOptions
\"\n
"
+
" ng-model=
\"
dt
\"\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
"
+
" type=
\"
date
\"\n
"
+
" datepicker-popup
\n
"
+
" is-open=
\"
status.opened
\"\n
"
+
" date-disabled=
\"
disabled(date, mode)
\"\n
"
+
" close-text=
\"
Close
\"
/>
\n
"
+
" type=
\"
text
\"\n
"
+
" uib-datepicker-popup=
\"
{{form.format}}
\"\n
"
+
" is-open=
\"
form.status.opened
\"\n
"
+
" close-text=
\"
Kapat
\"\n
"
+
" current-text=
\"
Bugün
\"\n
"
+
" clear-text=
\"
Temizle
\"\n
"
+
" ng-click=
\"
form.open($event)
\"
/>
\n
"
+
" <span class=
\"
input-group-btn
\"
>
\n
"
+
" <button type=
\"
button
\"
class=
\"
btn btn-default
\"
ng-click=
\"
open($event)
\"
>
\n
"
+
" <button type=
\"
button
\"
class=
\"
btn btn-default
\"
ng-click=
\"
form.
open($event)
\"
>
\n
"
+
" <i class=
\"
glyphicon glyphicon-calendar
\"
></i>
\n
"
+
" </button>
\n
"
+
" </span>
\n
"
+
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment