spina-template 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/app/.DS_Store +0 -0
- data/app/assets/.DS_Store +0 -0
- data/app/assets/images/.DS_Store +0 -0
- data/app/assets/images/spina/arrow-left.png +0 -0
- data/app/assets/images/spina/arrow-right.png +0 -0
- data/app/assets/images/spina/bg.jpg +0 -0
- data/app/assets/images/spina/danger-zone-ribbon.png +0 -0
- data/app/assets/images/spina/datepicker.png +0 -0
- data/app/assets/images/spina/divider.png +0 -0
- data/app/assets/images/spina/marker.png +0 -0
- data/app/assets/images/spina/mask.png +0 -0
- data/app/assets/images/spina/wheel.png +0 -0
- data/app/assets/javascripts/.DS_Store +0 -0
- data/app/assets/javascripts/spina/dropdown.js.coffee +64 -0
- data/app/assets/javascripts/spina/galleryselect.js.coffee +12 -0
- data/app/assets/javascripts/spina/modal.js.coffee +54 -0
- data/app/assets/javascripts/spina/switch.js.coffee +41 -0
- data/app/assets/javascripts/spina/tabs.js.coffee +13 -0
- data/app/assets/javascripts/spina/uploads.js.coffee +45 -0
- data/app/assets/javascripts/spina.js.coffee.erb +154 -0
- data/app/assets/stylesheets/.DS_Store +0 -0
- data/app/assets/stylesheets/spina/_admin_editing.css.sass +29 -0
- data/app/assets/stylesheets/spina/_buttons.css.sass +334 -0
- data/app/assets/stylesheets/spina/_cards.css.sass +57 -0
- data/app/assets/stylesheets/spina/_configuration.css.sass +16 -0
- data/app/assets/stylesheets/spina/_custom_animations.css.sass +61 -0
- data/app/assets/stylesheets/spina/_farbtastic.css.sass +37 -0
- data/app/assets/stylesheets/spina/_fonts.css.sass +14 -0
- data/app/assets/stylesheets/spina/_forms.css.sass +473 -0
- data/app/assets/stylesheets/spina/_gallery.css.sass +121 -0
- data/app/assets/stylesheets/spina/_grid.css.sass +12 -0
- data/app/assets/stylesheets/spina/_labels.css.sass +28 -0
- data/app/assets/stylesheets/spina/_login.css.sass +32 -0
- data/app/assets/stylesheets/spina/_mixins.css.scss +13 -0
- data/app/assets/stylesheets/spina/_modal.css.sass +158 -0
- data/app/assets/stylesheets/spina/_sortable_lists.css.sass +161 -0
- data/app/assets/stylesheets/spina/_tables.css.sass +144 -0
- data/app/assets/stylesheets/spina/_wysihtml5.css.sass +73 -0
- data/app/assets/stylesheets/spina/wysihtml5_textarea.css.sass +14 -0
- data/app/assets/stylesheets/spina.css.sass +521 -0
- data/lib/spina/template/version.rb +5 -0
- data/lib/spina/template.rb +12 -0
- data/spina-template.gemspec +26 -0
- data/vendor/.DS_Store +0 -0
- data/vendor/assets/.DS_Store +0 -0
- data/vendor/assets/javascripts/.DS_Store +0 -0
- data/vendor/assets/javascripts/spina/jquery.customfileinput.js +85 -0
- data/vendor/assets/javascripts/spina/jquery.datatables.js +12099 -0
- data/vendor/assets/javascripts/spina/jquery.farbtastic.js +345 -0
- data/vendor/assets/javascripts/spina/jquery.nestable.js +485 -0
- data/vendor/assets/javascripts/spina/jquery.sortable.js +3 -0
- data/vendor/assets/javascripts/spina/jquery.ui.datepicker-nl.js +23 -0
- data/vendor/assets/javascripts/spina/jquery.ui.js +6 -0
- data/vendor/assets/javascripts/spina/morris.js +1767 -0
- data/vendor/assets/javascripts/spina/nprogress.js +274 -0
- data/vendor/assets/javascripts/spina/raphael.js +8111 -0
- data/vendor/assets/javascripts/spina/wysihtml5.js +269 -0
- data/vendor/assets/javascripts/spina/wysihtml5_parser_rules.js +551 -0
- data/vendor/assets/stylesheets/.DS_Store +0 -0
- data/vendor/assets/stylesheets/spina/_animate.css +1 -0
- data/vendor/assets/stylesheets/spina/_morris.css +2 -0
- data/vendor/assets/stylesheets/spina/_normalize.css +396 -0
- data/vendor/assets/stylesheets/spina/_nprogress.css.scss +85 -0
- metadata +197 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 00bdd7df8525c183ce0fdfbb2ada2f7d43ff2576
|
4
|
+
data.tar.gz: c812da14e47a74e1d392359ea83dd5d9b1bc3a0f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4472ffeec75c71772a4f73229bc112eac3a4e5f149f0a2b4b07cf06764faa1f85d0291001739f2b07e04df1180bd1c84945b5399f7e721dbc204b0d89b5354b2
|
7
|
+
data.tar.gz: 09cd68e61acbbeb2c532408c86dcc481848b1bf6820bba0f03fe0d2399d797f76d5ff9e6cd504f8e18a42268953fc25f9505fa80f8469eedc3e8d8d349444e6b
|
data/.DS_Store
ADDED
Binary file
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Bram Jetten
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Spina::Template
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'spina-template'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install spina-template
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/app/.DS_Store
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,64 @@
|
|
1
|
+
$(document).on 'click', 'body.dropdown', ->
|
2
|
+
closeDropdown()
|
3
|
+
|
4
|
+
$(document).on 'click', '[data-trigger="dropdown"]', ->
|
5
|
+
trigger = $(this)
|
6
|
+
dropdown = $(trigger.attr('data-target'))
|
7
|
+
body = $('body')
|
8
|
+
|
9
|
+
if body.hasClass('dropdown')
|
10
|
+
trigger.removeClass('button-active')
|
11
|
+
body.removeClass('dropdown')
|
12
|
+
dropdown.hide()
|
13
|
+
else
|
14
|
+
trigger.addClass('button-active')
|
15
|
+
body.addClass('dropdown')
|
16
|
+
dropdown.show()
|
17
|
+
|
18
|
+
return false
|
19
|
+
|
20
|
+
$(document).on 'click', '[data-dropdown] ul, [data-dropdown] .sliding-dropdown', (e) ->
|
21
|
+
e.stopPropagation()
|
22
|
+
|
23
|
+
$(document).on 'click', '.slide-controls .previous, .slide-controls .next', (e) ->
|
24
|
+
e.preventDefault()
|
25
|
+
|
26
|
+
# Get sliding dropdown
|
27
|
+
sliding_dropdown = $(this).parents('.sliding-dropdown')
|
28
|
+
|
29
|
+
# Get active title
|
30
|
+
active_title = sliding_dropdown.find('.slide-title.active')
|
31
|
+
|
32
|
+
# Get previous and next titles
|
33
|
+
previous = active_title.prev('.slide-title')
|
34
|
+
next = active_title.next('.slide-title')
|
35
|
+
|
36
|
+
if $(this).hasClass('previous') and previous.length > 0
|
37
|
+
sliding_dropdown.find('.slide-title').removeClass('active')
|
38
|
+
previous.addClass('active')
|
39
|
+
target = previous.data('target')
|
40
|
+
sliding_dropdown.find('.slide').removeClass('active')
|
41
|
+
$(target).addClass('active')
|
42
|
+
|
43
|
+
else if $(this).hasClass('next') and next.length > 0
|
44
|
+
sliding_dropdown.find('.slide-title').removeClass('active')
|
45
|
+
next.addClass('active')
|
46
|
+
target = next.data('target')
|
47
|
+
sliding_dropdown.find('.slide').removeClass('active')
|
48
|
+
$(target).addClass('active')
|
49
|
+
|
50
|
+
if sliding_dropdown.find('.slide-title.active').next('.slide-title').length > 0
|
51
|
+
sliding_dropdown.find('.next').removeClass('muted')
|
52
|
+
else
|
53
|
+
sliding_dropdown.find('.next').addClass('muted')
|
54
|
+
|
55
|
+
if sliding_dropdown.find('.slide-title.active').prev('.slide-title').length > 0
|
56
|
+
sliding_dropdown.find('.previous').removeClass('muted')
|
57
|
+
else
|
58
|
+
sliding_dropdown.find('.previous').addClass('muted')
|
59
|
+
|
60
|
+
closeDropdown = ->
|
61
|
+
$('body').removeClass('dropdown')
|
62
|
+
$('[data-dropdown] ul, [data-dropdown] .sliding-dropdown').hide()
|
63
|
+
$('[data-trigger="dropdown"]').removeClass('button-active')
|
64
|
+
return false
|
@@ -0,0 +1,12 @@
|
|
1
|
+
$(document).on 'click', '.gallery .item', ->
|
2
|
+
gallery = $(this).parents('.gallery')
|
3
|
+
|
4
|
+
if gallery.data('multiselect') != undefined
|
5
|
+
$(this).toggleClass('selected')
|
6
|
+
checkbox = $(this).find('input:checkbox')
|
7
|
+
checkbox.prop("checked", !checkbox.prop("checked"))
|
8
|
+
else
|
9
|
+
gallery.find('.item').removeClass('selected')
|
10
|
+
gallery.find('.item input').prop('checked', false)
|
11
|
+
$(this).toggleClass('selected')
|
12
|
+
$(this).find('input').prop('checked', true)
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# jQuery plugin
|
2
|
+
$.hideModal = ->
|
3
|
+
hideModal()
|
4
|
+
|
5
|
+
$.fn.modal = ->
|
6
|
+
showModal($(this))
|
7
|
+
|
8
|
+
$(document).on 'click', 'a[data-toggle="modal"]', ->
|
9
|
+
link = $(this)
|
10
|
+
modal = $(link.attr('href'))
|
11
|
+
showModal(modal)
|
12
|
+
|
13
|
+
$(document).on 'click', 'body.overlay', ->
|
14
|
+
hideModal()
|
15
|
+
|
16
|
+
$(document).on 'click', '[data-dismiss="modal"]', ->
|
17
|
+
hideModal()
|
18
|
+
|
19
|
+
$(document).on 'keyup', 'body.overlay', (e) ->
|
20
|
+
hideModal() if e.keyCode == 27
|
21
|
+
|
22
|
+
$(document).on 'click', '.modal', (e) ->
|
23
|
+
e.stopPropagation()
|
24
|
+
|
25
|
+
hideModal = ->
|
26
|
+
$('body').removeClass('overlay')
|
27
|
+
$('#overlay .modal').addClass('flyOut')
|
28
|
+
$('#overlay').fadeOut 300, ->
|
29
|
+
$(this).remove()
|
30
|
+
return false
|
31
|
+
|
32
|
+
showModal = (element) ->
|
33
|
+
modal = element.clone()
|
34
|
+
modal.addClass('animated flyIn')
|
35
|
+
|
36
|
+
if $('#overlay').length < 1
|
37
|
+
$('body').append('<div id="overlay"></div>')
|
38
|
+
else
|
39
|
+
$('#overlay').html('')
|
40
|
+
|
41
|
+
maxheight = window.innerHeight - (window.innerHeight / 8) - 150
|
42
|
+
|
43
|
+
modal.css({"margin-top": window.innerHeight / 8})
|
44
|
+
modal.find('section').css({"max-height": maxheight})
|
45
|
+
|
46
|
+
modal.appendTo('#overlay')
|
47
|
+
$('#overlay').fadeIn(400)
|
48
|
+
modal.show()
|
49
|
+
|
50
|
+
modal.find('input[type="file"][data-customfileinput]').customFileInput()
|
51
|
+
modal.find('.new_photo').uploadPhoto()
|
52
|
+
|
53
|
+
$('body').addClass('overlay')
|
54
|
+
return false
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# jQuery plugin checkbox
|
2
|
+
$.fn.spinaSwitch = ->
|
3
|
+
return this.each ->
|
4
|
+
unless $(this).attr('data-plugin-switch')
|
5
|
+
input = $(this)
|
6
|
+
input.attr('data-plugin-switch', true)
|
7
|
+
input.hide()
|
8
|
+
|
9
|
+
# Check if it is checked
|
10
|
+
if input.is(':checked')
|
11
|
+
klass = "switch active"
|
12
|
+
else
|
13
|
+
klass = "switch"
|
14
|
+
|
15
|
+
# Insert new HTML into the DOM
|
16
|
+
input.after('<a href="#' + input.attr("id") + '" class="' + klass + '">
|
17
|
+
<span class="knob"></span>
|
18
|
+
</a>')
|
19
|
+
|
20
|
+
# Click handlers for checkbox
|
21
|
+
$(document).on 'click', 'a.switch', (e) ->
|
22
|
+
toggleSwitch(e)
|
23
|
+
|
24
|
+
$(document).on 'touchend', 'a.switch', (e) ->
|
25
|
+
toggleSwitch(e)
|
26
|
+
|
27
|
+
toggleSwitch = (e) ->
|
28
|
+
checkbox = $(e.currentTarget)
|
29
|
+
input = $(checkbox.attr("href"))
|
30
|
+
|
31
|
+
if checkbox.hasClass('activated') || checkbox.hasClass('active')
|
32
|
+
checkbox.removeClass('active')
|
33
|
+
checkbox.removeClass('activated')
|
34
|
+
checkbox.addClass('deactivated')
|
35
|
+
input.prop("checked", false)
|
36
|
+
else
|
37
|
+
checkbox.addClass('activated')
|
38
|
+
checkbox.removeClass('deactivated')
|
39
|
+
input.prop("checked", true)
|
40
|
+
|
41
|
+
return false
|
@@ -0,0 +1,13 @@
|
|
1
|
+
$(document).on 'click', '.tabs li a[href^="#"]', ->
|
2
|
+
link = $(this)
|
3
|
+
tabs = link.parents('.tabs')
|
4
|
+
|
5
|
+
# Remove active
|
6
|
+
$('.tab-content').removeClass('active')
|
7
|
+
tabs.find('li').removeClass('active')
|
8
|
+
|
9
|
+
# Add active
|
10
|
+
link.parent('li').addClass('active')
|
11
|
+
$(link.attr('href')).addClass('active')
|
12
|
+
|
13
|
+
return false
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Upload photo
|
2
|
+
$.fn.uploadPhoto = ->
|
3
|
+
$(this).fileupload
|
4
|
+
dataType: "script"
|
5
|
+
singleFileUploads: true
|
6
|
+
dropZone: $(this).find('.photo-field')
|
7
|
+
maxNumberOfFiles: 1
|
8
|
+
add: (e, data) ->
|
9
|
+
types = /(\.|\/)(gif|jpe?g|png)$/i
|
10
|
+
file = data.files[0]
|
11
|
+
if types.test(file.type) || types.test(file.name)
|
12
|
+
NProgress.start()
|
13
|
+
$(this).find('.customfile').addClass('loading')
|
14
|
+
data.submit()
|
15
|
+
else
|
16
|
+
alert("#{file.name} is geen gif-, jpeg- of png-bestand")
|
17
|
+
progress: (e, data) ->
|
18
|
+
if data.context
|
19
|
+
NProgress.set(data.loaded / data.total)
|
20
|
+
done: (e, data) ->
|
21
|
+
$(this).find('.customfile').removeClass('loading')
|
22
|
+
NProgress.done()
|
23
|
+
|
24
|
+
# Upload document
|
25
|
+
$.fn.uploadDocument = ->
|
26
|
+
$(this).fileupload
|
27
|
+
dataType: "script"
|
28
|
+
singleFileUploads: true
|
29
|
+
dropZone: $(this).find('.attachment-field')
|
30
|
+
maxNumberOfFiles: 1
|
31
|
+
add: (e, data) ->
|
32
|
+
types = /(\.|\/)(pdf|docx?|rtf|txt)$/i
|
33
|
+
file = data.files[0]
|
34
|
+
if types.test(file.type) || types.test(file.name)
|
35
|
+
NProgress.start()
|
36
|
+
$(this).find('.customfile').addClass('loading')
|
37
|
+
data.submit()
|
38
|
+
else
|
39
|
+
alert("#{file.name} is geen pdf-, word-, txt- of rtf-bestand")
|
40
|
+
progress: (e, data) ->
|
41
|
+
if data.context
|
42
|
+
NProgress.set(data.loaded / data.total)
|
43
|
+
done: (e, data) ->
|
44
|
+
$(this).find('.customfile').removeClass('loading')
|
45
|
+
NProgress.done()
|
@@ -0,0 +1,154 @@
|
|
1
|
+
#= require spina/jquery.datatables
|
2
|
+
#= require spina/jquery.ui
|
3
|
+
#= require spina/jquery.ui.datepicker-nl
|
4
|
+
#= require spina/jquery.sortable
|
5
|
+
#= require spina/jquery.nestable
|
6
|
+
#= require spina/jquery.customfileinput
|
7
|
+
#= require spina/jquery.farbtastic
|
8
|
+
#= require jquery-fileupload/basic
|
9
|
+
#= require spina/raphael
|
10
|
+
#= require spina/morris
|
11
|
+
#= require spina/nprogress
|
12
|
+
#= require spina/wysihtml5
|
13
|
+
#= require spina/wysihtml5_parser_rules
|
14
|
+
|
15
|
+
#= require spina/switch
|
16
|
+
#= require spina/modal
|
17
|
+
#= require spina/tabs
|
18
|
+
#= require spina/dropdown
|
19
|
+
#= require spina/galleryselect
|
20
|
+
#= require spina/uploads
|
21
|
+
|
22
|
+
# Nprogress
|
23
|
+
$(document).on 'page:fetch', -> NProgress.start()
|
24
|
+
$(document).on 'page:change', -> NProgress.done()
|
25
|
+
$(document).on 'page:restore', -> NProgress.remove()
|
26
|
+
|
27
|
+
# Clickable TR's
|
28
|
+
$(document).on 'click', '.table-clickable tbody tr', ->
|
29
|
+
checkbox = $(this).find('input[type="checkbox"]:first, input[type="radio"]:first')
|
30
|
+
checkbox.prop("checked", !checkbox.prop("checked"))
|
31
|
+
|
32
|
+
# Search inputs
|
33
|
+
$(document).on 'keyup', '.search-input input', (e) ->
|
34
|
+
$(this).parent().removeClass('animated small-shake')
|
35
|
+
if $(this).val() == ""
|
36
|
+
$(this).parent().find('.clear-input').fadeOut(200)
|
37
|
+
if e.keyCode == 13
|
38
|
+
$(this).parent().addClass('animated small-shake')
|
39
|
+
else
|
40
|
+
$(this).parent().find('.clear-input').fadeIn(200)
|
41
|
+
|
42
|
+
$(document).on 'click', '.clear-input', ->
|
43
|
+
link = $(this)
|
44
|
+
input = link.siblings('input')
|
45
|
+
input.val("")
|
46
|
+
input.focus()
|
47
|
+
input.trigger("keyup")
|
48
|
+
link.fadeOut(200)
|
49
|
+
return false
|
50
|
+
|
51
|
+
$(document).on 'keyup + change', '.table-container .search-input input', ->
|
52
|
+
datatable = $(this).parent().parent().find('table.datatable').dataTable()
|
53
|
+
datatable.fnFilter($(this).val())
|
54
|
+
|
55
|
+
$(document).on 'change', '.dd', ->
|
56
|
+
serialized = $(this).nestable('serialize')
|
57
|
+
sort_url = $(this).data('sort-url')
|
58
|
+
$.post sort_url, { list: serialized }
|
59
|
+
|
60
|
+
# Datatables
|
61
|
+
|
62
|
+
ready = ->
|
63
|
+
|
64
|
+
# Custom file
|
65
|
+
$('input[type="file"][data-customfileinput]:visible').each ->
|
66
|
+
$(this).customFileInput()
|
67
|
+
|
68
|
+
# Image upload
|
69
|
+
$('.new_photo').uploadPhoto()
|
70
|
+
|
71
|
+
# Colorpicker
|
72
|
+
$('.colorpicker').each ->
|
73
|
+
colorpicker = $(this).find('.colorpicker-container')
|
74
|
+
field = $(this).find('input')
|
75
|
+
|
76
|
+
$.farbtastic colorpicker, (color) ->
|
77
|
+
field.val(color)
|
78
|
+
field.css('color', color)
|
79
|
+
|
80
|
+
$('.colorpicker input').focus ->
|
81
|
+
container = $(this).parent()
|
82
|
+
colorpicker = container.find('.colorpicker-container')
|
83
|
+
$.farbtastic(colorpicker).setColor($(this).val())
|
84
|
+
container.find('.farbtastic').show()
|
85
|
+
|
86
|
+
$('.colorpicker input').blur ->
|
87
|
+
container = $(this).parent()
|
88
|
+
container.find('.farbtastic').hide()
|
89
|
+
|
90
|
+
# Document upload
|
91
|
+
$('.new_document').uploadDocument()
|
92
|
+
|
93
|
+
# Login wrapper
|
94
|
+
$('#login_wrapper').css('margin-top', $(document).innerHeight() / 8)
|
95
|
+
|
96
|
+
# Wysihtml5 editor
|
97
|
+
$('.wysihtml5-container').each ->
|
98
|
+
container = $(this)
|
99
|
+
textarea = container.find('textarea')
|
100
|
+
toolbar = container.find('.toolbar')
|
101
|
+
|
102
|
+
editor = new wysihtml5.Editor textarea.attr('id'), {
|
103
|
+
toolbar: toolbar.attr('id'),
|
104
|
+
useLineBreaks: false,
|
105
|
+
parserRules: wysihtml5ParserRules,
|
106
|
+
stylesheets: ["<%= asset_path 'spina/wysihtml5_textarea.css' %>"]
|
107
|
+
}
|
108
|
+
|
109
|
+
editor.on "load", ->
|
110
|
+
container.data("wysihtml5", editor)
|
111
|
+
|
112
|
+
editor.on "focus", ->
|
113
|
+
container.find(".choose-text-type").fadeIn(100)
|
114
|
+
|
115
|
+
editor.on "blur", ->
|
116
|
+
container.find(".choose-text-type").fadeOut(100)
|
117
|
+
|
118
|
+
$(".dd").nestable
|
119
|
+
maxDepth: 3
|
120
|
+
|
121
|
+
# Switch
|
122
|
+
if $('input[data-switch]').length > 0
|
123
|
+
$('input[data-switch]').spinaSwitch()
|
124
|
+
|
125
|
+
# Datepicker
|
126
|
+
if $('.datepicker').length > 0
|
127
|
+
$('.datepicker').datepicker()
|
128
|
+
|
129
|
+
# Datatable
|
130
|
+
if $('.datatable').length > 0
|
131
|
+
$('table.datatable').dataTable
|
132
|
+
"bLengthChange": false,
|
133
|
+
"oLanguage": {
|
134
|
+
"sProcessing": "Bezig...",
|
135
|
+
"sLengthMenu": "_MENU_ resultaten weergeven",
|
136
|
+
"sZeroRecords": "Geen resultaten gevonden",
|
137
|
+
"sInfo": "_START_ tot _END_ van _TOTAL_ resultaten",
|
138
|
+
"sInfoEmpty": "Geen resultaten om weer te geven",
|
139
|
+
"sInfoFiltered": " (gefilterd uit _MAX_ resultaten)",
|
140
|
+
"sInfoPostFix": "",
|
141
|
+
"sSearch": "Zoeken:",
|
142
|
+
"sEmptyTable": "Geen resultaten aanwezig in de tabel",
|
143
|
+
"sInfoThousands": ".",
|
144
|
+
"sLoadingRecords": "Een moment geduld aub - bezig met laden...",
|
145
|
+
"oPaginate": {
|
146
|
+
"sFirst": "Eerste",
|
147
|
+
"sLast": "Laatste",
|
148
|
+
"sNext": "Volgende",
|
149
|
+
"sPrevious": "Vorige"
|
150
|
+
}
|
151
|
+
}
|
152
|
+
|
153
|
+
$(document).ready(ready)
|
154
|
+
$(document).on 'page:load', ready
|
Binary file
|
@@ -0,0 +1,29 @@
|
|
1
|
+
// Configuration
|
2
|
+
@import configuration
|
3
|
+
|
4
|
+
// Normalizing
|
5
|
+
@import spina/normalize
|
6
|
+
|
7
|
+
// Mixins
|
8
|
+
@import bourbon
|
9
|
+
@import neat
|
10
|
+
@import mixins
|
11
|
+
|
12
|
+
// Grid
|
13
|
+
@import grid
|
14
|
+
|
15
|
+
// Fonts
|
16
|
+
@import fonts
|
17
|
+
|
18
|
+
#admin_bar
|
19
|
+
background: #f5f5f5
|
20
|
+
border-bottom: 1px solid #ddd
|
21
|
+
font-family: "Proxima Nova"
|
22
|
+
padding: 12px 12px 8px 0
|
23
|
+
text-align: right
|
24
|
+
|
25
|
+
// Styles
|
26
|
+
@import buttons
|
27
|
+
|
28
|
+
.button.button-hollow
|
29
|
+
background: #fff
|