@yuneta/gobj-ui 7.23.112 → 7.23.113
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.
- package/dist/gobj-ui.cjs.js +100 -62
- package/dist/gobj-ui.es.js +100 -62
- package/package.json +1 -1
- package/src/yui_dev.js +95 -59
package/dist/gobj-ui.cjs.js
CHANGED
|
@@ -72101,37 +72101,37 @@ var TRAFFIC_TS_FIELDS = {
|
|
|
72101
72101
|
var TRACE_DEFS = [
|
|
72102
72102
|
[
|
|
72103
72103
|
"trace_automata",
|
|
72104
|
-
"
|
|
72104
|
+
"automata",
|
|
72105
72105
|
trace_automata
|
|
72106
72106
|
],
|
|
72107
72107
|
[
|
|
72108
72108
|
"trace_creation",
|
|
72109
|
-
"
|
|
72109
|
+
"creation",
|
|
72110
72110
|
trace_creation
|
|
72111
72111
|
],
|
|
72112
72112
|
[
|
|
72113
72113
|
"trace_start_stop",
|
|
72114
|
-
"
|
|
72114
|
+
"start / stop",
|
|
72115
72115
|
trace_start_stop
|
|
72116
72116
|
],
|
|
72117
72117
|
[
|
|
72118
72118
|
"trace_subscriptions",
|
|
72119
|
-
"
|
|
72119
|
+
"subscriptions",
|
|
72120
72120
|
trace_subscriptions
|
|
72121
72121
|
],
|
|
72122
72122
|
[
|
|
72123
72123
|
"trace_i18n",
|
|
72124
|
-
"
|
|
72124
|
+
"i18n",
|
|
72125
72125
|
trace_i18n
|
|
72126
72126
|
],
|
|
72127
72127
|
[
|
|
72128
72128
|
"trace_traffic",
|
|
72129
|
-
"
|
|
72129
|
+
"traffic",
|
|
72130
72130
|
trace_traffic
|
|
72131
72131
|
],
|
|
72132
72132
|
[
|
|
72133
72133
|
"no_poll",
|
|
72134
|
-
"
|
|
72134
|
+
"no poll",
|
|
72135
72135
|
set_no_poll
|
|
72136
72136
|
]
|
|
72137
72137
|
];
|
|
@@ -72605,7 +72605,8 @@ function mute_button(sig) {
|
|
|
72605
72605
|
{
|
|
72606
72606
|
class: "TRAFFIC_MUTE",
|
|
72607
72607
|
type: "button",
|
|
72608
|
-
title:
|
|
72608
|
+
title: (0, i18next.t)("mute this message"),
|
|
72609
|
+
"data-i18n-title": "mute this message"
|
|
72609
72610
|
},
|
|
72610
72611
|
"⊘",
|
|
72611
72612
|
{ click: (ev) => {
|
|
@@ -73105,7 +73106,7 @@ function set_no_poll() {
|
|
|
73105
73106
|
function refresh_dev_chrome() {
|
|
73106
73107
|
document.querySelectorAll(".YDEV_CHIP[data-trace]").forEach(($b) => {
|
|
73107
73108
|
let key = $b.getAttribute("data-trace");
|
|
73108
|
-
let label = $b.getAttribute("data-label") || "";
|
|
73109
|
+
let label = (0, i18next.t)($b.getAttribute("data-label") || "");
|
|
73109
73110
|
let v = dev_num(key, 0);
|
|
73110
73111
|
$b.textContent = key === "trace_automata" && v > 0 ? label + " " + v : label;
|
|
73111
73112
|
$b.classList.toggle("is-active", v > 0);
|
|
@@ -73139,7 +73140,8 @@ function refresh_dev_chrome() {
|
|
|
73139
73140
|
if (set.size) {
|
|
73140
73141
|
let $lbl = document.createElement("span");
|
|
73141
73142
|
$lbl.className = "YDEV_LABEL";
|
|
73142
|
-
$lbl.textContent = "
|
|
73143
|
+
$lbl.textContent = (0, i18next.t)("muted");
|
|
73144
|
+
$lbl.setAttribute("data-i18n", "muted");
|
|
73143
73145
|
$m.appendChild($lbl);
|
|
73144
73146
|
set.forEach((sig) => {
|
|
73145
73147
|
$m.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
@@ -73147,7 +73149,8 @@ function refresh_dev_chrome() {
|
|
|
73147
73149
|
{
|
|
73148
73150
|
class: "YDEV_MUTED_CHIP",
|
|
73149
73151
|
type: "button",
|
|
73150
|
-
title: "
|
|
73152
|
+
title: (0, i18next.t)("unmute"),
|
|
73153
|
+
"data-i18n-title": "unmute"
|
|
73151
73154
|
},
|
|
73152
73155
|
"⊘ " + sig + " ✕",
|
|
73153
73156
|
{ click: (ev) => {
|
|
@@ -73202,15 +73205,16 @@ function dev_fallback_copy(text) {
|
|
|
73202
73205
|
document.body.removeChild(ta);
|
|
73203
73206
|
}
|
|
73204
73207
|
function build_control_bar() {
|
|
73205
|
-
let trace_chips = TRACE_DEFS.map(([key,
|
|
73208
|
+
let trace_chips = TRACE_DEFS.map(([key, label_key, fn]) => [
|
|
73206
73209
|
"button",
|
|
73207
73210
|
{
|
|
73208
73211
|
class: "YDEV_CHIP",
|
|
73209
73212
|
"data-trace": key,
|
|
73210
|
-
"data-label":
|
|
73213
|
+
"data-label": label_key,
|
|
73214
|
+
"data-i18n": label_key,
|
|
73211
73215
|
type: "button"
|
|
73212
73216
|
},
|
|
73213
|
-
|
|
73217
|
+
(0, i18next.t)(label_key),
|
|
73214
73218
|
{ click: (ev) => {
|
|
73215
73219
|
ev.stopPropagation();
|
|
73216
73220
|
fn();
|
|
@@ -73222,9 +73226,11 @@ function build_control_bar() {
|
|
|
73222
73226
|
class: "YDEV_CHIP",
|
|
73223
73227
|
"data-toggle": "automata-simple",
|
|
73224
73228
|
type: "button",
|
|
73225
|
-
title:
|
|
73229
|
+
title: (0, i18next.t)("machine trace shape"),
|
|
73230
|
+
"data-i18n-title": "machine trace shape",
|
|
73231
|
+
"data-i18n": "simple mach"
|
|
73226
73232
|
},
|
|
73227
|
-
"
|
|
73233
|
+
(0, i18next.t)("simple mach"),
|
|
73228
73234
|
{ click: (ev) => {
|
|
73229
73235
|
ev.stopPropagation();
|
|
73230
73236
|
let v = dev_simple_mach() ? 0 : 1;
|
|
@@ -73238,9 +73244,10 @@ function build_control_bar() {
|
|
|
73238
73244
|
{
|
|
73239
73245
|
class: "YDEV_SEG_BTN",
|
|
73240
73246
|
"data-view": v,
|
|
73247
|
+
"data-i18n": label,
|
|
73241
73248
|
type: "button"
|
|
73242
73249
|
},
|
|
73243
|
-
label,
|
|
73250
|
+
(0, i18next.t)(label),
|
|
73244
73251
|
{ click: (ev) => {
|
|
73245
73252
|
ev.stopPropagation();
|
|
73246
73253
|
set_view(v);
|
|
@@ -73253,16 +73260,16 @@ function build_control_bar() {
|
|
|
73253
73260
|
id: "ydev-seg"
|
|
73254
73261
|
},
|
|
73255
73262
|
[
|
|
73256
|
-
mk_view("detailed", "
|
|
73257
|
-
mk_view("full", "
|
|
73258
|
-
mk_view("compact", "
|
|
73259
|
-
mk_view("name", "
|
|
73263
|
+
mk_view("detailed", "detailed"),
|
|
73264
|
+
mk_view("full", "expanded"),
|
|
73265
|
+
mk_view("compact", "compact"),
|
|
73266
|
+
mk_view("name", "name only")
|
|
73260
73267
|
]
|
|
73261
73268
|
];
|
|
73262
73269
|
let OUT_TITLES = {
|
|
73263
|
-
window: "
|
|
73264
|
-
console: "
|
|
73265
|
-
both: "
|
|
73270
|
+
window: "dev window only",
|
|
73271
|
+
console: "browser console only",
|
|
73272
|
+
both: "dev window and browser console"
|
|
73266
73273
|
};
|
|
73267
73274
|
let mk_out = (v, label) => [
|
|
73268
73275
|
"button",
|
|
@@ -73270,9 +73277,11 @@ function build_control_bar() {
|
|
|
73270
73277
|
class: "YDEV_SEG_BTN",
|
|
73271
73278
|
"data-output": v,
|
|
73272
73279
|
type: "button",
|
|
73273
|
-
title: OUT_TITLES[v]
|
|
73280
|
+
title: (0, i18next.t)(OUT_TITLES[v]),
|
|
73281
|
+
"data-i18n-title": OUT_TITLES[v],
|
|
73282
|
+
"data-i18n": label
|
|
73274
73283
|
},
|
|
73275
|
-
label,
|
|
73284
|
+
(0, i18next.t)(label),
|
|
73276
73285
|
{ click: (ev) => {
|
|
73277
73286
|
ev.stopPropagation();
|
|
73278
73287
|
set_output_route(v);
|
|
@@ -73285,9 +73294,9 @@ function build_control_bar() {
|
|
|
73285
73294
|
id: "ydev-output"
|
|
73286
73295
|
},
|
|
73287
73296
|
[
|
|
73288
|
-
mk_out("window", "
|
|
73289
|
-
mk_out("console", "
|
|
73290
|
-
mk_out("both", "
|
|
73297
|
+
mk_out("window", "window"),
|
|
73298
|
+
mk_out("console", "console"),
|
|
73299
|
+
mk_out("both", "both")
|
|
73291
73300
|
]
|
|
73292
73301
|
];
|
|
73293
73302
|
let mk_expand = (key, label) => [
|
|
@@ -73296,9 +73305,11 @@ function build_control_bar() {
|
|
|
73296
73305
|
class: "YDEV_CHIP",
|
|
73297
73306
|
"data-expand": key,
|
|
73298
73307
|
type: "button",
|
|
73299
|
-
title:
|
|
73308
|
+
title: (0, i18next.t)("show this section in the expanded view"),
|
|
73309
|
+
"data-i18n-title": "show this section in the expanded view",
|
|
73310
|
+
"data-i18n": label
|
|
73300
73311
|
},
|
|
73301
|
-
label,
|
|
73312
|
+
(0, i18next.t)(label),
|
|
73302
73313
|
{ click: (ev) => {
|
|
73303
73314
|
ev.stopPropagation();
|
|
73304
73315
|
toggle_pref(key, key === "dev_full_data" ? 1 : 0);
|
|
@@ -73313,12 +73324,15 @@ function build_control_bar() {
|
|
|
73313
73324
|
[
|
|
73314
73325
|
[
|
|
73315
73326
|
"span",
|
|
73316
|
-
{
|
|
73317
|
-
|
|
73327
|
+
{
|
|
73328
|
+
class: "YDEV_LABEL",
|
|
73329
|
+
"data-i18n": "expand"
|
|
73330
|
+
},
|
|
73331
|
+
(0, i18next.t)("expand")
|
|
73318
73332
|
],
|
|
73319
|
-
mk_expand("dev_full_schema", "
|
|
73320
|
-
mk_expand("dev_full_data", "
|
|
73321
|
-
mk_expand("dev_full_meta", "
|
|
73333
|
+
mk_expand("dev_full_schema", "schema"),
|
|
73334
|
+
mk_expand("dev_full_data", "data"),
|
|
73335
|
+
mk_expand("dev_full_meta", "metadata")
|
|
73322
73336
|
]
|
|
73323
73337
|
];
|
|
73324
73338
|
let mk_dir = (dir, glyph, key, title) => [
|
|
@@ -73327,7 +73341,8 @@ function build_control_bar() {
|
|
|
73327
73341
|
class: "YDEV_CHIP s-" + dir,
|
|
73328
73342
|
"data-dir": key,
|
|
73329
73343
|
type: "button",
|
|
73330
|
-
title
|
|
73344
|
+
title: (0, i18next.t)(title),
|
|
73345
|
+
"data-i18n-title": title
|
|
73331
73346
|
},
|
|
73332
73347
|
glyph,
|
|
73333
73348
|
{ click: (ev) => {
|
|
@@ -73336,9 +73351,9 @@ function build_control_bar() {
|
|
|
73336
73351
|
} }
|
|
73337
73352
|
];
|
|
73338
73353
|
let dir_chips = [
|
|
73339
|
-
mk_dir("out", "⇢", "dev_filter_out", "
|
|
73340
|
-
mk_dir("in", "⇠", "dev_filter_in", "
|
|
73341
|
-
mk_dir("err", "⚠", "dev_filter_err", "
|
|
73354
|
+
mk_dir("out", "⇢", "dev_filter_out", "outgoing"),
|
|
73355
|
+
mk_dir("in", "⇠", "dev_filter_in", "incoming"),
|
|
73356
|
+
mk_dir("err", "⚠", "dev_filter_err", "errors")
|
|
73342
73357
|
];
|
|
73343
73358
|
let periodic_chip = [
|
|
73344
73359
|
"button",
|
|
@@ -73346,9 +73361,18 @@ function build_control_bar() {
|
|
|
73346
73361
|
class: "YDEV_CHIP",
|
|
73347
73362
|
"data-toggle": "periodic",
|
|
73348
73363
|
type: "button",
|
|
73349
|
-
title: "
|
|
73364
|
+
title: (0, i18next.t)("hide the timers and the recurring traffic"),
|
|
73365
|
+
"data-i18n-title": "hide the timers and the recurring traffic"
|
|
73350
73366
|
},
|
|
73351
|
-
|
|
73367
|
+
[[
|
|
73368
|
+
"span",
|
|
73369
|
+
{ class: "YDEV_GLYPH" },
|
|
73370
|
+
"⊘"
|
|
73371
|
+
], [
|
|
73372
|
+
"span",
|
|
73373
|
+
{ "data-i18n": "periodic" },
|
|
73374
|
+
(0, i18next.t)("periodic")
|
|
73375
|
+
]],
|
|
73352
73376
|
{ click: (ev) => {
|
|
73353
73377
|
ev.stopPropagation();
|
|
73354
73378
|
toggle_pref("dev_hide_periodic", HIDE_PERIODIC_DEFAULT);
|
|
@@ -73359,8 +73383,9 @@ function build_control_bar() {
|
|
|
73359
73383
|
{
|
|
73360
73384
|
class: "YDEV_SEARCH",
|
|
73361
73385
|
type: "search",
|
|
73362
|
-
|
|
73363
|
-
|
|
73386
|
+
"data-role": "search",
|
|
73387
|
+
placeholder: (0, i18next.t)("filter events / payload"),
|
|
73388
|
+
"data-i18n-placeholder": "filter events / payload"
|
|
73364
73389
|
},
|
|
73365
73390
|
"",
|
|
73366
73391
|
{ input: (ev) => {
|
|
@@ -73373,15 +73398,17 @@ function build_control_bar() {
|
|
|
73373
73398
|
{
|
|
73374
73399
|
class: "YDEV_CHIP",
|
|
73375
73400
|
type: "button",
|
|
73376
|
-
title: "
|
|
73401
|
+
title: (0, i18next.t)("copy visible traffic to clipboard"),
|
|
73402
|
+
"data-i18n-title": "copy visible traffic to clipboard",
|
|
73403
|
+
"data-i18n": "copy"
|
|
73377
73404
|
},
|
|
73378
|
-
"
|
|
73405
|
+
(0, i18next.t)("copy"),
|
|
73379
73406
|
{ click: (ev) => {
|
|
73380
73407
|
ev.stopPropagation();
|
|
73381
73408
|
let btn = ev.currentTarget;
|
|
73382
73409
|
dev_copy_text(traffic_to_text()).then(() => {
|
|
73383
73410
|
let prev = btn.textContent;
|
|
73384
|
-
btn.textContent = "
|
|
73411
|
+
btn.textContent = (0, i18next.t)("copied");
|
|
73385
73412
|
setTimeout(() => {
|
|
73386
73413
|
btn.textContent = prev;
|
|
73387
73414
|
}, 1e3);
|
|
@@ -73393,9 +73420,11 @@ function build_control_bar() {
|
|
|
73393
73420
|
{
|
|
73394
73421
|
class: "YDEV_CHIP",
|
|
73395
73422
|
type: "button",
|
|
73396
|
-
title: "
|
|
73423
|
+
title: (0, i18next.t)("clear captured traffic"),
|
|
73424
|
+
"data-i18n-title": "clear captured traffic",
|
|
73425
|
+
"data-i18n": "clear"
|
|
73397
73426
|
},
|
|
73398
|
-
"
|
|
73427
|
+
(0, i18next.t)("clear"),
|
|
73399
73428
|
{ click: (ev) => {
|
|
73400
73429
|
ev.stopPropagation();
|
|
73401
73430
|
clear_traffic();
|
|
@@ -73406,8 +73435,11 @@ function build_control_bar() {
|
|
|
73406
73435
|
{ class: "YDEV_GROUP" },
|
|
73407
73436
|
[[
|
|
73408
73437
|
"span",
|
|
73409
|
-
{
|
|
73410
|
-
|
|
73438
|
+
{
|
|
73439
|
+
class: "YDEV_LABEL",
|
|
73440
|
+
"data-i18n": label
|
|
73441
|
+
},
|
|
73442
|
+
(0, i18next.t)(label)
|
|
73411
73443
|
], ...items]
|
|
73412
73444
|
];
|
|
73413
73445
|
let sep = () => [
|
|
@@ -73419,18 +73451,18 @@ function build_control_bar() {
|
|
|
73419
73451
|
"div",
|
|
73420
73452
|
{ class: "YDEV_BAR" },
|
|
73421
73453
|
[
|
|
73422
|
-
grp("
|
|
73454
|
+
grp("traces", [...trace_chips, simple_mach]),
|
|
73423
73455
|
sep(),
|
|
73424
|
-
grp("
|
|
73456
|
+
grp("output", [output_seg]),
|
|
73425
73457
|
sep(),
|
|
73426
|
-
grp("
|
|
73458
|
+
grp("view", [view_seg]),
|
|
73427
73459
|
expand_grp,
|
|
73428
73460
|
sep(),
|
|
73429
|
-
grp("
|
|
73461
|
+
grp("show", [...dir_chips, periodic_chip]),
|
|
73430
73462
|
sep(),
|
|
73431
|
-
grp("
|
|
73463
|
+
grp("find", [search]),
|
|
73432
73464
|
sep(),
|
|
73433
|
-
grp("
|
|
73465
|
+
grp("log", [copy, clear])
|
|
73434
73466
|
]
|
|
73435
73467
|
]);
|
|
73436
73468
|
}
|
|
@@ -73440,12 +73472,18 @@ function build_title_header() {
|
|
|
73440
73472
|
{ class: "YDEV_TITLE" },
|
|
73441
73473
|
[[
|
|
73442
73474
|
"span",
|
|
73443
|
-
{
|
|
73444
|
-
|
|
73475
|
+
{
|
|
73476
|
+
class: "YDEV_TITLE_MAIN",
|
|
73477
|
+
"data-i18n": "developer"
|
|
73478
|
+
},
|
|
73479
|
+
(0, i18next.t)("developer")
|
|
73445
73480
|
], [
|
|
73446
73481
|
"span",
|
|
73447
|
-
{
|
|
73448
|
-
|
|
73482
|
+
{
|
|
73483
|
+
class: "YDEV_TITLE_SUB",
|
|
73484
|
+
"data-i18n": "yuno monitor"
|
|
73485
|
+
},
|
|
73486
|
+
(0, i18next.t)("yuno monitor")
|
|
73449
73487
|
]]
|
|
73450
73488
|
]);
|
|
73451
73489
|
}
|
|
@@ -73543,7 +73581,7 @@ function setup_dev(self, show) {
|
|
|
73543
73581
|
showFooter: false,
|
|
73544
73582
|
auto_save_size_and_position: true,
|
|
73545
73583
|
center: false,
|
|
73546
|
-
title: "
|
|
73584
|
+
title: "developer",
|
|
73547
73585
|
icon: "yi-terminal",
|
|
73548
73586
|
manager: (0, _yuneta_gobj_js.gobj_find_service)("__window_manager__", false) || null,
|
|
73549
73587
|
keep_on_navigate: true,
|
package/dist/gobj-ui.es.js
CHANGED
|
@@ -72096,37 +72096,37 @@ var TRAFFIC_TS_FIELDS = {
|
|
|
72096
72096
|
var TRACE_DEFS = [
|
|
72097
72097
|
[
|
|
72098
72098
|
"trace_automata",
|
|
72099
|
-
"
|
|
72099
|
+
"automata",
|
|
72100
72100
|
trace_automata
|
|
72101
72101
|
],
|
|
72102
72102
|
[
|
|
72103
72103
|
"trace_creation",
|
|
72104
|
-
"
|
|
72104
|
+
"creation",
|
|
72105
72105
|
trace_creation
|
|
72106
72106
|
],
|
|
72107
72107
|
[
|
|
72108
72108
|
"trace_start_stop",
|
|
72109
|
-
"
|
|
72109
|
+
"start / stop",
|
|
72110
72110
|
trace_start_stop
|
|
72111
72111
|
],
|
|
72112
72112
|
[
|
|
72113
72113
|
"trace_subscriptions",
|
|
72114
|
-
"
|
|
72114
|
+
"subscriptions",
|
|
72115
72115
|
trace_subscriptions
|
|
72116
72116
|
],
|
|
72117
72117
|
[
|
|
72118
72118
|
"trace_i18n",
|
|
72119
|
-
"
|
|
72119
|
+
"i18n",
|
|
72120
72120
|
trace_i18n
|
|
72121
72121
|
],
|
|
72122
72122
|
[
|
|
72123
72123
|
"trace_traffic",
|
|
72124
|
-
"
|
|
72124
|
+
"traffic",
|
|
72125
72125
|
trace_traffic
|
|
72126
72126
|
],
|
|
72127
72127
|
[
|
|
72128
72128
|
"no_poll",
|
|
72129
|
-
"
|
|
72129
|
+
"no poll",
|
|
72130
72130
|
set_no_poll
|
|
72131
72131
|
]
|
|
72132
72132
|
];
|
|
@@ -72600,7 +72600,8 @@ function mute_button(sig) {
|
|
|
72600
72600
|
{
|
|
72601
72601
|
class: "TRAFFIC_MUTE",
|
|
72602
72602
|
type: "button",
|
|
72603
|
-
title: "
|
|
72603
|
+
title: t("mute this message"),
|
|
72604
|
+
"data-i18n-title": "mute this message"
|
|
72604
72605
|
},
|
|
72605
72606
|
"⊘",
|
|
72606
72607
|
{ click: (ev) => {
|
|
@@ -73100,7 +73101,7 @@ function set_no_poll() {
|
|
|
73100
73101
|
function refresh_dev_chrome() {
|
|
73101
73102
|
document.querySelectorAll(".YDEV_CHIP[data-trace]").forEach(($b) => {
|
|
73102
73103
|
let key = $b.getAttribute("data-trace");
|
|
73103
|
-
let label = $b.getAttribute("data-label") || "";
|
|
73104
|
+
let label = t($b.getAttribute("data-label") || "");
|
|
73104
73105
|
let v = dev_num(key, 0);
|
|
73105
73106
|
$b.textContent = key === "trace_automata" && v > 0 ? label + " " + v : label;
|
|
73106
73107
|
$b.classList.toggle("is-active", v > 0);
|
|
@@ -73134,7 +73135,8 @@ function refresh_dev_chrome() {
|
|
|
73134
73135
|
if (set.size) {
|
|
73135
73136
|
let $lbl = document.createElement("span");
|
|
73136
73137
|
$lbl.className = "YDEV_LABEL";
|
|
73137
|
-
$lbl.textContent = "
|
|
73138
|
+
$lbl.textContent = t("muted");
|
|
73139
|
+
$lbl.setAttribute("data-i18n", "muted");
|
|
73138
73140
|
$m.appendChild($lbl);
|
|
73139
73141
|
set.forEach((sig) => {
|
|
73140
73142
|
$m.appendChild(createElement2([
|
|
@@ -73142,7 +73144,8 @@ function refresh_dev_chrome() {
|
|
|
73142
73144
|
{
|
|
73143
73145
|
class: "YDEV_MUTED_CHIP",
|
|
73144
73146
|
type: "button",
|
|
73145
|
-
title: "
|
|
73147
|
+
title: t("unmute"),
|
|
73148
|
+
"data-i18n-title": "unmute"
|
|
73146
73149
|
},
|
|
73147
73150
|
"⊘ " + sig + " ✕",
|
|
73148
73151
|
{ click: (ev) => {
|
|
@@ -73197,15 +73200,16 @@ function dev_fallback_copy(text) {
|
|
|
73197
73200
|
document.body.removeChild(ta);
|
|
73198
73201
|
}
|
|
73199
73202
|
function build_control_bar() {
|
|
73200
|
-
let trace_chips = TRACE_DEFS.map(([key,
|
|
73203
|
+
let trace_chips = TRACE_DEFS.map(([key, label_key, fn]) => [
|
|
73201
73204
|
"button",
|
|
73202
73205
|
{
|
|
73203
73206
|
class: "YDEV_CHIP",
|
|
73204
73207
|
"data-trace": key,
|
|
73205
|
-
"data-label":
|
|
73208
|
+
"data-label": label_key,
|
|
73209
|
+
"data-i18n": label_key,
|
|
73206
73210
|
type: "button"
|
|
73207
73211
|
},
|
|
73208
|
-
|
|
73212
|
+
t(label_key),
|
|
73209
73213
|
{ click: (ev) => {
|
|
73210
73214
|
ev.stopPropagation();
|
|
73211
73215
|
fn();
|
|
@@ -73217,9 +73221,11 @@ function build_control_bar() {
|
|
|
73217
73221
|
class: "YDEV_CHIP",
|
|
73218
73222
|
"data-toggle": "automata-simple",
|
|
73219
73223
|
type: "button",
|
|
73220
|
-
title: "
|
|
73224
|
+
title: t("machine trace shape"),
|
|
73225
|
+
"data-i18n-title": "machine trace shape",
|
|
73226
|
+
"data-i18n": "simple mach"
|
|
73221
73227
|
},
|
|
73222
|
-
"
|
|
73228
|
+
t("simple mach"),
|
|
73223
73229
|
{ click: (ev) => {
|
|
73224
73230
|
ev.stopPropagation();
|
|
73225
73231
|
let v = dev_simple_mach() ? 0 : 1;
|
|
@@ -73233,9 +73239,10 @@ function build_control_bar() {
|
|
|
73233
73239
|
{
|
|
73234
73240
|
class: "YDEV_SEG_BTN",
|
|
73235
73241
|
"data-view": v,
|
|
73242
|
+
"data-i18n": label,
|
|
73236
73243
|
type: "button"
|
|
73237
73244
|
},
|
|
73238
|
-
label,
|
|
73245
|
+
t(label),
|
|
73239
73246
|
{ click: (ev) => {
|
|
73240
73247
|
ev.stopPropagation();
|
|
73241
73248
|
set_view(v);
|
|
@@ -73248,16 +73255,16 @@ function build_control_bar() {
|
|
|
73248
73255
|
id: "ydev-seg"
|
|
73249
73256
|
},
|
|
73250
73257
|
[
|
|
73251
|
-
mk_view("detailed", "
|
|
73252
|
-
mk_view("full", "
|
|
73253
|
-
mk_view("compact", "
|
|
73254
|
-
mk_view("name", "
|
|
73258
|
+
mk_view("detailed", "detailed"),
|
|
73259
|
+
mk_view("full", "expanded"),
|
|
73260
|
+
mk_view("compact", "compact"),
|
|
73261
|
+
mk_view("name", "name only")
|
|
73255
73262
|
]
|
|
73256
73263
|
];
|
|
73257
73264
|
let OUT_TITLES = {
|
|
73258
|
-
window: "
|
|
73259
|
-
console: "
|
|
73260
|
-
both: "
|
|
73265
|
+
window: "dev window only",
|
|
73266
|
+
console: "browser console only",
|
|
73267
|
+
both: "dev window and browser console"
|
|
73261
73268
|
};
|
|
73262
73269
|
let mk_out = (v, label) => [
|
|
73263
73270
|
"button",
|
|
@@ -73265,9 +73272,11 @@ function build_control_bar() {
|
|
|
73265
73272
|
class: "YDEV_SEG_BTN",
|
|
73266
73273
|
"data-output": v,
|
|
73267
73274
|
type: "button",
|
|
73268
|
-
title: OUT_TITLES[v]
|
|
73275
|
+
title: t(OUT_TITLES[v]),
|
|
73276
|
+
"data-i18n-title": OUT_TITLES[v],
|
|
73277
|
+
"data-i18n": label
|
|
73269
73278
|
},
|
|
73270
|
-
label,
|
|
73279
|
+
t(label),
|
|
73271
73280
|
{ click: (ev) => {
|
|
73272
73281
|
ev.stopPropagation();
|
|
73273
73282
|
set_output_route(v);
|
|
@@ -73280,9 +73289,9 @@ function build_control_bar() {
|
|
|
73280
73289
|
id: "ydev-output"
|
|
73281
73290
|
},
|
|
73282
73291
|
[
|
|
73283
|
-
mk_out("window", "
|
|
73284
|
-
mk_out("console", "
|
|
73285
|
-
mk_out("both", "
|
|
73292
|
+
mk_out("window", "window"),
|
|
73293
|
+
mk_out("console", "console"),
|
|
73294
|
+
mk_out("both", "both")
|
|
73286
73295
|
]
|
|
73287
73296
|
];
|
|
73288
73297
|
let mk_expand = (key, label) => [
|
|
@@ -73291,9 +73300,11 @@ function build_control_bar() {
|
|
|
73291
73300
|
class: "YDEV_CHIP",
|
|
73292
73301
|
"data-expand": key,
|
|
73293
73302
|
type: "button",
|
|
73294
|
-
title: "
|
|
73303
|
+
title: t("show this section in the expanded view"),
|
|
73304
|
+
"data-i18n-title": "show this section in the expanded view",
|
|
73305
|
+
"data-i18n": label
|
|
73295
73306
|
},
|
|
73296
|
-
label,
|
|
73307
|
+
t(label),
|
|
73297
73308
|
{ click: (ev) => {
|
|
73298
73309
|
ev.stopPropagation();
|
|
73299
73310
|
toggle_pref(key, key === "dev_full_data" ? 1 : 0);
|
|
@@ -73308,12 +73319,15 @@ function build_control_bar() {
|
|
|
73308
73319
|
[
|
|
73309
73320
|
[
|
|
73310
73321
|
"span",
|
|
73311
|
-
{
|
|
73312
|
-
|
|
73322
|
+
{
|
|
73323
|
+
class: "YDEV_LABEL",
|
|
73324
|
+
"data-i18n": "expand"
|
|
73325
|
+
},
|
|
73326
|
+
t("expand")
|
|
73313
73327
|
],
|
|
73314
|
-
mk_expand("dev_full_schema", "
|
|
73315
|
-
mk_expand("dev_full_data", "
|
|
73316
|
-
mk_expand("dev_full_meta", "
|
|
73328
|
+
mk_expand("dev_full_schema", "schema"),
|
|
73329
|
+
mk_expand("dev_full_data", "data"),
|
|
73330
|
+
mk_expand("dev_full_meta", "metadata")
|
|
73317
73331
|
]
|
|
73318
73332
|
];
|
|
73319
73333
|
let mk_dir = (dir, glyph, key, title) => [
|
|
@@ -73322,7 +73336,8 @@ function build_control_bar() {
|
|
|
73322
73336
|
class: "YDEV_CHIP s-" + dir,
|
|
73323
73337
|
"data-dir": key,
|
|
73324
73338
|
type: "button",
|
|
73325
|
-
title
|
|
73339
|
+
title: t(title),
|
|
73340
|
+
"data-i18n-title": title
|
|
73326
73341
|
},
|
|
73327
73342
|
glyph,
|
|
73328
73343
|
{ click: (ev) => {
|
|
@@ -73331,9 +73346,9 @@ function build_control_bar() {
|
|
|
73331
73346
|
} }
|
|
73332
73347
|
];
|
|
73333
73348
|
let dir_chips = [
|
|
73334
|
-
mk_dir("out", "⇢", "dev_filter_out", "
|
|
73335
|
-
mk_dir("in", "⇠", "dev_filter_in", "
|
|
73336
|
-
mk_dir("err", "⚠", "dev_filter_err", "
|
|
73349
|
+
mk_dir("out", "⇢", "dev_filter_out", "outgoing"),
|
|
73350
|
+
mk_dir("in", "⇠", "dev_filter_in", "incoming"),
|
|
73351
|
+
mk_dir("err", "⚠", "dev_filter_err", "errors")
|
|
73337
73352
|
];
|
|
73338
73353
|
let periodic_chip = [
|
|
73339
73354
|
"button",
|
|
@@ -73341,9 +73356,18 @@ function build_control_bar() {
|
|
|
73341
73356
|
class: "YDEV_CHIP",
|
|
73342
73357
|
"data-toggle": "periodic",
|
|
73343
73358
|
type: "button",
|
|
73344
|
-
title: "
|
|
73359
|
+
title: t("hide the timers and the recurring traffic"),
|
|
73360
|
+
"data-i18n-title": "hide the timers and the recurring traffic"
|
|
73345
73361
|
},
|
|
73346
|
-
|
|
73362
|
+
[[
|
|
73363
|
+
"span",
|
|
73364
|
+
{ class: "YDEV_GLYPH" },
|
|
73365
|
+
"⊘"
|
|
73366
|
+
], [
|
|
73367
|
+
"span",
|
|
73368
|
+
{ "data-i18n": "periodic" },
|
|
73369
|
+
t("periodic")
|
|
73370
|
+
]],
|
|
73347
73371
|
{ click: (ev) => {
|
|
73348
73372
|
ev.stopPropagation();
|
|
73349
73373
|
toggle_pref("dev_hide_periodic", HIDE_PERIODIC_DEFAULT);
|
|
@@ -73354,8 +73378,9 @@ function build_control_bar() {
|
|
|
73354
73378
|
{
|
|
73355
73379
|
class: "YDEV_SEARCH",
|
|
73356
73380
|
type: "search",
|
|
73357
|
-
|
|
73358
|
-
|
|
73381
|
+
"data-role": "search",
|
|
73382
|
+
placeholder: t("filter events / payload"),
|
|
73383
|
+
"data-i18n-placeholder": "filter events / payload"
|
|
73359
73384
|
},
|
|
73360
73385
|
"",
|
|
73361
73386
|
{ input: (ev) => {
|
|
@@ -73368,15 +73393,17 @@ function build_control_bar() {
|
|
|
73368
73393
|
{
|
|
73369
73394
|
class: "YDEV_CHIP",
|
|
73370
73395
|
type: "button",
|
|
73371
|
-
title: "
|
|
73396
|
+
title: t("copy visible traffic to clipboard"),
|
|
73397
|
+
"data-i18n-title": "copy visible traffic to clipboard",
|
|
73398
|
+
"data-i18n": "copy"
|
|
73372
73399
|
},
|
|
73373
|
-
"
|
|
73400
|
+
t("copy"),
|
|
73374
73401
|
{ click: (ev) => {
|
|
73375
73402
|
ev.stopPropagation();
|
|
73376
73403
|
let btn = ev.currentTarget;
|
|
73377
73404
|
dev_copy_text(traffic_to_text()).then(() => {
|
|
73378
73405
|
let prev = btn.textContent;
|
|
73379
|
-
btn.textContent = "
|
|
73406
|
+
btn.textContent = t("copied");
|
|
73380
73407
|
setTimeout(() => {
|
|
73381
73408
|
btn.textContent = prev;
|
|
73382
73409
|
}, 1e3);
|
|
@@ -73388,9 +73415,11 @@ function build_control_bar() {
|
|
|
73388
73415
|
{
|
|
73389
73416
|
class: "YDEV_CHIP",
|
|
73390
73417
|
type: "button",
|
|
73391
|
-
title: "
|
|
73418
|
+
title: t("clear captured traffic"),
|
|
73419
|
+
"data-i18n-title": "clear captured traffic",
|
|
73420
|
+
"data-i18n": "clear"
|
|
73392
73421
|
},
|
|
73393
|
-
"
|
|
73422
|
+
t("clear"),
|
|
73394
73423
|
{ click: (ev) => {
|
|
73395
73424
|
ev.stopPropagation();
|
|
73396
73425
|
clear_traffic();
|
|
@@ -73401,8 +73430,11 @@ function build_control_bar() {
|
|
|
73401
73430
|
{ class: "YDEV_GROUP" },
|
|
73402
73431
|
[[
|
|
73403
73432
|
"span",
|
|
73404
|
-
{
|
|
73405
|
-
|
|
73433
|
+
{
|
|
73434
|
+
class: "YDEV_LABEL",
|
|
73435
|
+
"data-i18n": label
|
|
73436
|
+
},
|
|
73437
|
+
t(label)
|
|
73406
73438
|
], ...items]
|
|
73407
73439
|
];
|
|
73408
73440
|
let sep = () => [
|
|
@@ -73414,18 +73446,18 @@ function build_control_bar() {
|
|
|
73414
73446
|
"div",
|
|
73415
73447
|
{ class: "YDEV_BAR" },
|
|
73416
73448
|
[
|
|
73417
|
-
grp("
|
|
73449
|
+
grp("traces", [...trace_chips, simple_mach]),
|
|
73418
73450
|
sep(),
|
|
73419
|
-
grp("
|
|
73451
|
+
grp("output", [output_seg]),
|
|
73420
73452
|
sep(),
|
|
73421
|
-
grp("
|
|
73453
|
+
grp("view", [view_seg]),
|
|
73422
73454
|
expand_grp,
|
|
73423
73455
|
sep(),
|
|
73424
|
-
grp("
|
|
73456
|
+
grp("show", [...dir_chips, periodic_chip]),
|
|
73425
73457
|
sep(),
|
|
73426
|
-
grp("
|
|
73458
|
+
grp("find", [search]),
|
|
73427
73459
|
sep(),
|
|
73428
|
-
grp("
|
|
73460
|
+
grp("log", [copy, clear])
|
|
73429
73461
|
]
|
|
73430
73462
|
]);
|
|
73431
73463
|
}
|
|
@@ -73435,12 +73467,18 @@ function build_title_header() {
|
|
|
73435
73467
|
{ class: "YDEV_TITLE" },
|
|
73436
73468
|
[[
|
|
73437
73469
|
"span",
|
|
73438
|
-
{
|
|
73439
|
-
|
|
73470
|
+
{
|
|
73471
|
+
class: "YDEV_TITLE_MAIN",
|
|
73472
|
+
"data-i18n": "developer"
|
|
73473
|
+
},
|
|
73474
|
+
t("developer")
|
|
73440
73475
|
], [
|
|
73441
73476
|
"span",
|
|
73442
|
-
{
|
|
73443
|
-
|
|
73477
|
+
{
|
|
73478
|
+
class: "YDEV_TITLE_SUB",
|
|
73479
|
+
"data-i18n": "yuno monitor"
|
|
73480
|
+
},
|
|
73481
|
+
t("yuno monitor")
|
|
73444
73482
|
]]
|
|
73445
73483
|
]);
|
|
73446
73484
|
}
|
|
@@ -73538,7 +73576,7 @@ function setup_dev(self, show) {
|
|
|
73538
73576
|
showFooter: false,
|
|
73539
73577
|
auto_save_size_and_position: true,
|
|
73540
73578
|
center: false,
|
|
73541
|
-
title: "
|
|
73579
|
+
title: "developer",
|
|
73542
73580
|
icon: "yi-terminal",
|
|
73543
73581
|
manager: gobj_find_service("__window_manager__", false) || null,
|
|
73544
73582
|
keep_on_navigate: true,
|
package/package.json
CHANGED
package/src/yui_dev.js
CHANGED
|
@@ -31,7 +31,7 @@ import * as gobj_js from "@yuneta/gobj-js";
|
|
|
31
31
|
|
|
32
32
|
import {log_signature, log_is_periodic} from "./dev_machine_trace.js";
|
|
33
33
|
|
|
34
|
-
import i18next from 'i18next';
|
|
34
|
+
import i18next, {t} from 'i18next';
|
|
35
35
|
|
|
36
36
|
/***********************************************************************
|
|
37
37
|
* Traffic model (bounded ring buffer)
|
|
@@ -62,14 +62,18 @@ const TRAFFIC_TS_FIELDS = {
|
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
/* Trace toggles: [localStorage key, display label, handler]. */
|
|
65
|
+
/* `data-label` carries the i18n KEY and not the text: the chips are
|
|
66
|
+
* repainted from it by `refresh_dev_chrome()` on every toggle, so a
|
|
67
|
+
* label translated once at build time would come back in English at
|
|
68
|
+
* the first click. */
|
|
65
69
|
const TRACE_DEFS = [
|
|
66
|
-
["trace_automata", "
|
|
67
|
-
["trace_creation", "
|
|
68
|
-
["trace_start_stop", "
|
|
69
|
-
["trace_subscriptions", "
|
|
70
|
-
["trace_i18n", "
|
|
71
|
-
["trace_traffic", "
|
|
72
|
-
["no_poll", "
|
|
70
|
+
["trace_automata", "automata", trace_automata],
|
|
71
|
+
["trace_creation", "creation", trace_creation],
|
|
72
|
+
["trace_start_stop", "start / stop", trace_start_stop],
|
|
73
|
+
["trace_subscriptions", "subscriptions", trace_subscriptions],
|
|
74
|
+
["trace_i18n", "i18n", trace_i18n],
|
|
75
|
+
["trace_traffic", "traffic", trace_traffic],
|
|
76
|
+
["no_poll", "no poll", set_no_poll],
|
|
73
77
|
];
|
|
74
78
|
|
|
75
79
|
|
|
@@ -703,7 +707,10 @@ function traffic_bullets(obj)
|
|
|
703
707
|
/* A small mute affordance that silences this signature (persistent). */
|
|
704
708
|
function mute_button(sig)
|
|
705
709
|
{
|
|
706
|
-
|
|
710
|
+
/* `t('mute this message')` and not `'Mute ' + sig`: a composed
|
|
711
|
+
* title is no i18n key, and the row already says which message. */
|
|
712
|
+
return ['button', {class: 'TRAFFIC_MUTE', type: 'button',
|
|
713
|
+
title: t('mute this message'), 'data-i18n-title': 'mute this message'}, '⊘', {
|
|
707
714
|
click: (ev) => {
|
|
708
715
|
ev.stopPropagation();
|
|
709
716
|
ev.preventDefault();
|
|
@@ -1328,7 +1335,7 @@ function refresh_dev_chrome()
|
|
|
1328
1335
|
{
|
|
1329
1336
|
document.querySelectorAll('.YDEV_CHIP[data-trace]').forEach(($b) => {
|
|
1330
1337
|
let key = $b.getAttribute('data-trace');
|
|
1331
|
-
let label = $b.getAttribute('data-label') || '';
|
|
1338
|
+
let label = t($b.getAttribute('data-label') || '');
|
|
1332
1339
|
let v = dev_num(key, 0);
|
|
1333
1340
|
$b.textContent = (key === "trace_automata" && v > 0) ? (label + " " + v) : label;
|
|
1334
1341
|
$b.classList.toggle('is-active', v > 0);
|
|
@@ -1373,11 +1380,13 @@ function refresh_dev_chrome()
|
|
|
1373
1380
|
if(set.size) {
|
|
1374
1381
|
let $lbl = document.createElement('span');
|
|
1375
1382
|
$lbl.className = 'YDEV_LABEL';
|
|
1376
|
-
$lbl.textContent = '
|
|
1383
|
+
$lbl.textContent = t('muted');
|
|
1384
|
+
$lbl.setAttribute('data-i18n', 'muted');
|
|
1377
1385
|
$m.appendChild($lbl);
|
|
1378
1386
|
set.forEach((sig) => {
|
|
1379
1387
|
$m.appendChild(createElement2(
|
|
1380
|
-
['button', {class: 'YDEV_MUTED_CHIP', type: 'button',
|
|
1388
|
+
['button', {class: 'YDEV_MUTED_CHIP', type: 'button',
|
|
1389
|
+
title: t('unmute'), 'data-i18n-title': 'unmute'},
|
|
1381
1390
|
'⊘ ' + sig + ' ✕', {
|
|
1382
1391
|
click: (ev) => {
|
|
1383
1392
|
ev.stopPropagation();
|
|
@@ -1457,9 +1466,10 @@ function dev_fallback_copy(text)
|
|
|
1457
1466
|
* periodic filters, free-text search, copy, clear. Returns an element. */
|
|
1458
1467
|
function build_control_bar()
|
|
1459
1468
|
{
|
|
1460
|
-
let trace_chips = TRACE_DEFS.map(([key,
|
|
1461
|
-
class: 'YDEV_CHIP', 'data-trace': key, 'data-label':
|
|
1462
|
-
|
|
1469
|
+
let trace_chips = TRACE_DEFS.map(([key, label_key, fn]) => ['button', {
|
|
1470
|
+
class: 'YDEV_CHIP', 'data-trace': key, 'data-label': label_key,
|
|
1471
|
+
'data-i18n': label_key, type: 'button',
|
|
1472
|
+
}, t(label_key), {
|
|
1463
1473
|
click: (ev) => {
|
|
1464
1474
|
ev.stopPropagation();
|
|
1465
1475
|
fn();
|
|
@@ -1471,10 +1481,9 @@ function build_control_bar()
|
|
|
1471
1481
|
* emitted while Automata is on. */
|
|
1472
1482
|
let simple_mach = ['button', {
|
|
1473
1483
|
class: 'YDEV_CHIP', 'data-toggle': 'automata-simple', type: 'button',
|
|
1474
|
-
title: '
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
}, 'Simple mach', {
|
|
1484
|
+
title: t('machine trace shape'), 'data-i18n-title': 'machine trace shape',
|
|
1485
|
+
'data-i18n': 'simple mach',
|
|
1486
|
+
}, t('simple mach'), {
|
|
1478
1487
|
click: (ev) => {
|
|
1479
1488
|
ev.stopPropagation();
|
|
1480
1489
|
let v = dev_simple_mach() ? 0 : 1;
|
|
@@ -1484,7 +1493,8 @@ function build_control_bar()
|
|
|
1484
1493
|
}
|
|
1485
1494
|
}];
|
|
1486
1495
|
|
|
1487
|
-
let mk_view = (v, label) => ['button', {class: 'YDEV_SEG_BTN', 'data-view': v,
|
|
1496
|
+
let mk_view = (v, label) => ['button', {class: 'YDEV_SEG_BTN', 'data-view': v,
|
|
1497
|
+
'data-i18n': label, type: 'button'}, t(label), {
|
|
1488
1498
|
click: (ev) => {
|
|
1489
1499
|
ev.stopPropagation();
|
|
1490
1500
|
set_view(v);
|
|
@@ -1492,53 +1502,62 @@ function build_control_bar()
|
|
|
1492
1502
|
}];
|
|
1493
1503
|
|
|
1494
1504
|
let view_seg = ['div', {class: 'YDEV_SEG', id: 'ydev-seg'}, [
|
|
1495
|
-
mk_view('detailed', '
|
|
1496
|
-
mk_view('full', '
|
|
1497
|
-
mk_view('compact', '
|
|
1498
|
-
mk_view('name', '
|
|
1505
|
+
mk_view('detailed', 'detailed'),
|
|
1506
|
+
mk_view('full', 'expanded'),
|
|
1507
|
+
mk_view('compact', 'compact'),
|
|
1508
|
+
mk_view('name', 'name only'),
|
|
1499
1509
|
]];
|
|
1500
1510
|
|
|
1501
1511
|
/* Output routing: send traffic + all logs + automata to the dev window,
|
|
1502
1512
|
* the browser console, or both. */
|
|
1503
1513
|
let OUT_TITLES = {
|
|
1504
|
-
window: '
|
|
1505
|
-
console: '
|
|
1506
|
-
both: '
|
|
1514
|
+
window: 'dev window only',
|
|
1515
|
+
console: 'browser console only',
|
|
1516
|
+
both: 'dev window and browser console',
|
|
1507
1517
|
};
|
|
1508
1518
|
let mk_out = (v, label) => ['button', {
|
|
1509
|
-
class: 'YDEV_SEG_BTN', 'data-output': v, type: 'button',
|
|
1510
|
-
|
|
1519
|
+
class: 'YDEV_SEG_BTN', 'data-output': v, type: 'button',
|
|
1520
|
+
title: t(OUT_TITLES[v]), 'data-i18n-title': OUT_TITLES[v],
|
|
1521
|
+
'data-i18n': label,
|
|
1522
|
+
}, t(label), {
|
|
1511
1523
|
click: (ev) => {
|
|
1512
1524
|
ev.stopPropagation();
|
|
1513
1525
|
set_output_route(v);
|
|
1514
1526
|
}
|
|
1515
1527
|
}];
|
|
1516
1528
|
let output_seg = ['div', {class: 'YDEV_SEG', id: 'ydev-output'}, [
|
|
1517
|
-
mk_out('window', '
|
|
1518
|
-
mk_out('console', '
|
|
1519
|
-
mk_out('both', '
|
|
1529
|
+
mk_out('window', 'window'),
|
|
1530
|
+
mk_out('console', 'console'),
|
|
1531
|
+
mk_out('both', 'both'),
|
|
1520
1532
|
]];
|
|
1521
1533
|
|
|
1522
1534
|
/* Expanded-view section toggles (only meaningful in the 'full' view;
|
|
1523
1535
|
* the group is shown/hidden by refresh_dev_chrome). */
|
|
1536
|
+
/* The title says WHAT it does and not which section: composing
|
|
1537
|
+
* `'Show ' + label + '...'` gives a string that is no i18n key, so
|
|
1538
|
+
* it could never re-translate -- and the button's own label is the
|
|
1539
|
+
* section anyway. */
|
|
1524
1540
|
let mk_expand = (key, label) => ['button', {
|
|
1525
1541
|
class: 'YDEV_CHIP', 'data-expand': key, type: 'button',
|
|
1526
|
-
title: '
|
|
1527
|
-
|
|
1542
|
+
title: t('show this section in the expanded view'),
|
|
1543
|
+
'data-i18n-title': 'show this section in the expanded view',
|
|
1544
|
+
'data-i18n': label,
|
|
1545
|
+
}, t(label), {
|
|
1528
1546
|
click: (ev) => {
|
|
1529
1547
|
ev.stopPropagation();
|
|
1530
1548
|
toggle_pref(key, (key === 'dev_full_data') ? 1 : 0);
|
|
1531
1549
|
}
|
|
1532
1550
|
}];
|
|
1533
1551
|
let expand_grp = ['div', {class: 'YDEV_GROUP', id: 'ydev-expand-grp'}, [
|
|
1534
|
-
['span', {class: 'YDEV_LABEL'}, '
|
|
1535
|
-
mk_expand('dev_full_schema', '
|
|
1536
|
-
mk_expand('dev_full_data', '
|
|
1537
|
-
mk_expand('dev_full_meta', '
|
|
1552
|
+
['span', {class: 'YDEV_LABEL', 'data-i18n': 'expand'}, t('expand')],
|
|
1553
|
+
mk_expand('dev_full_schema', 'schema'),
|
|
1554
|
+
mk_expand('dev_full_data', 'data'),
|
|
1555
|
+
mk_expand('dev_full_meta', 'metadata'),
|
|
1538
1556
|
]];
|
|
1539
1557
|
|
|
1540
1558
|
let mk_dir = (dir, glyph, key, title) => ['button', {
|
|
1541
|
-
class: 'YDEV_CHIP s-' + dir, 'data-dir': key, type: 'button',
|
|
1559
|
+
class: 'YDEV_CHIP s-' + dir, 'data-dir': key, type: 'button',
|
|
1560
|
+
title: t(title), 'data-i18n-title': title,
|
|
1542
1561
|
}, glyph, {
|
|
1543
1562
|
click: (ev) => {
|
|
1544
1563
|
ev.stopPropagation();
|
|
@@ -1547,16 +1566,23 @@ function build_control_bar()
|
|
|
1547
1566
|
}];
|
|
1548
1567
|
|
|
1549
1568
|
let dir_chips = [
|
|
1550
|
-
mk_dir('out', '⇢', 'dev_filter_out', '
|
|
1551
|
-
mk_dir('in', '⇠', 'dev_filter_in', '
|
|
1552
|
-
mk_dir('err', '⚠', 'dev_filter_err', '
|
|
1569
|
+
mk_dir('out', '⇢', 'dev_filter_out', 'outgoing'),
|
|
1570
|
+
mk_dir('in', '⇠', 'dev_filter_in', 'incoming'),
|
|
1571
|
+
mk_dir('err', '⚠', 'dev_filter_err', 'errors'),
|
|
1553
1572
|
];
|
|
1554
1573
|
|
|
1555
1574
|
let periodic_chip = ['button', {
|
|
1556
1575
|
class: 'YDEV_CHIP', 'data-toggle': 'periodic', type: 'button',
|
|
1557
|
-
title: '
|
|
1558
|
-
|
|
1559
|
-
},
|
|
1576
|
+
title: t('hide the timers and the recurring traffic'),
|
|
1577
|
+
'data-i18n-title': 'hide the timers and the recurring traffic',
|
|
1578
|
+
}, [
|
|
1579
|
+
/* The glyph is its own element so the label beside it can carry
|
|
1580
|
+
* its key: `refresh_language()` replaces the FIRST text node of
|
|
1581
|
+
* the element that carries `data-i18n`, and that would have
|
|
1582
|
+
* eaten the glyph with the word. */
|
|
1583
|
+
['span', {class: 'YDEV_GLYPH'}, '⊘'],
|
|
1584
|
+
['span', {'data-i18n': 'periodic'}, t('periodic')]
|
|
1585
|
+
], {
|
|
1560
1586
|
click: (ev) => {
|
|
1561
1587
|
ev.stopPropagation();
|
|
1562
1588
|
toggle_pref('dev_hide_periodic', HIDE_PERIODIC_DEFAULT);
|
|
@@ -1564,7 +1590,9 @@ function build_control_bar()
|
|
|
1564
1590
|
}];
|
|
1565
1591
|
|
|
1566
1592
|
let search = ['input', {
|
|
1567
|
-
class: 'YDEV_SEARCH', type: 'search',
|
|
1593
|
+
class: 'YDEV_SEARCH', type: 'search', 'data-role': 'search',
|
|
1594
|
+
placeholder: t('filter events / payload'),
|
|
1595
|
+
'data-i18n-placeholder': 'filter events / payload',
|
|
1568
1596
|
}, '', {
|
|
1569
1597
|
input: (ev) => {
|
|
1570
1598
|
SEARCH_TEXT = String(ev.target.value || '').toLowerCase().trim();
|
|
@@ -1572,35 +1600,42 @@ function build_control_bar()
|
|
|
1572
1600
|
}
|
|
1573
1601
|
}];
|
|
1574
1602
|
|
|
1575
|
-
let copy = ['button', {class: 'YDEV_CHIP', type: 'button',
|
|
1603
|
+
let copy = ['button', {class: 'YDEV_CHIP', type: 'button',
|
|
1604
|
+
title: t('copy visible traffic to clipboard'),
|
|
1605
|
+
'data-i18n-title': 'copy visible traffic to clipboard',
|
|
1606
|
+
'data-i18n': 'copy'}, t('copy'), {
|
|
1576
1607
|
click: (ev) => {
|
|
1577
1608
|
ev.stopPropagation();
|
|
1578
1609
|
let btn = ev.currentTarget;
|
|
1579
1610
|
dev_copy_text(traffic_to_text()).then(() => {
|
|
1580
1611
|
let prev = btn.textContent;
|
|
1581
|
-
btn.textContent = '
|
|
1612
|
+
btn.textContent = t('copied');
|
|
1582
1613
|
setTimeout(() => { btn.textContent = prev; }, 1000);
|
|
1583
1614
|
});
|
|
1584
1615
|
}
|
|
1585
1616
|
}];
|
|
1586
1617
|
|
|
1587
|
-
let clear = ['button', {class: 'YDEV_CHIP', type: 'button',
|
|
1618
|
+
let clear = ['button', {class: 'YDEV_CHIP', type: 'button',
|
|
1619
|
+
title: t('clear captured traffic'),
|
|
1620
|
+
'data-i18n-title': 'clear captured traffic',
|
|
1621
|
+
'data-i18n': 'clear'}, t('clear'), {
|
|
1588
1622
|
click: (ev) => {
|
|
1589
1623
|
ev.stopPropagation();
|
|
1590
1624
|
clear_traffic();
|
|
1591
1625
|
}
|
|
1592
1626
|
}];
|
|
1593
1627
|
|
|
1594
|
-
let grp = (label, items) => ['div', {class: 'YDEV_GROUP'},
|
|
1628
|
+
let grp = (label, items) => ['div', {class: 'YDEV_GROUP'},
|
|
1629
|
+
[['span', {class: 'YDEV_LABEL', 'data-i18n': label}, t(label)], ...items]];
|
|
1595
1630
|
let sep = () => ['span', {class: 'YDEV_SEP'}, ''];
|
|
1596
1631
|
|
|
1597
1632
|
return createElement2(['div', {class: 'YDEV_BAR'}, [
|
|
1598
|
-
grp('
|
|
1599
|
-
grp('
|
|
1600
|
-
grp('
|
|
1601
|
-
grp('
|
|
1602
|
-
grp('
|
|
1603
|
-
grp('
|
|
1633
|
+
grp('traces', [...trace_chips, simple_mach]), sep(),
|
|
1634
|
+
grp('output', [output_seg]), sep(),
|
|
1635
|
+
grp('view', [view_seg]), expand_grp, sep(),
|
|
1636
|
+
grp('show', [...dir_chips, periodic_chip]), sep(),
|
|
1637
|
+
grp('find', [search]), sep(),
|
|
1638
|
+
grp('log', [copy, clear]),
|
|
1604
1639
|
]]);
|
|
1605
1640
|
}
|
|
1606
1641
|
|
|
@@ -1608,8 +1643,9 @@ function build_control_bar()
|
|
|
1608
1643
|
function build_title_header()
|
|
1609
1644
|
{
|
|
1610
1645
|
return createElement2(['div', {class: 'YDEV_TITLE'}, [
|
|
1611
|
-
['span', {class: 'YDEV_TITLE_MAIN'}, '
|
|
1612
|
-
['span', {class: 'YDEV_TITLE_SUB'
|
|
1646
|
+
['span', {class: 'YDEV_TITLE_MAIN', 'data-i18n': 'developer'}, t('developer')],
|
|
1647
|
+
['span', {class: 'YDEV_TITLE_SUB', 'data-i18n': 'yuno monitor'},
|
|
1648
|
+
t('yuno monitor')],
|
|
1613
1649
|
]]);
|
|
1614
1650
|
}
|
|
1615
1651
|
|
|
@@ -1710,7 +1746,7 @@ function setup_dev(self, show)
|
|
|
1710
1746
|
showFooter: false,
|
|
1711
1747
|
auto_save_size_and_position: true,
|
|
1712
1748
|
center: false,
|
|
1713
|
-
title: "
|
|
1749
|
+
title: "developer",
|
|
1714
1750
|
icon: "yi-terminal",
|
|
1715
1751
|
/* Opt into the dock/taskbar if the app provides one. `|| null`
|
|
1716
1752
|
* because gobj_find_service returns undefined when absent, and
|