lib/template/js/main.js in browser_app_base-0.1.2 vs lib/template/js/main.js in browser_app_base-0.1.3
- old
+ new
@@ -113,11 +113,11 @@
//jQuery(this).autocomplete("search", "");
$(this).keydown();
},
source: function (req, resp) {
$.ajax({
- url: "http://localhost:58656/search?path=" + $("#" + id).val() + "&kind=" + file_kind,
+ url: "search?path=" + $("#" + id).val() + "&kind=" + file_kind,
type: "GET",
cache: false,
dataType: "json",
data: {
param1: req.term
@@ -146,11 +146,11 @@
jQuery("#" + id).val(ui.item.value);
$(this).keydown();
},
source: function (req, resp) {
$.ajax({
- url: "http://localhost:58656/history/" + file_name,
+ url: "history/" + file_name,
type: "POST",
cache: false,
dataType: "json",
data: {
param1: req.term
@@ -289,10 +289,11 @@
json_data.push(data);
} else {
//console.log("type=" + s[i].type);
}
}
+ // Jsonデータをサーバに送信
$ws.send("setting:" + JSON.stringify(json_data));
});
$(this).dialog("close");
},
"Cancel": function () { //Cancelボタン
@@ -301,10 +302,61 @@
}
});
});
}
+// 設定読み込み
+function load_setting(open_id) {
+ document.getElementById(open_id).onclick = async () => {
+ [fileHandle] = await window.showOpenFilePicker();
+ const file = await fileHandle.getFile();
+ const json_data = await file.text();
+ console.log(json_data);
+ // Jsonデータをサーバに送信
+ $ws.send("setting:" + json_data);
+ };
+}
+
+// 設定保存
+function save_setting(open_id, json_file) {
+ document.getElementById(open_id).onclick = async () => {
+ var json_data = ""
+ $.ajax({
+ // jsonの読み込み
+ type: "GET",
+ url: json_file, // ファイルパス(相対パス)
+ dataType: "json", // ファイル形式
+ async: false // 非同期通信フラグ
+ }).then(
+ function (json) {
+ // 読み込み成功時の処理
+ json_data = JSON.stringify(json, null, 2);
+ console.log("json=" + json_data);
+ },
+ function () {
+ // 読み込み失敗時の処理
+ console.log("読み込みに失敗しました");
+ }
+ );
+ // Jsonを保存
+ const opts = {
+ suggestedName: 'setting.json',
+ types: [{
+ description: 'Text file',
+ accept: { 'text/plain': ['.json'] },
+ }],
+ };
+ // ファイルをどこにどんな名前で保存するか訊くダイアログを表示
+ const saveHandle = await window.showSaveFilePicker(opts)
+ // 保存先ファイルに書き込み準備
+ const writable = await saveHandle.createWritable();
+ // 先程同様に書き込んで終了
+ await writable.write(json_data);
+ await writable.close();
+ };
+}
+
function get_dirname(path) {
var result = path.replace(/\\/g, '/').replace(/\/[^\/]*$/, '');
if (result.match(/^[^\/]*\.[^\/\.]*$/)) {
result = '';
}
@@ -322,16 +374,30 @@
// 起動時の処理
$(document).ready(function () {
// サーバに接続
- server_connect("ws://localhost:58656/wsserver")
+ server_connect("ws://localhost:40173/wsserver")
window.onload = function (e) {
// サーバに接続
- //server_connect("ws://localhost:58656/wsserver")
+ //server_connect("ws://localhost:40173/wsserver")
}
+ // menu
+ $(function () {
+ $(".menu li").hover(
+ function () {
+ //クラス名「open」を付与する
+ $(this).children(".menuSub").addClass("open");
+ //hoverが外れた場合
+ }, function () {
+ //クラス名「open」を取り除く
+ $(this).children(".menuSub").removeClass("open");
+ }
+ );
+ });
+
// ウインドウサイズ
var width = 800;
var height = 600;
$(window).resize(function () {
$(".outarea").height($(window).height() - 220);
@@ -356,24 +422,32 @@
$auto_scroll = false;
}
//console.log("auto_scroll=" + $auto_scroll);
});
+ // 設定ダイアログ
+ setting_dialog("setting", "setting_dialog", "config/setting.json");
+
+ // 設定保存
+ save_setting("save_setting", "config/setting.json");
+
+ // 設定読み込み
+ load_setting("load_setting");
+
// ハンドラ登録
$("#stop").click(function () {
send_message("stop");
});
$("#exec").click(function () {
$('#log').empty();
send_message("exec:" + $("#upFile").val());
});
+
select_file_dialog("search_str", "file", "dialog1", "select_file", "upFile");
select_file_dialog("search_str2", "dir", "dialog2", "select_dir", "upDir");
-
- setting_dialog("setting", "setting_dialog", "config/setting.json");
autocomp_history("upFile", "history.json")
});