express_translate 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -98,7 +98,7 @@ body#express_translate {
98
98
  float: left;
99
99
  width: 130px;
100
100
  height: 130px;
101
- background: #3e94d1;
101
+ background-color: #3e94d1;
102
102
  border-radius: 80px;
103
103
  border:3px solid #fff;
104
104
  box-shadow:0px 0px 2px #888;
@@ -108,10 +108,15 @@ body#express_translate {
108
108
  transition:all 0.5s;
109
109
  -webkit-transition:all 0.5s;
110
110
  -moz-transition:all 0.5s;
111
+ background-repeat:no-repeat;
112
+ background-position:center 13%;
113
+ background-size:25%;
111
114
 
112
115
  &:hover {
113
116
  box-shadow:0px 0px 3px #665;
114
- background: #398ac4;
117
+ background-color: #398ac4;
118
+ background-position:center 8%;
119
+ background-size:35%;
115
120
  & > p {display:none;}
116
121
  h5 {display:block;}
117
122
  h4 {display:block;}
@@ -310,7 +315,7 @@ body#express_translate {
310
315
  }
311
316
 
312
317
  &.origin_true {
313
- background: #0B61A4;
318
+ background-color: #0B61A4;
314
319
  }
315
320
 
316
321
  &.add_files {
@@ -31,6 +31,12 @@ class ExpressTranslate::AccountController < ExpressTranslate::BaseController
31
31
  string = (0...50).map { o[rand(o.length)] }.join
32
32
  end
33
33
 
34
+ # Reset account with url
35
+ def reset
36
+ Account.reset
37
+ redirect_to action: "login"
38
+ end
39
+
34
40
  # Check login status function
35
41
  # If logined auto change location for Client
36
42
  def check_login
@@ -7,6 +7,11 @@ class ExpressTranslate::Ajax::CodesController < ActionController::Base
7
7
  require 'csv'
8
8
  include ExpressTranslate
9
9
 
10
+ # Load all codes
11
+ def code_load
12
+ load_content_code(params)
13
+ end
14
+
10
15
  # Add code
11
16
  # The first: selector LanguageDetail want to add with Language ID and Package ID
12
17
  # After: add code for LanguageDetail selected
@@ -28,7 +33,6 @@ class ExpressTranslate::Ajax::CodesController < ActionController::Base
28
33
  load_content_code(params)
29
34
  end
30
35
 
31
-
32
36
  # Delete code
33
37
  # The first: selector LanguageDetail want to add with Language ID and Package ID
34
38
  # Next step: find and remove code data
@@ -46,8 +50,20 @@ class ExpressTranslate::Ajax::CodesController < ActionController::Base
46
50
  # The second: selector Language want to show
47
51
  def load_content_code(params)
48
52
  @origin_lang = Language.get_origin(params[:pack])
49
- @LanguageDetail = LanguageDetail
50
53
  @lang = {'id'=> params[:lang], 'packages'=> params[:pack]}
51
- render :action => :code_update
54
+ data = []
55
+ LanguageDetail.info(@origin_lang).all.each_with_index do |item, index|
56
+ is_origin = @origin_lang["id"] == @lang["id"]
57
+ code = LanguageDetail.info(@lang).find(item['code']) if !is_origin
58
+ data.push({
59
+ index: index + 1,
60
+ item_code: item["code"],
61
+ item_text: item["text"],
62
+ code_text: is_origin ? item["text"] : (code.present? ? code["text"] : ""),
63
+ origin_lang: is_origin,
64
+ origin_list: is_origin ? "origin_list" : ""
65
+ })
66
+ end
67
+ render json: {success: true, data: data}
52
68
  end
53
69
  end
@@ -1,5 +1,5 @@
1
1
  <% @languages.each do |lang| %>
2
- <a class="lang origin_<%= lang['is_origin'] %>" href="/express_translate/language/<%= params[:packages] %>/<%= lang['id'] %>">
2
+ <a class="lang origin_<%= lang['is_origin'] %>" href="/express_translate/language/<%= params[:packages] %>/<%= lang['id'] %>" style="background-image: url('/assets/express_translate/flags/<%= lang['id'] %>.png')">
3
3
  <span><%= lang['text'].slice(0,1).capitalize + lang['text'].slice(1..-1) %></span>
4
4
  <p><%= (@LanguageDetail.info(lang).all.count.to_f / (@max == 0 ? 1 : @max) * 100).to_i %>%</p>
5
5
  <h5><%= @LanguageDetail.info(lang).all.count %>/<%= @max %></h5>
@@ -1,7 +1,6 @@
1
1
  <div class="content" id="content_code">
2
- <%= render "/express_translate/ajax/codes/content_code" %>
2
+
3
3
  </div>
4
-
5
4
  <div class="popup">
6
5
  <form id="add_code">
7
6
  <div class="title">Add Code</div>
@@ -18,6 +17,8 @@
18
17
  </form>
19
18
  </div>
20
19
 
20
+ <%= render "/express_translate/templates/code_item" %>
21
+
21
22
  <script>
22
23
 
23
24
  <% if @origin_lang["id"] == params["id"] %>
@@ -48,14 +49,15 @@
48
49
  text: edit.find(".new_value").val()
49
50
  },
