cmdbox 0.5.1.1__py3-none-any.whl → 0.5.1.2__py3-none-any.whl
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.
Potentially problematic release.
This version of cmdbox might be problematic. Click here for more details.
- cmdbox/version.py +1 -1
- cmdbox/web/assets/cmdbox/list_cmd.js +80 -33
- cmdbox/web/assets/cmdbox/list_pipe.js +2 -1
- cmdbox/web/gui.html +6 -1
- {cmdbox-0.5.1.1.dist-info → cmdbox-0.5.1.2.dist-info}/METADATA +1 -1
- {cmdbox-0.5.1.1.dist-info → cmdbox-0.5.1.2.dist-info}/RECORD +10 -10
- {cmdbox-0.5.1.1.dist-info → cmdbox-0.5.1.2.dist-info}/LICENSE +0 -0
- {cmdbox-0.5.1.1.dist-info → cmdbox-0.5.1.2.dist-info}/WHEEL +0 -0
- {cmdbox-0.5.1.1.dist-info → cmdbox-0.5.1.2.dist-info}/entry_points.txt +0 -0
- {cmdbox-0.5.1.1.dist-info → cmdbox-0.5.1.2.dist-info}/top_level.txt +0 -0
cmdbox/version.py
CHANGED
|
@@ -3,7 +3,7 @@ import datetime
|
|
|
3
3
|
dt_now = datetime.datetime(2025, 3, 27)
|
|
4
4
|
__appid__ = 'cmdbox'
|
|
5
5
|
__title__ = 'cmdbox (Command Development Application)'
|
|
6
|
-
__version__ = '0.5.1.
|
|
6
|
+
__version__ = '0.5.1.2'
|
|
7
7
|
__copyright__ = f'Copyright © 2023-{dt_now.strftime("%Y")} hamacom2004jp'
|
|
8
8
|
__pypiurl__ = 'https://pypi.org/project/cmdbox/'
|
|
9
9
|
__srcurl__ = 'https://github.com/hamacom2004jp/cmdbox'
|
|
@@ -15,7 +15,14 @@ const list_cmd_func = async () => {
|
|
|
15
15
|
}
|
|
16
16
|
elem.find('.cmd_title').text(row.title);
|
|
17
17
|
elem.find('.cmd_mode').text(row.mode);
|
|
18
|
-
elem.find('.cmd_cmd').text(row.cmd)
|
|
18
|
+
elem.find('.cmd_cmd').text(row.cmd);
|
|
19
|
+
const tags_elem = elem.find('.cmd_tags');
|
|
20
|
+
if (row.tag && Array.isArray(row.tag)) {
|
|
21
|
+
row.tag.forEach(tag => {
|
|
22
|
+
if (tag=='') return;
|
|
23
|
+
tags_elem.append(`<span class="badge text-bg-secondary me-1"><svg class="bi bi-svg_tag" width="16" height="16" fill="currentColor"><use href="#svg_tag"></use></svg>${tag}</span>`);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
19
26
|
if (row.tag && Array.isArray(row.tag)) {
|
|
20
27
|
const tags = new Set([...row.tag]);
|
|
21
28
|
elem.find('.cmd_card').attr('data-tags', Array.from(tags).join(','));
|
|
@@ -24,49 +31,89 @@ const list_cmd_func = async () => {
|
|
|
24
31
|
};
|
|
25
32
|
py_list_cmd.forEach(row => {card_func(row, true)});
|
|
26
33
|
py_list_cmd.forEach(row => {card_func(row, false)});
|
|
27
|
-
$('#cmd_item_tags').html('');
|
|
34
|
+
const cmd_item_tags = $('#cmd_item_tags').html('');
|
|
35
|
+
const tag_bot_click = (e) => {
|
|
36
|
+
const ct = $(e.currentTarget);
|
|
37
|
+
const cmd_items = $('#cmd_items').find('.cmd_card:not(.cmd_add)');
|
|
38
|
+
const andor_sw = ct.hasClass('andor_switch');
|
|
39
|
+
const and_val = $('#andor_switch').prop('checked');
|
|
40
|
+
// 選択中のボタンの場合は解除中にする
|
|
41
|
+
if (!andor_sw && ct.hasClass('btn-secondary')) {
|
|
42
|
+
ct.removeClass('btn-secondary');
|
|
43
|
+
ct.addClass('btn-outline-secondary');
|
|
44
|
+
}
|
|
45
|
+
// 解除中のボタンの場合は選択中にする
|
|
46
|
+
else if (!andor_sw && ct.hasClass('btn-outline-secondary')) {
|
|
47
|
+
ct.removeClass('btn-outline-secondary');
|
|
48
|
+
ct.addClass('btn-secondary');
|
|
49
|
+
}
|
|
50
|
+
// 選択中のタグを取得
|
|
51
|
+
const tags = new Set();
|
|
52
|
+
cmd_item_tags.find('.btn-tag').each((i, elem) => {
|
|
53
|
+
if ($(elem).hasClass('btn-secondary')) tags.add($(elem).attr('data-tag'));
|
|
54
|
+
});
|
|
55
|
+
// タグ無しボタンが選択された場合
|
|
56
|
+
if (ct.hasClass('btn_notag') && ct.hasClass('btn-secondary')) {
|
|
57
|
+
cmd_item_tags.find('.btn-tag').removeClass('btn-secondary').addClass('btn-outline-secondary');
|
|
58
|
+
cmd_items.parent().hide();
|
|
59
|
+
cmd_items.each((i, elem) => {
|
|
60
|
+
const el = $(elem);
|
|
61
|
+
const itags = el.attr('data-tags');
|
|
62
|
+
if (itags) return;
|
|
63
|
+
el.parent().show();
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// notagボタンの選択を解除
|
|
68
|
+
if (!andor_sw) $('#btn_notag').removeClass('btn-secondary').addClass('btn-outline-secondary');
|
|
69
|
+
// タグがない場合は全て表示
|
|
70
|
+
if (tags.size == 0) {
|
|
71
|
+
cmd_items.parent().show();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// タグがある場合はタグに一致するものだけ表示
|
|
75
|
+
cmd_items.parent().hide();
|
|
76
|
+
cmd_items.each((i, elem) => {
|
|
77
|
+
const el = $(elem);
|
|
78
|
+
// andorチェックされている場合はすべてのタグを含むものを表示
|
|
79
|
+
if (and_val) {
|
|
80
|
+
const itags = el.attr('data-tags');
|
|
81
|
+
if (!itags) return;
|
|
82
|
+
const etags = itags.split(',');
|
|
83
|
+
if (etags.filter(tag => tags.has(tag)).length == tags.size) el.parent().show();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// andorチェックされていない場合はいずれかのタグを含むものを表示
|
|
87
|
+
tags.forEach(tag => {
|
|
88
|
+
const itags = el.attr('data-tags');
|
|
89
|
+
if (!itags) return;
|
|
90
|
+
else if (itags.split(',').includes(tag)) el.parent().show();
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
// タグボタンを追加
|
|
28
95
|
py_list_cmd.forEach(row => {
|
|
29
96
|
if (!row.tag || !Array.isArray(row.tag)) return;
|
|
30
|
-
const cmd_item_tags = $('#cmd_item_tags');
|
|
31
97
|
row.tag.forEach(tag => {
|
|
32
98
|
if (tag=='') return;
|
|
33
99
|
if (cmd_item_tags.find(`[data-tag="${tag}"]`).length > 0) return;
|
|
34
100
|
const elem = $(`<button type="button" class="btn btn-outline-secondary btn-sm btn-tag me-2">${tag}</button>`);
|
|
35
101
|
elem.attr('data-tag', tag);
|
|
36
102
|
elem.text(tag);
|
|
37
|
-
elem.click(
|
|
38
|
-
const ct = $(e.currentTarget);
|
|
39
|
-
const cmd_items = $('#cmd_items').find('.cmd_card:not(.cmd_add)');
|
|
40
|
-
if (ct.hasClass('btn-secondary')) {
|
|
41
|
-
ct.removeClass('btn-secondary');
|
|
42
|
-
ct.addClass('btn-outline-secondary');
|
|
43
|
-
}
|
|
44
|
-
else if (ct.hasClass('btn-outline-secondary')) {
|
|
45
|
-
ct.removeClass('btn-outline-secondary');
|
|
46
|
-
ct.addClass('btn-secondary');
|
|
47
|
-
}
|
|
48
|
-
const tags = new Set();
|
|
49
|
-
cmd_item_tags.find('.btn-tag').each((i, elem) => {
|
|
50
|
-
if ($(elem).hasClass('btn-secondary')) tags.add($(elem).attr('data-tag'));
|
|
51
|
-
});
|
|
52
|
-
if (tags.size == 0) {
|
|
53
|
-
cmd_items.parent().show();
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
cmd_items.parent().hide();
|
|
57
|
-
tags.forEach(tag => {
|
|
58
|
-
cmd_items.each((i, elem) => {
|
|
59
|
-
const el = $(elem);
|
|
60
|
-
const itags = el.attr('data-tags');
|
|
61
|
-
if (!itags) return;
|
|
62
|
-
else if (itags.split(',').includes(tag)) el.parent().show();
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
});
|
|
103
|
+
elem.click(tag_bot_click);
|
|
66
104
|
cmd_item_tags.append(elem);
|
|
67
105
|
});
|
|
68
|
-
|
|
69
106
|
});
|
|
107
|
+
// タグ未選択ボタンを追加
|
|
108
|
+
const noselect_bot = $(`<button type="button" class="btn btn-outline-secondary btn-sm btn_notag me-2" id="btn_notag">no tag</button>`);
|
|
109
|
+
noselect_bot.click(tag_bot_click);
|
|
110
|
+
cmd_item_tags.append(noselect_bot);
|
|
111
|
+
// and/orスイッチを追加
|
|
112
|
+
const andor_bot = $(`<div class="form-check form-switch text-secondary d-inline-block"/>`);
|
|
113
|
+
andor_bot.append('<input class="form-check-input andor_switch" type="checkbox" id="andor_switch">');
|
|
114
|
+
andor_bot.append('<label class="form-check-label" for="andor_switch">or / and</label>');
|
|
115
|
+
andor_bot.find('#andor_switch').click(tag_bot_click);
|
|
116
|
+
cmd_item_tags.append(andor_bot);
|
|
70
117
|
}
|
|
71
118
|
// コマンドファイルの取得が出来た時の処理
|
|
72
119
|
const list_cmd_func_then = () => {
|
|
@@ -45,7 +45,8 @@ list_pipe_func_then = () => {
|
|
|
45
45
|
const option = $('<option></option>');
|
|
46
46
|
pipe_cmd_select.append(option);
|
|
47
47
|
option.attr('value', cmd['title']);
|
|
48
|
-
|
|
48
|
+
const tag = cmd['tag'] ? `, tag=${cmd['tag']}` : '';
|
|
49
|
+
option.text(`${cmd['title']}(mode=${cmd['mode']}, cmd=${cmd['cmd']}${tag})`);
|
|
49
50
|
});
|
|
50
51
|
cmd_select_template.find('.add_buton').click((e) => {
|
|
51
52
|
cmd_select_template_func($(e.currentTarget), py_list_cmd);
|
cmdbox/web/gui.html
CHANGED
|
@@ -51,6 +51,10 @@
|
|
|
51
51
|
<symbol id="svg_magic_btn" viewBox="0 0 16 16">
|
|
52
52
|
<path d="M9.5 2.672a.5.5 0 1 0 1 0V.843a.5.5 0 0 0-1 0zm4.5.035A.5.5 0 0 0 13.293 2L12 3.293a.5.5 0 1 0 .707.707zM7.293 4A.5.5 0 1 0 8 3.293L6.707 2A.5.5 0 0 0 6 2.707zm-.621 2.5a.5.5 0 1 0 0-1H4.843a.5.5 0 1 0 0 1zm8.485 0a.5.5 0 1 0 0-1h-1.829a.5.5 0 0 0 0 1zM13.293 10A.5.5 0 1 0 14 9.293L12.707 8a.5.5 0 1 0-.707.707zM9.5 11.157a.5.5 0 0 0 1 0V9.328a.5.5 0 0 0-1 0zm1.854-5.097a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L8.646 5.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0l1.293-1.293Zm-3 3a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L.646 13.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0z"/>
|
|
53
53
|
</symbol>
|
|
54
|
+
<symbol id="svg_tag" viewBox="0 0 16 16">
|
|
55
|
+
<path d="M6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0"/>
|
|
56
|
+
<path d="M2 1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 1 6.586V2a1 1 0 0 1 1-1m0 5.586 7 7L13.586 9l-7-7H2z"/>
|
|
57
|
+
</symbol>
|
|
54
58
|
</svg>
|
|
55
59
|
<!-- ナビゲーションバー -->
|
|
56
60
|
<nav class="navbar navbar-expand-sm fixed-top p-2">
|
|
@@ -133,7 +137,8 @@
|
|
|
133
137
|
<div class="d-flex">
|
|
134
138
|
<h5 class="cmd_title card-title d-inline-block">Card title</h5>
|
|
135
139
|
</div>
|
|
136
|
-
<h6 class="card-subtitle mb-2
|
|
140
|
+
<h6 class="card-subtitle mb-2">mode:<span class="cmd_mode"></span>, cmd:<span class="cmd_cmd"></span></h6>
|
|
141
|
+
<h6 class="card-subtitle text-end"><span class="cmd_tags text-secondary"></span></h6>
|
|
137
142
|
</div>
|
|
138
143
|
</div>
|
|
139
144
|
</div>
|
|
@@ -6,7 +6,7 @@ cmdbox/logconf_edge.yml,sha256=RkbUebCJV2z5dLnpgvf4GSFkd-Blzu4vUUDP9CQFwdM,686
|
|
|
6
6
|
cmdbox/logconf_gui.yml,sha256=T3yhWoiyp0DW06RjiFG6kS7jScqXYs-KLfC5EYKUImk,686
|
|
7
7
|
cmdbox/logconf_server.yml,sha256=tpDpKQXgTWzUnHKGU-Vvsha7n1hyIyFdLnSeCgnOgyk,701
|
|
8
8
|
cmdbox/logconf_web.yml,sha256=lzr3ytjqRbQutbhEOJdHJT0hrrR_h9sPkaEQkzX02lo,686
|
|
9
|
-
cmdbox/version.py,sha256=
|
|
9
|
+
cmdbox/version.py,sha256=avcUh9fYN64SEpQ8Zte4PMgniHFaWsKlaZe8xB7iC9w,1963
|
|
10
10
|
cmdbox/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
cmdbox/app/app.py,sha256=2rQpTbezCLuy36df89EhKsAfcPjtGepGHSTQZXimcqA,8949
|
|
12
12
|
cmdbox/app/client.py,sha256=SNM4xxDh5ARxV6I7cDrmbzGc7sXUUwB3tSyIksdT1RY,19562
|
|
@@ -186,7 +186,7 @@ cmdbox/licenses/LICENSE.zope.interface.7.1.1(Zope Public License).txt,sha256=bHk
|
|
|
186
186
|
cmdbox/licenses/files.txt,sha256=E_C-9JE8iJeOs-ZY_Lg1B3Brcdqr8G-kJeFnWeSHXUk,14179
|
|
187
187
|
cmdbox/web/assets_license_list.txt,sha256=TcyF-U5C8O-J3Nxfp3pxralGdazTj8BgLwwEBRn59_w,853
|
|
188
188
|
cmdbox/web/filer.html,sha256=NQzwJc1k4IDpK1F99vumLC3BO7x_frO6HJcEzI9c0kw,15254
|
|
189
|
-
cmdbox/web/gui.html,sha256=
|
|
189
|
+
cmdbox/web/gui.html,sha256=Wwb70-gH66yaYTfLwFdDXXPdEyVEhllOtuKxq4VAUoE,35141
|
|
190
190
|
cmdbox/web/result.html,sha256=dZcQCLSrhTr7gY50WYCfG2wEWngnV7x9xnYOVl73WSQ,14835
|
|
191
191
|
cmdbox/web/signin.html,sha256=Rhqvhcq_hZ1svRkHIpy_2BVTJkmw2R4Q4lZo93eQvsE,11063
|
|
192
192
|
cmdbox/web/users.html,sha256=RHslVrj8FJgV1RI6oMTRuZTu3g7YyXMKKYGeoOzgwG4,19194
|
|
@@ -196,8 +196,8 @@ cmdbox/web/assets/cmdbox/common.js,sha256=rsegebcs7QtBNi-WEy5-sev-EDIEHV9P-0HZoj
|
|
|
196
196
|
cmdbox/web/assets/cmdbox/favicon.ico,sha256=2U4MhqzJklRksOQwnK-MZigZCubxCHqKG_AuNJnvYtA,34494
|
|
197
197
|
cmdbox/web/assets/cmdbox/filer_modal.js,sha256=hCEk0UR_bjJp9X9blWfmrbZVxKkmO3GGQ44ukSDuHbg,8522
|
|
198
198
|
cmdbox/web/assets/cmdbox/icon.png,sha256=xdEwDdCS8CoPQk7brW-1mV8FIGYtUeSMBRlY9Oh-3nE,296172
|
|
199
|
-
cmdbox/web/assets/cmdbox/list_cmd.js,sha256=
|
|
200
|
-
cmdbox/web/assets/cmdbox/list_pipe.js,sha256=
|
|
199
|
+
cmdbox/web/assets/cmdbox/list_cmd.js,sha256=SkUVr9gkakzzCZAMWGcCYPepbElHy4o1VbP-idTRSco,35334
|
|
200
|
+
cmdbox/web/assets/cmdbox/list_pipe.js,sha256=1Jq9MbJDtD8tsI2HB_qFUDhJ9MY3V14-zQjPZHgbrIo,11294
|
|
201
201
|
cmdbox/web/assets/cmdbox/main.js,sha256=K-tBnZlCpy__juT_HHKfvHzhNJykAjva7LUBJX45XzM,4997
|
|
202
202
|
cmdbox/web/assets/cmdbox/open_capture.js,sha256=W4IQlOYLN4Y8OaS8Xc5yp-BRlm82TVjujChr3hJKS0M,709
|
|
203
203
|
cmdbox/web/assets/cmdbox/open_output_json.js,sha256=4q7mCdVmSzFudlTlW9MuIJ1-f-kDvpD6rDUU01IbKi8,727
|
|
@@ -248,9 +248,9 @@ cmdbox/web/assets/tree-menu/image/file.png,sha256=Uw4zYkHyuoZ_kSVkesHAeSeA_g9_LP
|
|
|
248
248
|
cmdbox/web/assets/tree-menu/image/folder-close.png,sha256=TcgsKTBBF2ejgzekOEDBFBxsJf-Z5u0x9IZVi4GBR-I,284
|
|
249
249
|
cmdbox/web/assets/tree-menu/image/folder-open.png,sha256=DT7y1GRK4oXJkFvqTN_oSGM5ZYARzPvjoCGL6wqkoo0,301
|
|
250
250
|
cmdbox/web/assets/tree-menu/js/tree-menu.js,sha256=-GkZxI7xzHuXXHYQBHAVTcuKX4TtoiMuyIms6Xc3pxk,1029
|
|
251
|
-
cmdbox-0.5.1.
|
|
252
|
-
cmdbox-0.5.1.
|
|
253
|
-
cmdbox-0.5.1.
|
|
254
|
-
cmdbox-0.5.1.
|
|
255
|
-
cmdbox-0.5.1.
|
|
256
|
-
cmdbox-0.5.1.
|
|
251
|
+
cmdbox-0.5.1.2.dist-info/LICENSE,sha256=sBzzPc5v-5LBuIFi2V4olsnoVg-3EBI0zRX5r19SOxE,1117
|
|
252
|
+
cmdbox-0.5.1.2.dist-info/METADATA,sha256=NhlyGdgD3Hp0HBPbEuknM_IRW4Y-uoeFkDmN6VMvmbM,24050
|
|
253
|
+
cmdbox-0.5.1.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
254
|
+
cmdbox-0.5.1.2.dist-info/entry_points.txt,sha256=PIoRz-tr503YwdMmd6nxuSn2dDltf4cUMVs98E9WgaA,48
|
|
255
|
+
cmdbox-0.5.1.2.dist-info/top_level.txt,sha256=eMEkD5jn8_0PkCAL8h5xJu4qAzF2O8Wf3vegFkKUXR4,7
|
|
256
|
+
cmdbox-0.5.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|