godprotocol 1.2.54 → 2.2.1
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/Godprotocol.js +33 -0
- package/Index.js +10 -5
- package/package.json +1 -1
- package/server/Routable/Header.js +240 -0
- package/server/Routable/Route_table.js +198 -0
- package/server/Routable/Services.js +193 -0
- package/server/utils.js +54 -0
- package/server/version_control.js +71 -0
- package/{Objects → virtual_machine/Objects}/Clock.js +9 -9
- package/{Objects → virtual_machine/Objects}/Events.js +47 -47
- package/{callables → virtual_machine/callables}/functions/assert.js +9 -9
- package/{callables → virtual_machine/callables}/functions/env.js +4 -4
- package/{callables → virtual_machine/callables}/functions/query.js +17 -17
- package/{callables → virtual_machine/callables}/functions/wait.js +8 -8
- package/{html → virtual_machine/html}/create.js +95 -95
- package/{html → virtual_machine/html}/index.js +125 -125
- package/{html → virtual_machine/html}/load.js +166 -166
- package/{html → virtual_machine/html}/parse.js +170 -170
- package/{html → virtual_machine/html}/run.js +150 -150
- package/{html → virtual_machine/html}/util.js +4 -4
- /package/{Datatypes → virtual_machine/Datatypes}/arr.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/bool.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/callable.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/cls.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/conf.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/err.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/func.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/functions/storage.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/functions/wallet.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/instance.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/num.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/str.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/twa.js +0 -0
- /package/{Datatypes → virtual_machine/Datatypes}/voi.js +0 -0
- /package/{Instances → virtual_machine/Instances}/account.js +0 -0
- /package/{Instances → virtual_machine/Instances}/event.js +0 -0
- /package/{Instances → virtual_machine/Instances}/fold.js +0 -0
- /package/{Instances → virtual_machine/Instances}/folder_queries.js +0 -0
- /package/{Instances → virtual_machine/Instances}/response.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Account.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Block.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Blockweb.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Callable.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Chain.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Datatypes.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Manager.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Oracle.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Repository.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Trinity.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Utils.js +0 -0
- /package/{Objects → virtual_machine/Objects}/Virtual_machine.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/display.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/event.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/exit.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/folder.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/get_uid.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/hash.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/import_.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/local.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/net.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/parse.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/render.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/servers.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/spawn.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/store.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/super_.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/twain.js +0 -0
- /package/{callables → virtual_machine/callables}/functions/typeof.js +0 -0
- /package/{callables → virtual_machine/callables}/register.js +0 -0
- /package/{utils → virtual_machine/utils}/create_server.js +0 -0
- /package/{utils → virtual_machine/utils}/functions.js +0 -0
- /package/{utils → virtual_machine/utils}/hash.js +0 -0
- /package/{utils → virtual_machine/utils}/ops.js +0 -0
- /package/{utils → virtual_machine/utils}/oracle_handlers.js +0 -0
- /package/{utils → virtual_machine/utils}/server.cert +0 -0
- /package/{utils → virtual_machine/utils}/server.key +0 -0
- /package/{utils → virtual_machine/utils}/services.js +0 -0
- /package/{utils → virtual_machine/utils}/socket_server.js +0 -0
- /package/{utils → virtual_machine/utils}/vm_utils.js +0 -0
|
@@ -1,171 +1,171 @@
|
|
|
1
|
-
import {message_box} from './util.js'
|
|
2
|
-
|
|
3
|
-
const script = (manager)=> {
|
|
4
|
-
return `
|
|
5
|
-
const account_selection_el = document.getElementById('account_selection'), address_el = document.getElementById('address'),
|
|
6
|
-
from_el = document.getElementById('from'),
|
|
7
|
-
query_el = document.getElementById('query'), parse = document.getElementById('parse');
|
|
8
|
-
|
|
9
|
-
let message_box = document.getElementById('message-box')
|
|
10
|
-
|
|
11
|
-
document.addEventListener('DOMContentLoaded', e=>{
|
|
12
|
-
let accs = sessionStorage.getItem('accounts')
|
|
13
|
-
if (!accs) return;
|
|
14
|
-
|
|
15
|
-
let tml = '<option default>--Select Account--</option>'
|
|
16
|
-
if (accs){
|
|
17
|
-
accs = JSON.parse(accs)
|
|
18
|
-
accs.map(acc=>{
|
|
19
|
-
let el = document.createElement('option')
|
|
20
|
-
el.id = acc.uid
|
|
21
|
-
el.value = acc.uid
|
|
22
|
-
el.textContent = acc.name
|
|
23
|
-
|
|
24
|
-
account_selection_el.appendChild(el)
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
function render_object(obj, parentElement) {
|
|
30
|
-
let list = document.createElement("ul");
|
|
31
|
-
list.className = "list-group mb-3";
|
|
32
|
-
|
|
33
|
-
for (let key in obj) {
|
|
34
|
-
if (obj.hasOwnProperty(key)) {
|
|
35
|
-
let item = document.createElement("li");
|
|
36
|
-
item.className = "list-group-item";
|
|
37
|
-
|
|
38
|
-
if (typeof obj[key] === "object" && obj[key] !== null) {
|
|
39
|
-
item.innerHTML = "<strong>" + key + ":</strong>";
|
|
40
|
-
render_object(obj[key], item);
|
|
41
|
-
} else {
|
|
42
|
-
item.innerHTML =
|
|
43
|
-
"<strong>" + key + ":</strong> " + obj[key];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
list.appendChild(item);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
parentElement.appendChild(list);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
parse.addEventListener('click', async e=>{
|
|
55
|
-
e.preventDefault()
|
|
56
|
-
|
|
57
|
-
let account = account_selection_el.selectedIndex, query = query_el.value.trim(),
|
|
58
|
-
address = address_el.value.trim();
|
|
59
|
-
from = from_el.value.trim();
|
|
60
|
-
|
|
61
|
-
message_box.textContent = ''
|
|
62
|
-
|
|
63
|
-
let account_uid = account_selection_el.children[account].id
|
|
64
|
-
if (!address){
|
|
65
|
-
message_box.textContent = 'Please completely fill all form fields.'
|
|
66
|
-
|
|
67
|
-
setTimeout(() => {
|
|
68
|
-
message_box.textContent = ''
|
|
69
|
-
}, 2500);
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (query) {
|
|
74
|
-
try{
|
|
75
|
-
query = JSON.parse(query)
|
|
76
|
-
} catch(e){
|
|
77
|
-
message_box.textContent = e.message
|
|
78
|
-
|
|
79
|
-
setTimeout(() => {
|
|
80
|
-
message_box.textContent = ''
|
|
81
|
-
}, 2500);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
let data = {
|
|
88
|
-
address, query, from, account: account_uid, account_name: account_selection_el.children[account].value
|
|
89
|
-
}
|
|
90
|
-
console.log(data)
|
|
91
|
-
|
|
92
|
-
ftch('/parse', data)
|
|
93
|
-
.then(res=>{
|
|
94
|
-
let container = document.getElementById("parser-result");
|
|
95
|
-
render_object(res, container);
|
|
96
|
-
}).catch(err=>console.log(err))
|
|
97
|
-
|
|
98
|
-
})
|
|
99
|
-
`
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const parse = (manager)=>{
|
|
103
|
-
let tml = `
|
|
104
|
-
<!-- Container for the Parse form -->
|
|
105
|
-
<div class="container my-5">
|
|
106
|
-
<div class="row justify-content-center">
|
|
107
|
-
<div class="col-md-8">
|
|
108
|
-
<form id="run-form" class="card p-4 shadow-sm">
|
|
109
|
-
<h4 class="mb-4 text-center">Parse</h4>
|
|
110
|
-
|
|
111
|
-
<!-- Account Selection -->
|
|
112
|
-
<div class="mb-3">
|
|
113
|
-
<label for="account_selection" class="form-label">Account</label>
|
|
114
|
-
<select id="account_selection" class="form-select" required>
|
|
115
|
-
<option selected disabled>-- Select Account --</option>
|
|
116
|
-
<!-- Options will be injected via JS -->
|
|
117
|
-
</select>
|
|
118
|
-
</div>
|
|
119
|
-
|
|
120
|
-
<!-- Address -->
|
|
121
|
-
<div class="mb-3">
|
|
122
|
-
<label for="address" class="form-label">Address</label>
|
|
123
|
-
<input type="text" class="form-control" id="address" placeholder="Address" required>
|
|
124
|
-
</div>
|
|
125
|
-
|
|
126
|
-
<!-- From (Optional) -->
|
|
127
|
-
<div class="mb-3">
|
|
128
|
-
<label for="from" class="form-label">From (optional)</label>
|
|
129
|
-
<input type="text" value='.storage' class="form-control" id="from" placeholder=".storage | .codes | thread">
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
<!-- Query -->
|
|
133
|
-
<div class="mb-3">
|
|
134
|
-
<label for="query" class="form-label">Query</label>
|
|
135
|
-
<textarea class="form-control mt-2" id="query" rows="4" placeholder="Query"></textarea>
|
|
136
|
-
</div>
|
|
137
|
-
|
|
138
|
-
<!-- Submit Button -->
|
|
139
|
-
<div class="d-grid">
|
|
140
|
-
<button type="submit" class="btn btn-secondary" id="parse">Send</button>
|
|
141
|
-
</div>
|
|
142
|
-
</form>
|
|
143
|
-
|
|
144
|
-
<!-- Message box -->
|
|
145
|
-
<div id="message-box" class="mt-3"></div>
|
|
146
|
-
|
|
147
|
-
<div class="container py-4">
|
|
148
|
-
<div class="row justify-content-center">
|
|
149
|
-
<div class="col-lg-8 col-md-10">
|
|
150
|
-
|
|
151
|
-
<div class="card shadow-sm">
|
|
152
|
-
<div class="card-body">
|
|
153
|
-
<h3 class="card-title text-center mb-3">Parser Result Viewer</h3>
|
|
154
|
-
<div id="parser-result"></div>
|
|
155
|
-
</div>
|
|
156
|
-
</div>
|
|
157
|
-
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
</div>
|
|
163
|
-
</div>`
|
|
164
|
-
|
|
165
|
-
tml = `${tml} <script>${script(manager)}</script>`
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
return tml
|
|
169
|
-
}
|
|
170
|
-
|
|
1
|
+
import {message_box} from './util.js'
|
|
2
|
+
|
|
3
|
+
const script = (manager)=> {
|
|
4
|
+
return `
|
|
5
|
+
const account_selection_el = document.getElementById('account_selection'), address_el = document.getElementById('address'),
|
|
6
|
+
from_el = document.getElementById('from'),
|
|
7
|
+
query_el = document.getElementById('query'), parse = document.getElementById('parse');
|
|
8
|
+
|
|
9
|
+
let message_box = document.getElementById('message-box')
|
|
10
|
+
|
|
11
|
+
document.addEventListener('DOMContentLoaded', e=>{
|
|
12
|
+
let accs = sessionStorage.getItem('accounts')
|
|
13
|
+
if (!accs) return;
|
|
14
|
+
|
|
15
|
+
let tml = '<option default>--Select Account--</option>'
|
|
16
|
+
if (accs){
|
|
17
|
+
accs = JSON.parse(accs)
|
|
18
|
+
accs.map(acc=>{
|
|
19
|
+
let el = document.createElement('option')
|
|
20
|
+
el.id = acc.uid
|
|
21
|
+
el.value = acc.uid
|
|
22
|
+
el.textContent = acc.name
|
|
23
|
+
|
|
24
|
+
account_selection_el.appendChild(el)
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
function render_object(obj, parentElement) {
|
|
30
|
+
let list = document.createElement("ul");
|
|
31
|
+
list.className = "list-group mb-3";
|
|
32
|
+
|
|
33
|
+
for (let key in obj) {
|
|
34
|
+
if (obj.hasOwnProperty(key)) {
|
|
35
|
+
let item = document.createElement("li");
|
|
36
|
+
item.className = "list-group-item";
|
|
37
|
+
|
|
38
|
+
if (typeof obj[key] === "object" && obj[key] !== null) {
|
|
39
|
+
item.innerHTML = "<strong>" + key + ":</strong>";
|
|
40
|
+
render_object(obj[key], item);
|
|
41
|
+
} else {
|
|
42
|
+
item.innerHTML =
|
|
43
|
+
"<strong>" + key + ":</strong> " + obj[key];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
list.appendChild(item);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
parentElement.appendChild(list);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
parse.addEventListener('click', async e=>{
|
|
55
|
+
e.preventDefault()
|
|
56
|
+
|
|
57
|
+
let account = account_selection_el.selectedIndex, query = query_el.value.trim(),
|
|
58
|
+
address = address_el.value.trim();
|
|
59
|
+
from = from_el.value.trim();
|
|
60
|
+
|
|
61
|
+
message_box.textContent = ''
|
|
62
|
+
|
|
63
|
+
let account_uid = account_selection_el.children[account].id
|
|
64
|
+
if (!address){
|
|
65
|
+
message_box.textContent = 'Please completely fill all form fields.'
|
|
66
|
+
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
message_box.textContent = ''
|
|
69
|
+
}, 2500);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (query) {
|
|
74
|
+
try{
|
|
75
|
+
query = JSON.parse(query)
|
|
76
|
+
} catch(e){
|
|
77
|
+
message_box.textContent = e.message
|
|
78
|
+
|
|
79
|
+
setTimeout(() => {
|
|
80
|
+
message_box.textContent = ''
|
|
81
|
+
}, 2500);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
let data = {
|
|
88
|
+
address, query, from, account: account_uid, account_name: account_selection_el.children[account].value
|
|
89
|
+
}
|
|
90
|
+
console.log(data)
|
|
91
|
+
|
|
92
|
+
ftch('/parse', data)
|
|
93
|
+
.then(res=>{
|
|
94
|
+
let container = document.getElementById("parser-result");
|
|
95
|
+
render_object(res, container);
|
|
96
|
+
}).catch(err=>console.log(err))
|
|
97
|
+
|
|
98
|
+
})
|
|
99
|
+
`
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const parse = (manager)=>{
|
|
103
|
+
let tml = `
|
|
104
|
+
<!-- Container for the Parse form -->
|
|
105
|
+
<div class="container my-5">
|
|
106
|
+
<div class="row justify-content-center">
|
|
107
|
+
<div class="col-md-8">
|
|
108
|
+
<form id="run-form" class="card p-4 shadow-sm">
|
|
109
|
+
<h4 class="mb-4 text-center">Parse</h4>
|
|
110
|
+
|
|
111
|
+
<!-- Account Selection -->
|
|
112
|
+
<div class="mb-3">
|
|
113
|
+
<label for="account_selection" class="form-label">Account</label>
|
|
114
|
+
<select id="account_selection" class="form-select" required>
|
|
115
|
+
<option selected disabled>-- Select Account --</option>
|
|
116
|
+
<!-- Options will be injected via JS -->
|
|
117
|
+
</select>
|
|
118
|
+
</div>
|
|
119
|
+
|
|
120
|
+
<!-- Address -->
|
|
121
|
+
<div class="mb-3">
|
|
122
|
+
<label for="address" class="form-label">Address</label>
|
|
123
|
+
<input type="text" class="form-control" id="address" placeholder="Address" required>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<!-- From (Optional) -->
|
|
127
|
+
<div class="mb-3">
|
|
128
|
+
<label for="from" class="form-label">From (optional)</label>
|
|
129
|
+
<input type="text" value='.storage' class="form-control" id="from" placeholder=".storage | .codes | thread">
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<!-- Query -->
|
|
133
|
+
<div class="mb-3">
|
|
134
|
+
<label for="query" class="form-label">Query</label>
|
|
135
|
+
<textarea class="form-control mt-2" id="query" rows="4" placeholder="Query"></textarea>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<!-- Submit Button -->
|
|
139
|
+
<div class="d-grid">
|
|
140
|
+
<button type="submit" class="btn btn-secondary" id="parse">Send</button>
|
|
141
|
+
</div>
|
|
142
|
+
</form>
|
|
143
|
+
|
|
144
|
+
<!-- Message box -->
|
|
145
|
+
<div id="message-box" class="mt-3"></div>
|
|
146
|
+
|
|
147
|
+
<div class="container py-4">
|
|
148
|
+
<div class="row justify-content-center">
|
|
149
|
+
<div class="col-lg-8 col-md-10">
|
|
150
|
+
|
|
151
|
+
<div class="card shadow-sm">
|
|
152
|
+
<div class="card-body">
|
|
153
|
+
<h3 class="card-title text-center mb-3">Parser Result Viewer</h3>
|
|
154
|
+
<div id="parser-result"></div>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
</div>`
|
|
164
|
+
|
|
165
|
+
tml = `${tml} <script>${script(manager)}</script>`
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
return tml
|
|
169
|
+
}
|
|
170
|
+
|
|
171
171
|
export default parse
|
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
import {message_box} from './util.js'
|
|
2
|
-
|
|
3
|
-
const script = (manager)=> {
|
|
4
|
-
return `
|
|
5
|
-
const account_selection_el = document.getElementById('account_selection'), address_el = document.getElementById('address'),
|
|
6
|
-
config_el = document.getElementById('config'),
|
|
7
|
-
callback_el = document.getElementById('callback'),
|
|
8
|
-
id_el = document.getElementById('ID'),
|
|
9
|
-
is_config = document.getElementById('is_config'), run = document.getElementById('run')
|
|
10
|
-
|
|
11
|
-
// let configs = {}
|
|
12
|
-
// is_config.addEventListener('click', e=>{
|
|
13
|
-
// if (e.target.checked){
|
|
14
|
-
// let addr = address_el.value.trim()
|
|
15
|
-
|
|
16
|
-
// }
|
|
17
|
-
// })
|
|
18
|
-
|
|
19
|
-
let message_box = document.getElementById('message-box')
|
|
20
|
-
|
|
21
|
-
document.addEventListener('DOMContentLoaded', e=>{
|
|
22
|
-
let accs = sessionStorage.getItem('accounts')
|
|
23
|
-
if (!accs) return;
|
|
24
|
-
|
|
25
|
-
let tml = '<option default>--Select Account--</option>'
|
|
26
|
-
if (accs){
|
|
27
|
-
accs = JSON.parse(accs)
|
|
28
|
-
accs.map(acc=>{
|
|
29
|
-
let el = document.createElement('option')
|
|
30
|
-
el.id = acc.uid
|
|
31
|
-
el.value = acc.uid
|
|
32
|
-
el.textContent = acc.name
|
|
33
|
-
|
|
34
|
-
account_selection_el.appendChild(el)
|
|
35
|
-
})
|
|
36
|
-
}
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
run.addEventListener('click', e=>{
|
|
40
|
-
e.preventDefault();
|
|
41
|
-
|
|
42
|
-
let id = id_el.value.trim(), address = address_el.value.trim(), config = config_el.value.trim(), account = account_selection_el.selectedIndex, callback = callback_el.value.trim();
|
|
43
|
-
|
|
44
|
-
if (!account){
|
|
45
|
-
message_box.innerHTML = 'Provide an account, or <a href="https://${manager.options.server_domain}/create_account">create one here</a>'
|
|
46
|
-
|
|
47
|
-
setTimeout(() => {
|
|
48
|
-
message_box.textContent = ''
|
|
49
|
-
}, 2500);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
let account_uid = account_selection_el.children[account].id
|
|
54
|
-
if (!address && !config){
|
|
55
|
-
message_box.textContent = 'Please completely fill all form fields.'
|
|
56
|
-
|
|
57
|
-
setTimeout(() => {
|
|
58
|
-
message_box.textContent = ''
|
|
59
|
-
}, 2500);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (config){
|
|
64
|
-
try{
|
|
65
|
-
config = JSON.parse(config)
|
|
66
|
-
}catch(e){
|
|
67
|
-
message_box.textContent = e.message
|
|
68
|
-
|
|
69
|
-
setTimeout(() => {
|
|
70
|
-
message_box.textContent = ''
|
|
71
|
-
}, 2500);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
let data = {
|
|
77
|
-
_id: id, address, config, account: account_uid, account_name: account_selection_el.children[account].value, callback
|
|
78
|
-
}
|
|
79
|
-
console.log(data)
|
|
80
|
-
|
|
81
|
-
ftch("/run", data).then(res=>{
|
|
82
|
-
message_box.textContent = res.thread_id ? 'Sequence is in execution! @ '.concat(res.thread_id).concat(' :: Callback at: ').concat(res.callback) : res.message
|
|
83
|
-
|
|
84
|
-
return;
|
|
85
|
-
})
|
|
86
|
-
.catch(err=>console.log(err))
|
|
87
|
-
|
|
88
|
-
}) `
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const run = (manager)=>{
|
|
92
|
-
let tml = `
|
|
93
|
-
<!-- Container for the Run form -->
|
|
94
|
-
<div class="container my-5">
|
|
95
|
-
<div class="row justify-content-center">
|
|
96
|
-
<div class="col-md-8">
|
|
97
|
-
<form id="run-form" class="card p-4 shadow-sm">
|
|
98
|
-
<h4 class="mb-4 text-center">Run</h4>
|
|
99
|
-
|
|
100
|
-
<!-- Account Selection -->
|
|
101
|
-
<div class="mb-3">
|
|
102
|
-
<label for="account_selection" class="form-label">Account</label>
|
|
103
|
-
<select id="account_selection" class="form-select" required>
|
|
104
|
-
<option selected disabled>-- Select Account --</option>
|
|
105
|
-
<!-- Options will be injected via JS -->
|
|
106
|
-
</select>
|
|
107
|
-
</div>
|
|
108
|
-
|
|
109
|
-
<!-- Address -->
|
|
110
|
-
<div class="mb-3">
|
|
111
|
-
<label for="address" class="form-label">Address</label>
|
|
112
|
-
<input type="text" class="form-control" id="address" placeholder="Address">
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
<!-- ID (Optional) -->
|
|
116
|
-
<div class="mb-3">
|
|
117
|
-
<label for="ID" class="form-label">ID (optional)</label>
|
|
118
|
-
<input type="text" class="form-control" id="ID" placeholder="ID">
|
|
119
|
-
</div>
|
|
120
|
-
|
|
121
|
-
<!-- Config -->
|
|
122
|
-
<div class="mb-3">
|
|
123
|
-
<label for="config" class="form-label">Config</label>
|
|
124
|
-
<textarea class="form-control mt-2" id="config" rows="4" placeholder="Config"></textarea>
|
|
125
|
-
</div>
|
|
126
|
-
|
|
127
|
-
<!-- Callback (Optional) -->
|
|
128
|
-
<div class="mb-3">
|
|
129
|
-
<label for="callback" class="form-label">Callback (optional)</label>
|
|
130
|
-
<input type="text" class="form-control" id="callback" placeholder="Callback">
|
|
131
|
-
</div>
|
|
132
|
-
|
|
133
|
-
<!-- Submit Button -->
|
|
134
|
-
<div class="d-grid">
|
|
135
|
-
<button type="submit" class="btn btn-warning" id="run">Send</button>
|
|
136
|
-
</div>
|
|
137
|
-
</form>
|
|
138
|
-
|
|
139
|
-
<!-- Message box -->
|
|
140
|
-
<div id="message-box" class="mt-3"></div>
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
</div>`
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
tml = `${tml} <script>${script(manager)}</script>`
|
|
147
|
-
|
|
148
|
-
return tml
|
|
149
|
-
}
|
|
150
|
-
|
|
1
|
+
import {message_box} from './util.js'
|
|
2
|
+
|
|
3
|
+
const script = (manager)=> {
|
|
4
|
+
return `
|
|
5
|
+
const account_selection_el = document.getElementById('account_selection'), address_el = document.getElementById('address'),
|
|
6
|
+
config_el = document.getElementById('config'),
|
|
7
|
+
callback_el = document.getElementById('callback'),
|
|
8
|
+
id_el = document.getElementById('ID'),
|
|
9
|
+
is_config = document.getElementById('is_config'), run = document.getElementById('run')
|
|
10
|
+
|
|
11
|
+
// let configs = {}
|
|
12
|
+
// is_config.addEventListener('click', e=>{
|
|
13
|
+
// if (e.target.checked){
|
|
14
|
+
// let addr = address_el.value.trim()
|
|
15
|
+
|
|
16
|
+
// }
|
|
17
|
+
// })
|
|
18
|
+
|
|
19
|
+
let message_box = document.getElementById('message-box')
|
|
20
|
+
|
|
21
|
+
document.addEventListener('DOMContentLoaded', e=>{
|
|
22
|
+
let accs = sessionStorage.getItem('accounts')
|
|
23
|
+
if (!accs) return;
|
|
24
|
+
|
|
25
|
+
let tml = '<option default>--Select Account--</option>'
|
|
26
|
+
if (accs){
|
|
27
|
+
accs = JSON.parse(accs)
|
|
28
|
+
accs.map(acc=>{
|
|
29
|
+
let el = document.createElement('option')
|
|
30
|
+
el.id = acc.uid
|
|
31
|
+
el.value = acc.uid
|
|
32
|
+
el.textContent = acc.name
|
|
33
|
+
|
|
34
|
+
account_selection_el.appendChild(el)
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
run.addEventListener('click', e=>{
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
|
|
42
|
+
let id = id_el.value.trim(), address = address_el.value.trim(), config = config_el.value.trim(), account = account_selection_el.selectedIndex, callback = callback_el.value.trim();
|
|
43
|
+
|
|
44
|
+
if (!account){
|
|
45
|
+
message_box.innerHTML = 'Provide an account, or <a href="https://${manager.options.server_domain}/create_account">create one here</a>'
|
|
46
|
+
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
message_box.textContent = ''
|
|
49
|
+
}, 2500);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
let account_uid = account_selection_el.children[account].id
|
|
54
|
+
if (!address && !config){
|
|
55
|
+
message_box.textContent = 'Please completely fill all form fields.'
|
|
56
|
+
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
message_box.textContent = ''
|
|
59
|
+
}, 2500);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (config){
|
|
64
|
+
try{
|
|
65
|
+
config = JSON.parse(config)
|
|
66
|
+
}catch(e){
|
|
67
|
+
message_box.textContent = e.message
|
|
68
|
+
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
message_box.textContent = ''
|
|
71
|
+
}, 2500);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let data = {
|
|
77
|
+
_id: id, address, config, account: account_uid, account_name: account_selection_el.children[account].value, callback
|
|
78
|
+
}
|
|
79
|
+
console.log(data)
|
|
80
|
+
|
|
81
|
+
ftch("/run", data).then(res=>{
|
|
82
|
+
message_box.textContent = res.thread_id ? 'Sequence is in execution! @ '.concat(res.thread_id).concat(' :: Callback at: ').concat(res.callback) : res.message
|
|
83
|
+
|
|
84
|
+
return;
|
|
85
|
+
})
|
|
86
|
+
.catch(err=>console.log(err))
|
|
87
|
+
|
|
88
|
+
}) `
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const run = (manager)=>{
|
|
92
|
+
let tml = `
|
|
93
|
+
<!-- Container for the Run form -->
|
|
94
|
+
<div class="container my-5">
|
|
95
|
+
<div class="row justify-content-center">
|
|
96
|
+
<div class="col-md-8">
|
|
97
|
+
<form id="run-form" class="card p-4 shadow-sm">
|
|
98
|
+
<h4 class="mb-4 text-center">Run</h4>
|
|
99
|
+
|
|
100
|
+
<!-- Account Selection -->
|
|
101
|
+
<div class="mb-3">
|
|
102
|
+
<label for="account_selection" class="form-label">Account</label>
|
|
103
|
+
<select id="account_selection" class="form-select" required>
|
|
104
|
+
<option selected disabled>-- Select Account --</option>
|
|
105
|
+
<!-- Options will be injected via JS -->
|
|
106
|
+
</select>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<!-- Address -->
|
|
110
|
+
<div class="mb-3">
|
|
111
|
+
<label for="address" class="form-label">Address</label>
|
|
112
|
+
<input type="text" class="form-control" id="address" placeholder="Address">
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<!-- ID (Optional) -->
|
|
116
|
+
<div class="mb-3">
|
|
117
|
+
<label for="ID" class="form-label">ID (optional)</label>
|
|
118
|
+
<input type="text" class="form-control" id="ID" placeholder="ID">
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<!-- Config -->
|
|
122
|
+
<div class="mb-3">
|
|
123
|
+
<label for="config" class="form-label">Config</label>
|
|
124
|
+
<textarea class="form-control mt-2" id="config" rows="4" placeholder="Config"></textarea>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<!-- Callback (Optional) -->
|
|
128
|
+
<div class="mb-3">
|
|
129
|
+
<label for="callback" class="form-label">Callback (optional)</label>
|
|
130
|
+
<input type="text" class="form-control" id="callback" placeholder="Callback">
|
|
131
|
+
</div>
|
|
132
|
+
|
|
133
|
+
<!-- Submit Button -->
|
|
134
|
+
<div class="d-grid">
|
|
135
|
+
<button type="submit" class="btn btn-warning" id="run">Send</button>
|
|
136
|
+
</div>
|
|
137
|
+
</form>
|
|
138
|
+
|
|
139
|
+
<!-- Message box -->
|
|
140
|
+
<div id="message-box" class="mt-3"></div>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</div>`
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
tml = `${tml} <script>${script(manager)}</script>`
|
|
147
|
+
|
|
148
|
+
return tml
|
|
149
|
+
}
|
|
150
|
+
|
|
151
151
|
export default run
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const message_box = (text, type)=>{
|
|
2
|
-
return `<div class="mt-3" id='message-box'>${text || ""}</div>`
|
|
3
|
-
}
|
|
4
|
-
|
|
1
|
+
const message_box = (text, type)=>{
|
|
2
|
+
return `<div class="mt-3" id='message-box'>${text || ""}</div>`
|
|
3
|
+
}
|
|
4
|
+
|
|
5
5
|
export {message_box}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|