browser_app_base 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a22a122d81077a56ab0c76ef5faa6bcff0df41828eb333087735243890835f1a
4
- data.tar.gz: 8360c3f68edf2eb31783ed4dcef383b3bba6c53ebc2924fb4023cb265bc1775a
3
+ metadata.gz: 2e70b7356798ba86108a09eccf20c56fff9579fec267338e0a7b8c893a266cc9
4
+ data.tar.gz: c3f655708ab1d67d5041fadd8a05e228545fe3ed9c2d0d70a93a89034d42d8ef
5
5
  SHA512:
6
- metadata.gz: 7ee58439f8cec945ab9577fe7f2d27770a69ea070ef1ee00ce49d4a106bd114d0a3d0a1eae971b89532c64a3a3c435989cc92a39b03bf3c9f7697106b46d7856
7
- data.tar.gz: a477e7007e72552b287078b76e19760896a19360ea31229ee34841d7171397b87b1b80a871a7e55d0e8cf2f07f06171aebad88a0cdf32801179fe941b0349184
6
+ metadata.gz: 0a7fcdd313ef16d4a090bf4f80d3acfce824fd8d9ac8c7501ae503cf4490a8197a728ac21d3893574592507c0a793436342e9a967812eb77452b4c021c009803
7
+ data.tar.gz: 4fcd5968c219fbc3a787d99a0ec000201ce2d5b908a24c50007dc9efde2437f8f321630074610b9ae38efe3e4b02443e8fde321dd3cf58b8cc18b3d4d3d17658
data/README.md CHANGED
@@ -111,57 +111,59 @@ end
111
111
 
112
112
 
113
113
  ```json
114
- [
115
- {
116
- "name": "name1",
117
- "value": "value1 2 3 4",
118
- "type": "input",
119
- "select": "",
120
- "description": "設定項目1"
121
- },
122
- {
123
- "name": "name2",
124
- "value": true,
125
- "type": "checkbox",
126
- "select": "",
127
- "description": "有効にする場合はチェック"
128
- },
129
- {
130
- "name": "name3",
131
- "value": "2",
132
- "type": "select",
133
- "select": [
134
- "1",
135
- "2",
136
- "3",
137
- "4",
138
- "5"
139
- ],
140
- "description": "選択項目"
141
- },
142
- {
143
- "name": "name4",
144
- "value": "value4",
145
- "type": "input",
146
- "select": "",
147
- "description": "設定項目4"
148
- },
149
- {
150
- "name": "name5",
151
- "value": "value5",
152
- "type": "input",
153
- "select": "",
154
- "description": "設定項目5"
155
- },
156
- {
157
- "name": "name6",
158
- "value": "value6",
159
- "type": "input",
160
- "select": "",
161
- "description": "設定項目6"
162
- }
163
- ]
164
- ```
114
+ {
115
+ "version": 0.1,
116
+ "setting_list": [
117
+ {
118
+ "name": "name1",
119
+ "value": "value1 2 3 4",
120
+ "type": "input",
121
+ "select": "",
122
+ "description": "設定項目1"
123
+ },
124
+ {
125
+ "name": "name2",
126
+ "value": true,
127
+ "type": "checkbox",
128
+ "select": "",
129
+ "description": "有効にする場合はチェック"
130
+ },
131
+ {
132
+ "name": "name3",
133
+ "value": "3",
134
+ "type": "select",
135
+ "select": [
136
+ "1",
137
+ "2",
138
+ "3",
139
+ "4",
140
+ "5"
141
+ ],
142
+ "description": "選択項目"
143
+ },
144
+ {
145
+ "name": "name4",
146
+ "value": "value4",
147
+ "type": "input",
148
+ "select": "",
149
+ "description": "設定項目4"
150
+ },
151
+ {
152
+ "name": "name5",
153
+ "value": "value5",
154
+ "type": "input",
155
+ "select": "",
156
+ "description": "設定項目5"
157
+ },
158
+ {
159
+ "name": "name6",
160
+ "value": "value6",
161
+ "type": "input",
162
+ "select": "",
163
+ "description": "設定項目6"
164
+ }
165
+ ]
166
+ }```
165
167
  ```ruby
166
168
  class MyApp < AppMainBase
167
169
  def start(argv)
data/bin/start_sample.rb CHANGED
@@ -3,11 +3,12 @@
3
3
  require "fileutils"
4
4
  require "facter"
5
5
  require "tmpdir"