50
51
  success: function(data) {
51
- setTimeout(function() {
52
+ if (data.success) {
53
+ var template = Handlebars.compile($("#code_item").html());
54
+ var html = template(data);
52
55
  item.removeClass("wait");
53
56
  item.removeClass("update");
54
57
  window.notification("Successful for update!", true);
55
- contentCode.html(data);
58
+ contentCode.html(html);
56
59
  runJavascriptsCode();
57
- }, 500);
58
-
60
+ }
59
61
  }
60
62
  })
61
63
  }
@@ -71,10 +73,12 @@
71
73
  text: form.find("#text").val()
72
74
  },
73
75
  success: function(data) {
74
- if (typeof(data.success) == "undefined"){
76
+ if (data.success) {
77
+ var template = Handlebars.compile($("#code_item").html());
78
+ var html = template(data);
75
79
  popup.bPopup().close();
76
80
  window.notification("Successful for save!", true);
77
- contentCode.html(data);
81
+ contentCode.html(html);
78
82
  runJavascriptsCode();
79
83
  } else {
80
84
  window.notification(data.error, false);
@@ -142,12 +146,17 @@
142
146
  pack: "<%= params[:package] %>"
143
147
  },
144
148
  success: function(data) {
145
- setTimeout(function() {
146
- item.removeClass("wait");
149
+ item.removeClass("wait");
150
+ if (data.success) {
151
+ var template = Handlebars.compile($("#code_item").html());
152
+ var html = template(data);
153
+ popup.bPopup().close();
147
154
  window.notification("Successful for delete!", true);
148
- $("#"+$(event.target).attr("data_show")).html(data);
155
+ contentCode.html(html);
149
156
  runJavascriptsCode();
150
- }, 500);
157
+ } else {
158
+ window.notification(data.error, false);
159
+ }
151
160
  }
152
161
  })
153
162
  },
@@ -174,6 +183,24 @@
174
183
  })
175
184
  }
176
185
 
177
- runJavascriptsCode();
186
+ var load_index = function(args) {
187
+ $.ajax({
188
+ type: "POST",
189
+ url: "/express_translate/ajax/code/load",
190
+ data: {
191
+ lang: "<%= params[:id] %>",
192
+ pack: "<%= params[:package] %>",
193
+ },
194
+ success: function(data) {
195
+ if (data.success) {
196
+ var template = Handlebars.compile($("#code_item").html());
197
+ contentCode.html(template(data));
198
+ runJavascriptsCode();
199
+ }
200
+ }
201
+ })
202
+ }
203
+
204
+ load_index();
178
205
 
179
206
  </script>
@@ -0,0 +1,49 @@
1
+ <script id="code_item" type="text/x-handlebars-template">
2
+ {{#each data}}
3
+ <div class="item_box" data="{{item_code}}">
4
+ <h6 class="index">{{index}}</h6>
5
+ <h6 class="code">{{item_code}}</h6>
6
+
7
+ <div class='edit'>
8
+ <a class='btn' href="/express_translate/ajax/code/update" data="{{item_code}}" type="update_code" data_show="content_code">Save</a>
9
+ <a class='btn btn_cancel' href="#">Cancel</a>
10
+ <div class="col1 btn_cancel">
11
+ <h2><b>Origin:</b></h2>
12
+ <span>{{item_text}}</span>
13
+ </div>
14
+ <div class="col1">
15
+ <h2><b>Translate:</b></h2>
16
+ <textarea class="new_value" href="/express_translate/ajax/code/update" data="{{item_code}}">{{code_text}}</textarea>
17
+ </div>
18
+ </div>
19
+
20
+ <div class="show {{origin_list}}">
21
+ <a class='btn btn_edit' href="#">Edit</a>
22
+ {{#unless origin_lang}}
23
+ <a class='btn btn_delete' href="/express_translate/ajax/code/delete" data="{{item_code}}" type="delete_code" data_show="content_code">Delete</a>
24
+ <div class="col1">
25
+ <h2><b>Origin:</b></h2>
26
+ <span class="origin_span">{{item_text}}</span>
27
+ <hr>
28
+ </div>
29
+ {{/unless}}
30
+ <div class="col1 btn_edit">
31
+ <h2><b>Translate:</b></h2>
32
+ <span class="trans_span">{{code_text}}</span>
33
+ </div>
34
+ </div>
35
+
36
+ <div class="waiting">
37
+ <div class="bubblingG">
38
+ <p id="bubblingG_1"></p>
39
+ <p id="bubblingG_2"></p>
40
+ <p id="bubblingG_3"></p>
41
+ </div>
42
+ </div>
43
+
44
+ <div class="delete_dialog_{{item_code}}" style="display: none">
45
+ <h4>Are you sure you want to delete?</br>{{item_text}}</h4>
46
+ </div>
47
+ </div>
48
+ {{/each}}
49
+ </script>
data/config/routes.rb CHANGED
@@ -11,7 +11,11 @@ Rails.application.routes.draw do
11
11
  get "/login" => "express_translate/account#login"
12
12
  post "/login" => "express_translate/account#login_check"
13
13
 
14
+ # TOOLS
15
+ get "/reset/account" => "express_translate/account#reset"
16
+
14
17
  # CODE
18
+ post "/ajax/code/load" => 'express_translate/ajax/codes#code_load'
15
19
  post "/ajax/code/add" => 'express_translate/ajax/codes#code_add'
16
20
  post "/ajax/code/update" => 'express_translate/ajax/codes#code_update'
17
21
  post "/ajax/code/delete" => 'express_translate/ajax/codes#code_delete'
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "express_translate"
8
- s.version = "1.0.5"
8
+ s.version = "1.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Karl"]
@@ -111,6 +111,7 @@ Gem::Specification.new do |s|
111
111
  "app/assets/javascript/express_translate/application.js",
112
112
  "app/assets/javascript/express_translate/base.js",
113
113
  "app/assets/javascript/express_translate/bpopup.js",
114
+ "app/assets/javascript/express_translate/handlebars-v1.3.0.js",
114
115
  "app/assets/javascript/express_translate/jquery-ui-1.10.4.js",
115
116
  "app/assets/javascript/express_translate/translate.layout.js",
116
117
  "app/assets/javascript/express_translate/wSelect.js",
@@ -138,8 +139,6 @@ Gem::Specification.new do |s|
138
139
  "app/views/.DS_Store",
139
140
  "app/views/express_translate/.DS_Store",
140
141
  "app/views/express_translate/account/login.html.erb",
141
- "app/views/express_translate/ajax/codes/_content_code.html.erb",
142
- "app/views/express_translate/ajax/codes/code_update.html.erb",
143
142
  "app/views/express_translate/ajax/languages/_content_language.html.erb",
144
143
  "app/views/express_translate/ajax/languages/language_update.html.erb",
145
144
  "app/views/express_translate/ajax/packages/_content_index.html.erb",
@@ -148,6 +147,7 @@ Gem::Specification.new do |s|
148
147
  "app/views/express_translate/options/index.html.erb",
149
148
  "app/views/express_translate/options/language_detail.html.erb",
150
149
  "app/views/express_translate/options/languages.html.erb",
150
+ "app/views/express_translate/templates/_code_item.html.erb",
151
151
  "app/views/layouts/express_translate/login.html.erb",
152
152
  "app/views/layouts/express_translate/translate.html.erb",
153
153
  "config/languages.yml",
@@ -27,5 +27,10 @@ module ExpressTranslate
27
27
  encode = encode.split("=").join()
28
28
  encode = encode.split("\n").join()
29
29
  end
30
+
31
+ def self.reset
32
+ Database.redis.del("account")
33
+ self.seed
34
+ end
30
35
  end
31
36
  end
@@ -5,8 +5,7 @@ module ExpressTranslate
5
5
  # Reset all account
6
6
  # Synchronize account with config file
7
7
  def reset_data
8
- Database.redis.del("account")
9
- Account.seed
8
+ Account.reset
10
9
  puts "Reset account is successful!"
11
10
  end
12
11
  end
@@ -13,9 +13,9 @@ package:
13
13
 
14
14
  account:
15
15
  -
16
- username: "karl_nguyen"
16
+ username: "username"
17
17
  password: "password"
18
18
  -
19
- username: "karl_nguyen_1"
19
+ username: "express_translate"
20
20
  password: "password"
21
21
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: express_translate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -273,6 +273,7 @@ files:
273
273
  - app/assets/javascript/express_translate/application.js
274
274
  - app/assets/javascript/express_translate/base.js
275
275
  - app/assets/javascript/express_translate/bpopup.js
276
+ - app/assets/javascript/express_translate/handlebars-v1.3.0.js
276
277
  - app/assets/javascript/express_translate/jquery-ui-1.10.4.js
277
278
  - app/assets/javascript/express_translate/translate.layout.js
278
279
  - app/assets/javascript/express_translate/wSelect.js
@@ -300,8 +301,6 @@ files:
300
301
  - app/views/.DS_Store
301
302
  - app/views/express_translate/.DS_Store
302
303
  - app/views/express_translate/account/login.html.erb
303
- - app/views/express_translate/ajax/codes/_content_code.html.erb
304
- - app/views/express_translate/ajax/codes/code_update.html.erb
305
304
  - app/views/express_translate/ajax/languages/_content_language.html.erb
306
305
  - app/views/express_translate/ajax/languages/language_update.html.erb
307
306
  - app/views/express_translate/ajax/packages/_content_index.html.erb
@@ -310,6 +309,7 @@ files:
310
309
  - app/views/express_translate/options/index.html.erb
311
310
  - app/views/express_translate/options/language_detail.html.erb
312
311
  - app/views/express_translate/options/languages.html.erb
312
+ - app/views/express_translate/templates/_code_item.html.erb
313
313
  - app/views/layouts/express_translate/login.html.erb
314
314
  - app/views/layouts/express_translate/translate.html.erb
315
315
  - config/languages.yml
@@ -406,7 +406,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
406
406
  version: '0'
407
407
  segments:
408
408
  - 0
409
- hash: 3987829692264650777
409
+ hash: 2008451929382581134
410
410
  required_rubygems_version: !ruby/object:Gem::Requirement
411
411
  none: false
412
412
  requirements:
@@ -1,48 +0,0 @@
1
- <% @LanguageDetail.info(@origin_lang).all.each_with_index do |item, index| %>
2
- <div class="item_box" data="<%= item['code'] %>">
3
- <h6 class="index"><%= index + 1 %></h6>
4
- <h6 class="code"><%= item['code'] %></h6>
5
-
6
- <div class='edit'>
7
- <a class='btn' href="/express_translate/ajax/code/update" data="<%= item['code'] %>" type="update_code" data_show="content_code">Save</a>
8
- <a class='btn btn_cancel' href="#">Cancel</a>
9
- <div class="col1 btn_cancel">
10
- <h2><b>Origin:</b></h2>
11
- <span><%= item['text'] %></span>
12
- </div>
13
- <div class="col1">
14
- <h2><b>Translate:</b></h2>
15
- <% code = @LanguageDetail.info(@lang).find(item['code']) %>
16
- <textarea class="new_value" href="/express_translate/ajax/code/update" data="<%= item['code'] %>"><%= code.nil? ? "" : code['text'] %></textarea>
17
- </div>
18
- </div>
19
-
20
- <div class="show <%= @origin_lang["id"] == params["id"] ? "origin_list" : "" %>">
21
- <a class='btn btn_edit' href="#">Edit</a>
22
- <% if @origin_lang["id"] != @lang["id"] %>
23
- <a class='btn btn_delete' href="/express_translate/ajax/code/delete" data="<%= item['code'] %>" type="delete_code" data_show="content_code">Delete</a>
24
- <div class="col1">
25
- <h2><b>Origin:</b></h2>
26
- <span class="origin_span"><%= item['text'] %></span>
27
- <hr>
28
- </div>
29
- <% end %>
30
- <div class="col1 btn_edit">
31
- <h2><b>Translate:</b></h2>
32
- <span class="trans_span"><%= code.nil? ? "" : code['text'] %></span>
33
- </div>
34
- </div>
35
-
36
- <div class="waiting">
37
- <div class="bubblingG">
38
- <p id="bubblingG_1"></p>
39
- <p id="bubblingG_2"></p>
40
- <p id="bubblingG_3"></p>
41
- </div>
42
- </div>
43
-
44
- <div class="delete_dialog_<%= item['code'] %>" style="display: none">
45
- <h4>Are you sure you want to delete?</br><%= item['text'] %></h4>
46
- </div>
47
- </div>
48
- <% end %>
@@ -1 +0,0 @@
1
- <%= render 'content_code' %>