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 +4 -4
- data/README.md +53 -51
- data/bin/start_sample.rb +11 -2
- data/lib/browser_app_base/version.rb +1 -1
- data/lib/template/config/setting.json +53 -50
- data/lib/template/config.ru +1 -1
- data/lib/template/css/index.css +1 -1
- data/lib/template/history/history.json +3 -0
- data/lib/template/js/main.js +45 -40
- data/lib/template/start.rb +1 -1
- data/lib/template/wsserver.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e70b7356798ba86108a09eccf20c56fff9579fec267338e0a7b8c893a266cc9
|
4
|
+
data.tar.gz: c3f655708ab1d67d5041fadd8a05e228545fe3ed9c2d0d70a93a89034d42d8ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
"
|
135
|
-
"
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
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=#{
|
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,50 +1,53 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
"
|
22
|
-
"
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
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
|
+
}
|
data/lib/template/config.ru
CHANGED
data/lib/template/css/index.css
CHANGED
data/lib/template/js/main.js
CHANGED
@@ -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
|
-
|
209
|
-
|
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
|
259
|
+
var json_obj = {};
|
260
|
+
var json_data = [];
|
258
261
|
$.getJSON(json_file, function (s) {
|
259
|
-
|
260
|
-
|
261
|
-
|
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
|
-
|
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:
|
384
|
+
server_connect("ws://localhost:41617/wsserver")
|
380
385
|
window.onload = function (e) {
|
381
386
|
// サーバに接続
|
382
|
-
//server_connect("ws://localhost:
|
387
|
+
//server_connect("ws://localhost:41617/wsserver")
|
383
388
|
}
|
384
389
|
|
385
390
|
// menu
|
data/lib/template/start.rb
CHANGED
@@ -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")
|
data/lib/template/wsserver.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2022-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|