phrasing 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/images/phrasing_icon_edit_all.png +0 -0
- data/app/assets/javascripts/phrasing.js.erb +8 -57
- data/app/assets/stylesheets/phrasing_edit_mode_bubble.css.scss +92 -92
- data/app/views/phrasing/_initializer.html.haml +22 -14
- data/lib/phrasing.rb +1 -1
- data/lib/phrasing/version.rb +1 -1
- metadata +3 -3
- data/app/assets/images/phrasing_information_icon.png +0 -0
Binary file
|
@@ -18,32 +18,7 @@ var phrasing_setup = function(){
|
|
18
18
|
xhr.setRequestHeader("X-CSRF-Token", token);
|
19
19
|
});
|
20
20
|
|
21
|
-
// SPINNER
|
22
|
-
var opts = {
|
23
|
-
lines: 9, // The number of lines to draw
|
24
|
-
length: 0, // The length of each line
|
25
|
-
width: 7, // The line thickness
|
26
|
-
radius: 12, // The radius of the inner circle
|
27
|
-
corners: 1, // Corner roundness (0..1)
|
28
|
-
rotate: 0, // The rotation offset
|
29
|
-
direction: 1, // 1: clockwise, -1: counterclockwise
|
30
|
-
color: '#FFF', // #rgb or #rrggbb or array of colors
|
31
|
-
speed: 1.9, // Rounds per second
|
32
|
-
trail: 58, // Afterglow percentage
|
33
|
-
shadow: false, // Whether to render a shadow
|
34
|
-
hwaccel: false, // Whether to use hardware acceleration
|
35
|
-
className: 'spinner', // The CSS class to assign to the spinner
|
36
|
-
zIndex: 2e9, // The z-index (defaults to 2000000000)
|
37
|
-
top: 'auto', // Top position relative to parent in px
|
38
|
-
left: 'auto' // Left position relative to parent in px
|
39
|
-
};
|
40
|
-
|
41
|
-
var target = document.getElementById('phrasing-spinner');
|
42
|
-
var spinner = new Spinner(opts).spin(target);
|
43
|
-
spinner.stop();
|
44
|
-
|
45
21
|
// Hash size function
|
46
|
-
|
47
22
|
Object.size = function(obj) {
|
48
23
|
var size = 0, key;
|
49
24
|
for (key in obj) {
|
@@ -52,8 +27,6 @@ var phrasing_setup = function(){
|
|
52
27
|
return size;
|
53
28
|
};
|
54
29
|
|
55
|
-
|
56
|
-
|
57
30
|
///ON TEXTCHANGE TRIGGER AJAX
|
58
31
|
var trigger_binded_events_for_phrasable_class = 1;
|
59
32
|
var timer = {}
|
@@ -61,7 +34,8 @@ var phrasing_setup = function(){
|
|
61
34
|
|
62
35
|
$('.phrasable').on('DOMNodeInserted DOMNodeRemoved DOMCharacterDataModified', function(e){
|
63
36
|
|
64
|
-
$('#phrasing-edit-mode-bubble #phrasing-
|
37
|
+
$('#phrasing-edit-mode-bubble #phrasing-saved-status-headline p').text("Saving")
|
38
|
+
$('#phrasing-saved-status-indicator-circle').css('background-color', 'orange')
|
65
39
|
|
66
40
|
if (trigger_binded_events_for_phrasable_class == 1){
|
67
41
|
|
@@ -96,14 +70,7 @@ var phrasing_setup = function(){
|
|
96
70
|
type: "PUT",
|
97
71
|
url: url,
|
98
72
|
data: { new_value: content },
|
99
|
-
beforeSend: function(){
|
100
|
-
spinner.spin(target);
|
101
|
-
},
|
102
73
|
success: function(e){
|
103
|
-
spinner.stop();
|
104
|
-
|
105
|
-
// console.log("I've sent a ajax request: " + content);
|
106
|
-
|
107
74
|
trigger_binded_events_for_phrasable_class = 0;
|
108
75
|
if(content == "Empty"){
|
109
76
|
$('span.phrasable[data-url="'+ url +'"]').html(content)
|
@@ -113,20 +80,15 @@ var phrasing_setup = function(){
|
|
113
80
|
trigger_binded_events_for_phrasable_class = 1;
|
114
81
|
|
115
82
|
if (Object.size(timer_status) == 0){
|
116
|
-
$('#phrasing-edit-mode-bubble #phrasing-
|
83
|
+
$('#phrasing-edit-mode-bubble #phrasing-saved-status-headline p').text("Saved")
|
84
|
+
$('#phrasing-saved-status-indicator-circle').css('background-color', '#56AE45')
|
117
85
|
}
|
118
86
|
},
|
119
87
|
error: function(e){
|
120
|
-
|
121
|
-
|
122
|
-
var intervalIndex = 0;
|
123
|
-
$('#phrasing-edit-mode-bubble #phrasing-spinner p').css("color", "red").text(warningMessages[1])
|
124
|
-
setInterval(function(){
|
125
|
-
var text = warningMessages[intervalIndex++ % warningMessages.length]
|
126
|
-
$('#phrasing-edit-mode-bubble #phrasing-spinner p').css("color", "red").text(text)
|
127
|
-
},2000);
|
88
|
+
$('#phrasing-edit-mode-bubble #phrasing-saved-status-headline p').text("Error")
|
89
|
+
$('#phrasing-saved-status-indicator-circle').css('background-color', 'red')
|
128
90
|
}
|
129
|
-
})
|
91
|
+
});
|
130
92
|
}
|
131
93
|
|
132
94
|
// EDIT MODE SWITCH MODE BUTTON
|
@@ -151,18 +113,7 @@ var phrasing_setup = function(){
|
|
151
113
|
$('#edit-mode-onoffswitch').prop('checked', false)
|
152
114
|
}
|
153
115
|
|
154
|
-
// Information icon for the edit mode bubble
|
155
|
-
$('#phrasing-info-icon-container, #phrasing-info-container').on('click',function(){
|
156
|
-
if($('#phrasing-info-container').is(':visible')){
|
157
|
-
$('#phrasing-edit-mode-bubble').animate({height: 180}, 200, function(){
|
158
|
-
$('#phrasing-info-container').hide()
|
159
|
-
})
|
160
|
-
}else{
|
161
|
-
$('#phrasing-info-container').show();
|
162
|
-
$('#phrasing-edit-mode-bubble').animate({height: 255}, 200)
|
163
|
-
}
|
164
|
-
});
|
165
116
|
};
|
166
117
|
|
167
118
|
$(document).ready(phrasing_setup)
|
168
|
-
// $(document).on('page:load', phrasing_setup)
|
119
|
+
// $(document).on('page:load', phrasing_setup)
|
@@ -5,127 +5,127 @@
|
|
5
5
|
}
|
6
6
|
webkit-box-sizing:content-box;
|
7
7
|
box-sizing:content-box;
|
8
|
-
background: rgba(
|
9
|
-
color:
|
10
|
-
border: 2px solid
|
8
|
+
background: rgba(255,255,255, 1);
|
9
|
+
color:grey;
|
10
|
+
border: 2px solid #EFEFEF;
|
11
11
|
position: fixed;
|
12
|
-
width:
|
13
|
-
height:
|
12
|
+
width:130px;
|
13
|
+
height:135px;
|
14
14
|
bottom:10px;
|
15
15
|
right:10px;
|
16
16
|
z-index: 9999;
|
17
17
|
font-family: Arial, Helvetica, sans-serif;
|
18
18
|
font-size:14px;
|
19
|
+
-webkit-border-radius: 10px;
|
20
|
+
-moz-border-radius: 10px;
|
21
|
+
border-radius: 10px;
|
19
22
|
|
20
|
-
|
21
|
-
|
22
|
-
border-radius: 20px;
|
23
|
-
|
24
|
-
p#edit-mode-headline{
|
25
|
-
text-align: center;
|
26
|
-
padding-top:10px;
|
27
|
-
color:white;
|
28
|
-
font-weight: bold;
|
23
|
+
p{
|
24
|
+
line-height:20px;
|
29
25
|
}
|
26
|
+
::selection{ color: grey; background: white; }
|
30
27
|
|
31
|
-
|
32
|
-
|
28
|
+
#phrasing-edit-mode, #phrasing-saved-status, #phrasing-edit-all-phrases{
|
29
|
+
height:32px;
|
30
|
+
margin-top:10px;
|
31
|
+
}
|
32
|
+
#phrasing-edit-mode-headline{
|
33
|
+
height:30px;
|
34
|
+
width:45px;
|
35
|
+
float:left;
|
33
36
|
padding-left:15px;
|
34
|
-
|
35
|
-
width: 74px;
|
36
|
-
-webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
|
37
|
+
padding-top:5px;
|
37
38
|
}
|
38
|
-
|
39
|
-
|
39
|
+
#phrasing-onoffswitch{
|
40
|
+
float:left;
|
40
41
|
}
|
41
|
-
|
42
|
+
// On/Off Switch
|
43
|
+
.onoffswitch {
|
44
|
+
position: relative; width: 60px;
|
45
|
+
-webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
|
46
|
+
.onoffswitch-checkbox {
|
47
|
+
display: none;
|
48
|
+
}
|
49
|
+
.onoffswitch-label {
|
42
50
|
display: block; overflow: hidden; cursor: pointer;
|
43
|
-
border: 2px solid #
|
44
|
-
|
45
|
-
|
51
|
+
border: 2px solid #CCCCCC; border-radius: 5px;
|
52
|
+
}
|
53
|
+
.onoffswitch-inner {
|
46
54
|
width: 200%; margin-left: -100%;
|
47
55
|
-moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s;
|
48
56
|
-o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s;
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
.onoffswitch-switch {
|
67
|
-
width: 31px; margin: 0px;
|
57
|
+
&:before, &:after {
|
58
|
+
float: left; width: 50%; height: 25px; padding: 0; line-height: 25px;
|
59
|
+
font-size: 40px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
|
60
|
+
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; content: "";
|
61
|
+
}
|
62
|
+
&:before {
|
63
|
+
padding-left: 10px;
|
64
|
+
background-color: #56AE45;
|
65
|
+
}
|
66
|
+
&:after {
|
67
|
+
padding-right: 10px;
|
68
|
+
background-color: #CCCCCC;
|
69
|
+
text-align: right;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
.onoffswitch-switch {
|
73
|
+
width: 27px; margin: 0px;
|
68
74
|
background: #FFFFFF;
|
69
|
-
border:
|
70
|
-
position: absolute; top: 0; bottom: 0; right:
|
75
|
+
border: 3px solid #CCCCCC; border-radius: 5px;
|
76
|
+
position: absolute; top: 0; bottom: 0; right: 29px;
|
71
77
|
-moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s;
|
72
78
|
-o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s;
|
73
79
|
background-image: -moz-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
|
74
80
|
background-image: -webkit-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
|
75
81
|
background-image: -o-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
|
76
82
|
background-image: linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
|
77
|
-
}
|
78
|
-
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
|
79
|
-
margin-left: 0;
|
80
|
-
}
|
81
|
-
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
|
82
|
-
right: 0px;
|
83
|
-
}
|
84
|
-
|
85
|
-
// Spinner
|
86
|
-
#phrasing-spinner{
|
87
|
-
margin-top: 10px;
|
88
|
-
// background-color: black;
|
89
|
-
text-align: center;
|
90
|
-
font-weight: bold;
|
91
|
-
height:40px;
|
92
|
-
p{
|
93
|
-
color:white;
|
94
83
|
}
|
95
|
-
}
|
96
84
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
85
|
+
.onoffswitch-checkbox:checked {
|
86
|
+
+.onoffswitch-label {
|
87
|
+
border: 2px solid #56AE45;
|
88
|
+
.onoffswitch-inner {
|
89
|
+
margin-left: 0;
|
90
|
+
}
|
91
|
+
.onoffswitch-switch {
|
92
|
+
right: 0px;
|
93
|
+
border: 3px solid #56AE45;
|
94
|
+
}
|
106
95
|
}
|
107
96
|
}
|
108
97
|
}
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
98
|
+
#phrasing-saved-status-headline{
|
99
|
+
height:30px;
|
100
|
+
width:45px;
|
101
|
+
float:left;
|
102
|
+
padding-left:15px;
|
103
|
+
padding-top:5px;
|
104
|
+
}
|
105
|
+
#phrasing-saved-status-indicator{
|
106
|
+
float:left;
|
107
|
+
}
|
108
|
+
#phrasing-saved-status-indicator-circle{
|
109
|
+
background-color:green;
|
110
|
+
width:20px;
|
111
|
+
height:20px;
|
112
|
+
-webkit-border-radius: 10px;
|
113
|
+
-moz-border-radius: 10px;
|
114
|
+
margin-left:10px;
|
115
|
+
margin-top:5px;
|
116
|
+
}
|
117
|
+
#phrasing-edit-all-phrases-headline{
|
118
|
+
height:30px;
|
119
|
+
width:45px;
|
120
|
+
float:left;
|
121
|
+
padding-left:15px;
|
122
|
+
padding-top:5px;
|
116
123
|
}
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
p{
|
123
|
-
font-size:12px;
|
124
|
-
line-height:14px;
|
125
|
-
}
|
126
|
-
color: #8c8c8c;
|
127
|
-
&.phrasing-info-visible{
|
128
|
-
display:block;
|
124
|
+
#phrasing-edit-all-phrases-icon-container{
|
125
|
+
float:left;
|
126
|
+
.phrasing-edit-all-phrases-icon{
|
127
|
+
margin-left:10px;
|
128
|
+
margin-top:7px;
|
129
129
|
}
|
130
130
|
}
|
131
131
|
|
@@ -9,17 +9,25 @@
|
|
9
9
|
%button.italic i
|
10
10
|
|
11
11
|
#phrasing-edit-mode-bubble
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
.onoffswitch
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
12
|
+
|
13
|
+
#phrasing-edit-mode
|
14
|
+
#phrasing-edit-mode-headline
|
15
|
+
%p Edit
|
16
|
+
#phrasing-onoffswitch
|
17
|
+
.onoffswitch
|
18
|
+
%input#edit-mode-onoffswitch.onoffswitch-checkbox{checked: "checked", name: "onoffswitch", type: "checkbox"}/
|
19
|
+
%label.onoffswitch-label{for: "edit-mode-onoffswitch"}
|
20
|
+
.onoffswitch-inner
|
21
|
+
.onoffswitch-switch
|
22
|
+
|
23
|
+
#phrasing-saved-status
|
24
|
+
#phrasing-saved-status-headline
|
25
|
+
%p Saved
|
26
|
+
#phrasing-saved-status-indicator
|
27
|
+
#phrasing-saved-status-indicator-circle
|
28
|
+
|
29
|
+
#phrasing-edit-all-phrases
|
30
|
+
#phrasing-edit-all-phrases-headline
|
31
|
+
%p Edit all
|
32
|
+
#phrasing-edit-all-phrases-icon-container
|
33
|
+
= link_to image_tag("phrasing_icon_edit_all.png", class: 'phrasing-edit-all-phrases-icon'), phrasing_phrases_path, data: { no_turbolink: true }
|
data/lib/phrasing.rb
CHANGED
@@ -11,7 +11,7 @@ module Phrasing
|
|
11
11
|
initializer :assets, :group => :all do
|
12
12
|
::Rails.application.config.assets.paths << ::Rails.root.join('app', 'assets', 'fonts')
|
13
13
|
::Rails.application.config.assets.paths << ::Rails.root.join('app', 'assets', 'images')
|
14
|
-
::Rails.application.config.assets.precompile += ['editor.js', 'phrasing_engine.css', 'phrasing_engine.js', 'icomoon.dev.svg', 'icomoon.svg', 'icomoon.eot', 'icomoon.ttf', 'icomoon.woff', '
|
14
|
+
::Rails.application.config.assets.precompile += ['editor.js', 'phrasing_engine.css', 'phrasing_engine.js', 'icomoon.dev.svg', 'icomoon.svg', 'icomoon.eot', 'icomoon.ttf', 'icomoon.woff', 'phrasing_icon_edit_all.png']
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
data/lib/phrasing/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phrasing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-01-
|
13
|
+
date: 2014-01-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -125,7 +125,7 @@ files:
|
|
125
125
|
- app/assets/fonts/icomoon.svg
|
126
126
|
- app/assets/fonts/icomoon.ttf
|
127
127
|
- app/assets/fonts/icomoon.woff
|
128
|
-
- app/assets/images/
|
128
|
+
- app/assets/images/phrasing_icon_edit_all.png
|
129
129
|
- app/assets/javascripts/editor.js
|
130
130
|
- app/assets/javascripts/head.js
|
131
131
|
- app/assets/javascripts/phrasing.js.erb
|
Binary file
|