browser_app_base 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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