6
+ require "json"
6
7
 
7
8
  # tmpdirディレクトリにコピー
8
9
  dir = File.dirname(File.expand_path(__FILE__ + "/../"))
9
- home_dir = ENV["HOME"] + "/" + dir.split("/")[-1]
10
- puts "home_dir=#{$home_dir}"
10
+ home_dir = ENV["HOME"] + "/" + dir.split("/")[-1].gsub(/-[0-9\.-]+/,"")
11
+ puts "home_dir=#{home_dir}"
11
12
  Dir.mktmpdir { |tmpdir|
12
13
  outdir = tmpdir + "/" + dir.split("/")[-1]
13
14
  FileUtils.mkdir_p outdir
@@ -25,6 +26,14 @@ Dir.mktmpdir { |tmpdir|
25
26
  FileUtils.cp_r f, "#{outdir}/"
26
27
  end
27
28
  end
29
+ json = JSON.parse(File.read("#{home_dir}/config/setting.json"))
30
+ old_version = json["version"]
31
+ json = JSON.parse(File.read("#{dir}/lib/config/setting.json"))
32
+ new_version = json["version"]
33
+ puts "#{old_version} == #{new_version}"
34
+ if old_version.to_s == new_version.to_s
35
+ FileUtils.cp "#{dir}/lib/config/setting.json", "#{home_dir}/config/setting.json"
36
+ end
28
37
 
29
38
  FileUtils.cd "#{outdir}"
30
39
  kernel = Facter.value(:kernel)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BrowserAppBase
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -1,50 +1,53 @@
1
- [
2
- {
3
- "name": "name1",
4
- "value": "value1 2 3 4",
5
- "type": "input",
6
- "select": "",
7
- "description": "設定項目1"
8
- },
9
- {
10
- "name": "name2",
11
- "value": true,
12
- "type": "checkbox",
13
- "select": "",
14
- "description": "有効にする場合はチェック"
15
- },
16
- {
17
- "name": "name3",
18
- "value": "2",
19
- "type": "select",
20
- "select": [
21
- "1",
22
- "2",
23
- "3",
24
- "4",
25
- "5"
26
- ],
27
- "description": "選択項目"
28
- },
29
- {
30
- "name": "name4",
31
- "value": "value4",
32
- "type": "input",
33
- "select": "",
34
- "description": "設定項目4"
35
- },
36
- {
37
- "name": "name5",
38
- "value": "value5",
39
- "type": "input",
40
- "select": "",
41
- "description": "設定項目5"
42
- },
43
- {
44
- "name": "name6",
45
- "value": "value6",
46
- "type": "input",
47
- "select": "",
48
- "description": "設定項目6"
49
- }
50
- ]
1
+ {
2
+ "version": 0.1,
3
+ "setting_list": [
4
+ {
5
+ "name": "name1",
6
+ "value": "value1 2 3 4",
7
+ "type": "input",
8
+ "select": "",
9
+ "description": "設定項目1"
10
+ },
11
+ {
12
+ "name": "name2",
13
+ "value": true,
14
+ "type": "checkbox",
15
+ "select": "",
16
+ "description": "有効にする場合はチェック"
17
+ },
18
+ {
19
+ "name": "name3",
20
+ "value": "3",
21
+ "type": "select",
22
+ "select": [
23
+ "1",
24
+ "2",
25
+ "3",
26
+ "4",
27
+ "5"
28
+ ],
29
+ "description": "選択項目"
30
+ },
31
+ {
32
+ "name": "name4",
33
+ "value": "value4",
34
+ "type": "input",
35
+ "select": "",
36
+ "description": "設定項目4"
37
+ },
38
+ {
39
+ "name": "name5",
40
+ "value": "value5",
41
+ "type": "input",
42
+ "select": "",
43
+ "description": "設定項目5"
44
+ },
45
+ {
46
+ "name": "name6",
47
+ "value": "value6",
48
+ "type": "input",
49
+ "select": "",
50
+ "description": "設定項目6"
51
+ }
52
+ ]
53
+ }
@@ -102,6 +102,6 @@ configure do
102
102
 
103
103
  end
104
104
 
105
- #\ --port 40173
105
+ #\ --port 41617
106
106
 
107
107
  run Sinatra::Application
@@ -130,7 +130,7 @@ input[type="search"]::-webkit-search-cancel-button {
130
130
  list-style-type: none;
131
131
  color: #393737;
132
132
  padding: 0;
133
- font-size: 16px;
133
+ font-size: 12px;
134
134
  font-weight: bold;
135
135
  }
136
136
 
@@ -0,0 +1,3 @@
1
+ [
2
+
3
+ ]
@@ -201,33 +201,35 @@ function select_file_dialog(search_id, file_kind, dialog_id, select_file, file_n
201
201
  }
202
202
 
203
203
  function setting_dialog(open_id, dialog_id, json_file) {
204
+ var version;
204
205
  $("#" + open_id).click(function () {
205
206
  $("#" + dialog_id).val = $(function () {
206
207
  $("dl#wrap").empty();
207
208
  $.getJSON(json_file, function (s) {
208
- for (var i in s) {
209
- if (s[i].type == "input") {
209
+ version = s["version"];
210
+ for (var i in s["setting_list"]) {
211
+ if (s["setting_list"][i].type == "input") {
210
212
  var h = "<table><tr>"
211
- + "<td class='setting_name'>" + s[i].description + "</td>"
212
- + "<td><input class='setting_value' type='text' " + "id=" + s[i].name + "_value " + "value=" + "'" + s[i].value + "'" + ">"
213
+ + "<td class='setting_name'>" + s["setting_list"][i].description + "</td>"
214
+ + "<td><input class='setting_value' type='text' " + "id=" + s["setting_list"][i].name + "_value " + "value=" + "'" + s["setting_list"][i].value + "'" + ">"
213
215
  + "</td></tr></table>"
214
216
  $("dl#wrap").append(h);
215
- } else if (s[i].type == "checkbox") {
217
+ } else if (s["setting_list"][i].type == "checkbox") {
216
218
  var h = "<table><tr>";
217
- h += "<td class='setting_name'>" + s[i].description + "</td>";
218
- if (s[i].value == true) {
219
- h += "<td><input class='setting_checkbox' type='checkbox' " + "id=" + s[i].name + "_value checked ></td>";
219
+ h += "<td class='setting_name'>" + s["setting_list"][i].description + "</td>";
220
+ if (s["setting_list"][i].value == true) {
221
+ h += "<td><input class='setting_checkbox' type='checkbox' " + "id=" + s["setting_list"][i].name + "_value checked ></td>";
220
222
  } else {
221
- h += "<td><input class='setting_checkbox' type='checkbox' " + "id=" + s[i].name + "_value ></td>";
223
+ h += "<td><input class='setting_checkbox' type='checkbox' " + "id=" + s["setting_list"][i].name + "_value ></td>";
222
224
  }
223
225
  h += "</tr></table>";
224
226
  $("dl#wrap").append(h);
225
- } else if (s[i].type == "select") {
227
+ } else if (s["setting_list"][i].type == "select") {
226
228
  var h = "<table><tr>";
227
- h += "<td class='setting_name'>" + s[i].description + "</td>";
228
- h += "<td> <select class='setting_value' id=" + s[i].name + "_value " + ">";
229
- s[i].select.forEach(e => {
230
- if (e == s[i].value) {
229
+ h += "<td class='setting_name'>" + s["setting_list"][i].description + "</td>";
230
+ h += "<td> <select class='setting_value' id=" + s["setting_list"][i].name + "_value " + ">";
231
+ s["setting_list"][i].select.forEach(e => {
232
+ if (e == s["setting_list"][i].value) {
231
233
  h += "<option value=" + e + " selected >" + e + "</option>";
232
234
  } else {
233
235
  h += "<option value=" + e + ">" + e + "</option>";
@@ -237,7 +239,7 @@ function setting_dialog(open_id, dialog_id, json_file) {
237
239
  h += "</tr></table>";
238
240
  $("dl#wrap").append(h);
239
241
  } else {
240
- //console.log("type=" + s[i].type);
242
+ //console.log("type=" + s["setting_list"][i].type);
241
243
  }
242
244
  }
243
245
  });
@@ -254,45 +256,48 @@ function setting_dialog(open_id, dialog_id, json_file) {
254
256
  , draggable: true //ダイアログの移動を可に
255
257
  , buttons: {
256
258
  "OK": function () { //OKボタン
257
- var json_data = []
259
+ var json_obj = {};
260
+ var json_data = [];
258
261
  $.getJSON(json_file, function (s) {
259
- for (var i in s) {
260
- //console.log(s[i].name);
261
- if (s[i].type == "input") {
262
+ json_obj["version"] = s["version"];
263
+ for (var i in s["setting_list"]) {
264
+ //console.log(s["setting_list"][i].name);
265
+ if (s["setting_list"][i].type == "input") {
262
266
  var data = {};
263
- data["name"] = s[i].name;
264
- data["value"] = $("#" + s[i].name + "_value").val();
265
- data["type"] = s[i].type;
266
- data["select"] = s[i].select;
267
- data["description"] = s[i].description;
267
+ data["name"] = s["setting_list"][i].name;
268
+ data["value"] = $("#" + s["setting_list"][i].name + "_value").val();
269
+ data["type"] = s["setting_list"][i].type;
270
+ data["select"] = s["setting_list"][i].select;
271
+ data["description"] = s["setting_list"][i].description;
268
272
  json_data.push(data);
269
273
  }
270
- else if (s[i].type == "checkbox") {
274
+ else if (s["setting_list"][i].type == "checkbox") {
271
275
  var data = {};
272
- data["name"] = s[i].name;
273
- if ($("#" + s[i].name + "_value:checked").val() == "on") {
276
+ data["name"] = s["setting_list"][i].name;
277
+ if ($("#" + s["setting_list"][i].name + "_value:checked").val() == "on") {
274
278
  data["value"] = true;
275
279
  } else {
276
280
  data["value"] = false;
277
281
  }
278
- data["type"] = s[i].type;
279
- data["select"] = s[i].select;
280
- data["description"] = s[i].description;
282
+ data["type"] = s["setting_list"][i].type;
283
+ data["select"] = s["setting_list"][i].select;
284
+ data["description"] = s["setting_list"][i].description;
281
285
  json_data.push(data);
282
- } else if (s[i].type == "select") {
286
+ } else if (s["setting_list"][i].type == "select") {
283
287
  var data = {};
284
- data["name"] = s[i].name;
285
- data["value"] = $("#" + s[i].name + "_value" + " option:selected").val();
286
- data["type"] = s[i].type;
287
- data["select"] = s[i].select;
288
- data["description"] = s[i].description;
288
+ data["name"] = s["setting_list"][i].name;
289
+ data["value"] = $("#" + s["setting_list"][i].name + "_value" + " option:selected").val();
290
+ data["type"] = s["setting_list"][i].type;
291
+ data["select"] = s["setting_list"][i].select;
292
+ data["description"] = s["setting_list"][i].description;
289
293
  json_data.push(data);
290
294
  } else {
291
- //console.log("type=" + s[i].type);
295
+ //console.log("type=" + s["setting_list"][i].type);
292
296
  }
293
297
  }
294
298
  // Jsonデータをサーバに送信
295
- $ws.send("setting:" + JSON.stringify(json_data));
299
+ json_obj["setting_list"] = json_data;
300
+ $ws.send("setting:" + JSON.stringify(json_obj));
296
301
  });
297
302
  $(this).dialog("close");
298
303
  },
@@ -376,10 +381,10 @@ function openFile(file) {
376
381
  $(document).ready(function () {
377
382
 
378
383
  // サーバに接続
379
- server_connect("ws://localhost:40173/wsserver")
384
+ server_connect("ws://localhost:41617/wsserver")
380
385
  window.onload = function (e) {
381
386
  // サーバに接続
382
- //server_connect("ws://localhost:40173/wsserver")
387
+ //server_connect("ws://localhost:41617/wsserver")
383
388
  }
384
389
 
385
390
  // menu
@@ -56,7 +56,7 @@ if ARGV[0] == "test"
56
56
  $home_dir = "./"
57
57
  ARGV = []
58
58
  else
59
- $home_dir = ENV["HOME"] + "/" + dir.split("/")[-1] + "/"
59
+ $home_dir = ENV["HOME"] + "/" + dir.split("/")[-1].gsub(/-[0-9\.-]+/,"")
60
60
  end
61
61
  puts "home_dir=#{$home_dir}"
62
62
  FileUtils.mkdir_p("#{$home_dir}/logs")
@@ -5,7 +5,7 @@ require "thread"
5
5
 
6
6
  def config_json_hash(json)
7
7
  config = {}
8
- json.each do |j|
8
+ json["setting_list"].each do |j|
9
9
  config[j["name"]] = j["value"]
10
10
  end
11
11
  return config
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browser_app_base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - masataka kuwayama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-21 00:00:00.000000000 Z
11
+ date: 2022-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra