isite 2025.1.13 → 2025.1.16

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.
@@ -8,298 +8,322 @@
8
8
 
9
9
  /* Large devices (desktops, 992px and up) */
10
10
  @media (min-width: 992px) {
11
- .navbar-nav .dropdown-menu.show {
12
- display: table;
13
- }
11
+ .navbar-nav .dropdown-menu.show {
12
+ display: table;
13
+ }
14
14
  }
15
15
 
16
16
  /* X-Large devices (large desktops, 1200px and up) */
17
17
  @media (min-width: 1200px) {
18
- .navbar-nav .dropdown-menu.show {
19
- display: table;
20
- }
18
+ .navbar-nav .dropdown-menu.show {
19
+ display: table;
20
+ }
21
21
  }
22
22
 
23
23
  /* XX-Large devices (larger desktops, 1400px and up) */
24
24
  @media (min-width: 1400px) {
25
- .navbar-nav .dropdown-menu.show {
26
- display: table;
27
- }
25
+ .navbar-nav .dropdown-menu.show {
26
+ display: table;
27
+ }
28
28
  }
29
29
 
30
30
  :root {
31
- --table-hover-background-color: #0dcaf09e;
31
+ --table-hover-background-color: #0dcaf09e;
32
32
  }
33
33
  body {
34
- margin-bottom: 100px;
34
+ margin-bottom: 100px;
35
35
  }
36
36
  .container {
37
- max-width: 100%;
37
+ max-width: 100%;
38
+ }
39
+
40
+ .form-check {
41
+ display: flex;
42
+ min-height: 1.5rem;
43
+ padding-left: 1.5em;
44
+ margin-bottom: 0.125rem;
45
+ flex-direction: row;
46
+ flex-wrap: nowrap;
47
+ align-content: center;
48
+ justify-content: center;
49
+ align-items: flex-end;
50
+ gap: 5px;
51
+ label {
52
+ cursor: pointer;
53
+ }
54
+ input {
55
+ cursor: pointer;
56
+ }
38
57
  }
39
58
  .form-check .form-check-input {
40
- min-width: 1em;
59
+ min-width: 1em;
60
+ margin: 5px;
41
61
  }
42
62
  .ar .form-check .form-check-input,
43
63
  .AR .form-check .form-check-input {
44
- margin-right: -1.5em;
64
+ margin-right: -1.5em;
45
65
  }
46
66
  a {
47
- word-wrap: break-word;
67
+ word-wrap: break-word;
48
68
  }
49
69
  .form-label {
50
- margin-bottom: 5px;
51
- margin-left: 7px;
52
- margin-right: 7px;
53
- border-bottom: 1px solid var(--label-color);
70
+ margin-bottom: 5px;
71
+ margin-left: 7px;
72
+ margin-right: 7px;
73
+ border-bottom: 1px solid var(--label-color);
54
74
  }
55
75
  label {
56
- float: var(--float);
57
- color: var(--label-color);
58
- font-weight: var(--label-font-weight);
59
- font-size: var(--label-font-size);
60
- background: var(--label-background);
76
+ float: var(--float);
77
+ color: var(--label-color);
78
+ font-weight: var(--label-font-weight);
79
+ font-size: var(--label-font-size);
80
+ background: var(--label-background);
61
81
  }
62
82
 
63
83
  fieldset {
64
- padding: var(--fieldset-padding);
65
- margin: var(--fieldset-margin);
66
- background: var(--fieldset-background);
67
- border: var(--fieldset-border);
68
- border-radius: var(--fieldset-border-radius);
69
- max-width: 98% !important;
70
- margin-bottom: 10px !important;
84
+ padding: var(--fieldset-padding);
85
+ margin: var(--fieldset-margin);
86
+ background: var(--fieldset-background);
87
+ border: var(--fieldset-border);
88
+ border-radius: var(--fieldset-border-radius);
89
+ max-width: 98% !important;
90
+ margin-bottom: 10px !important;
71
91
  }
72
92
 
73
93
  fieldset legend {
74
- display: contents;
75
- color: var(--legend-color);
76
- font-size: var(--legend-font-size);
77
- text-shadow: var(--legend-text-shadow);
78
- font-weight: var(--legend-font-weight);
79
- background: var(--fieldset-background);
80
- border: var(--legend-border);
81
- float: var(--float);
82
- width: auto;
83
- padding: 5px;
94
+ display: contents;
95
+ color: var(--legend-color);
96
+ font-size: var(--legend-font-size);
97
+ text-shadow: var(--legend-text-shadow);
98
+ font-weight: var(--legend-font-weight);
99
+ background: var(--fieldset-background);
100
+ border: var(--legend-border);
101
+ float: var(--float);
102
+ width: auto;
103
+ padding: 5px;
84
104
  }
85
105
 
86
106
  .border {
87
- border: 1px solid #ced4da !important;
88
- border-radius: 0.375rem;
107
+ border: 1px solid #ced4da !important;
108
+ border-radius: 0.375rem;
89
109
  }
90
110
  i-control {
91
- display: block;
111
+ display: block;
92
112
  }
93
113
  i-textarea {
94
- margin: 0px;
114
+ margin: 0px;
95
115
  }
96
116
 
97
117
  i-checkbox {
98
- padding-left: 20px !important;
99
- padding-right: 20px !important;
118
+ padding-right: 20px !important;
119
+ padding-left: 20px !important;
120
+ display: block !important;
100
121
  }
101
122
  i-checkbox label {
102
- cursor: pointer;
103
- max-width: 100%;
104
- white-space: pre-line;
123
+ cursor: pointer;
124
+ max-width: 100%;
125
+ white-space: pre-line;
105
126
  }
106
127
  i-checkbox,
107
128
  i-radio {
108
- display: inline-flex;
109
- align-self: center;
110
- margin-left: 1.5em;
111
- margin-right: 1.5em;
112
- white-space: nowrap;
129
+ display: inline-flex;
130
+ align-self: center;
131
+ margin-left: 1.5em;
132
+ margin-right: 1.5em;
133
+ white-space: nowrap;
134
+ }
135
+ i-checklist i-checkbox {
136
+ display: flex !important;
137
+ flex-direction: row !important;
113
138
  }
114
-
115
139
  i-button {
116
- display: contents;
140
+ display: contents;
117
141
  }
118
142
  i-button button {
119
- margin: 5px !important;
120
- margin-top: 30px !important;
121
- padding: 7px 9px !important;
122
- max-height: 40px;
143
+ margin: 5px !important;
144
+ margin-top: 30px !important;
145
+ padding: 7px 9px !important;
146
+ max-height: 40px;
123
147
  }
124
148
  table i-button button {
125
- margin-top: 0px !important;
149
+ margin-top: 0px !important;
126
150
  }
127
151
  i-button.default button {
128
- margin: 3px;
129
- padding: 3px;
130
- width: 32px;
131
- height: 32px;
152
+ margin: 3px;
153
+ padding: 3px;
154
+ width: 32px;
155
+ height: 32px;
132
156
  }
133
157
  i-file {
134
- display: block;
135
- padding: 10px !important;
136
- border: 3px dashed var(--theme-color);
137
- margin: 1% !important;
138
- height: fit-content;
139
- width: 98% !important;
158
+ display: block;
159
+ padding: 10px !important;
160
+ border: 3px dashed var(--theme-color);
161
+ margin: 1% !important;
162
+ height: fit-content;
163
+ width: 98% !important;
140
164
  }
141
165
  i-file label {
142
- margin-top: 10px !important;
166
+ margin-top: 10px !important;
143
167
  }
144
168
  i-file i-button {
145
- max-width: 100px;
169
+ max-width: 100px;
146
170
  }
147
171
  i-upload {
148
- display: contents;
172
+ display: contents;
149
173
  }
150
174
  i-upload form {
151
- display: contents;
175
+ display: contents;
152
176
  }
153
177
  i-date .left-10,
154
178
  i-datetime .left-10 {
155
- margin-left: 10px;
179
+ margin-left: 10px;
156
180
  }
157
181
  i-date .fas,
158
182
  i-datetime .fas {
159
- color: green;
160
- font-size: 24px;
161
- margin: 5px;
162
- cursor: pointer;
183
+ color: green;
184
+ font-size: 24px;
185
+ margin: 5px;
186
+ cursor: pointer;
163
187
  }
164
188
  i-date p,
165
189
  i-datetime p {
166
- margin: 0 !important;
190
+ margin: 0 !important;
167
191
  }
168
192
  i-date button,
169
193
  i-datetime button {
170
- background: transparent !important;
171
- margin: 0 !important;
194
+ background: transparent !important;
195
+ margin: 0 !important;
172
196
  }
173
197
  i-date input,
174
198
  i-datetime input {
175
- margin: 0 !important;
199
+ margin: 0 !important;
176
200
  }
177
201
 
178
202
  .modal-content {
179
- width: 75%;
180
- height: auto;
181
- max-height: 100vh;
203
+ width: 75%;
204
+ height: auto;
205
+ max-height: 100vh;
182
206
  }
183
207
  .modal-content:has(i-list) {
184
- min-height: 50px;
208
+ min-height: 50px;
185
209
  }
186
210
  .full .modal-content {
187
- width: 96%;
188
- height: auto;
189
- max-height: 100vh;
211
+ width: 96%;
212
+ height: auto;
213
+ max-height: 100vh;
190
214
  }
191
215
  .modal-body {
192
- padding: 1rem;
193
- display: block;
194
- overflow: hidden;
195
- overflow-y: auto;
216
+ padding: 1rem;
217
+ display: block;
218
+ overflow: hidden;
219
+ overflow-y: auto;
196
220
  }
197
221
  .modal-footer {
198
- display: flex;
199
- width: 100%;
200
- flex-wrap: nowrap;
201
- align-content: center;
202
- justify-content: center;
203
- align-items: center;
204
- flex-direction: row;
222
+ display: flex;
223
+ width: 100%;
224
+ flex-wrap: nowrap;
225
+ align-content: center;
226
+ justify-content: center;
227
+ align-items: center;
228
+ flex-direction: row;
205
229
  }
206
230
  .dropdown-content {
207
- display: none;
208
- position: absolute;
209
- top: 75px !important;
210
- background-color: #ffffff;
211
- width: 100%;
212
- z-index: 999;
213
- max-height: 75vh;
214
- padding: 0px;
215
- margin: 0;
216
- scroll-behavior: smooth;
217
- overflow: auto;
218
- border: 5px solid var(--theme-color);
219
- border-top: 10px solid var(--theme-color);
220
- border-bottom: 10px solid var(--theme-color);
221
- border-radius: 5px;
231
+ display: none;
232
+ position: absolute;
233
+ top: 75px !important;
234
+ background-color: #ffffff;
235
+ width: 100%;
236
+ z-index: 999;
237
+ max-height: 75vh;
238
+ padding: 0px;
239
+ margin: 0;
240
+ scroll-behavior: smooth;
241
+ overflow: auto;
242
+ border: 5px solid var(--theme-color);
243
+ border-top: 10px solid var(--theme-color);
244
+ border-bottom: 10px solid var(--theme-color);
245
+ border-radius: 5px;
222
246
  }
223
247
  .v-tabs .nav-link {
224
- color: #aaa !important;
225
- background: #fff !important;
226
- position: relative;
227
- cursor: pointer;
228
- font-weight: bold;
229
- width: auto;
248
+ color: #aaa !important;
249
+ background: #fff !important;
250
+ position: relative;
251
+ cursor: pointer;
252
+ font-weight: bold;
253
+ width: auto;
230
254
  }
231
255
 
232
256
  .v-tabs .nav-link.active {
233
- color: #45b649;
234
- background: #fff;
257
+ color: #45b649;
258
+ background: #fff;
235
259
  }
236
260
  .nav-link {
237
- width: max-content;
261
+ width: max-content;
238
262
  }
239
263
 
240
264
  @media (min-width: 992px) {
241
- .v-tabs .nav-link::before {
242
- content: '';
243
- display: block;
244
- border-top: 8px solid transparent;
245
- border-left: 10px solid #fff;
246
- border-bottom: 8px solid transparent;
247
- position: absolute;
248
- top: 50%;
249
- right: -10px;
250
- transform: translateY(-50%);
251
- opacity: 0;
252
- }
253
- .ar .v-tabs .nav-link::before,
254
- .AR .v-tabs .nav-link::before {
255
- border-right: 10px solid #fff;
256
- left: -10px;
257
- }
265
+ .v-tabs .nav-link::before {
266
+ content: '';
267
+ display: block;
268
+ border-top: 8px solid transparent;
269
+ border-left: 10px solid #fff;
270
+ border-bottom: 8px solid transparent;
271
+ position: absolute;
272
+ top: 50%;
273
+ right: -10px;
274
+ transform: translateY(-50%);
275
+ opacity: 0;
276
+ }
277
+ .ar .v-tabs .nav-link::before,
278
+ .AR .v-tabs .nav-link::before {
279
+ border-right: 10px solid #fff;
280
+ left: -10px;
281
+ }
258
282
  }
259
283
 
260
284
  .v-tabs .nav-link.active::before {
261
- opacity: 1;
285
+ opacity: 1;
262
286
  }
263
287
 
264
288
  i-audio {
265
- background: #fff;
266
- border: 1px solid #ddd;
267
- display: block;
268
- padding: 5px;
289
+ background: #fff;
290
+ border: 1px solid #ddd;
291
+ display: block;
292
+ padding: 5px;
269
293
  }
270
294
  i-audio audio {
271
- vertical-align: bottom;
295
+ vertical-align: bottom;
272
296
  }
273
297
  i-video {
274
- border: 1px solid #4caf50;
275
- padding: 5px;
276
- display: block;
298
+ border: 1px solid #4caf50;
299
+ padding: 5px;
300
+ display: block;
277
301
  }
278
302
  i-audio .btn {
279
- vertical-align: top;
303
+ vertical-align: top;
280
304
  }
281
305
 
282
306
  i-video video {
283
- max-height: 50vh;
307
+ max-height: 50vh;
284
308
  }
285
309
  i-time .time {
286
- display: flex;
287
- flex-wrap: nowrap;
288
- align-content: space-between;
289
- justify-content: space-evenly;
290
- align-items: baseline;
291
- flex-direction: row;
292
- --scrollbar-width: 3px;
293
- .dropdown-content {
294
- top: 40px !important;
295
- }
296
- input {
297
- font-weight: bold;
298
- }
310
+ display: flex;
311
+ flex-wrap: nowrap;
312
+ align-content: space-between;
313
+ justify-content: space-evenly;
314
+ align-items: baseline;
315
+ flex-direction: row;
316
+ --scrollbar-width: 3px;
317
+ .dropdown-content {
318
+ top: 40px !important;
319
+ }
320
+ input {
321
+ font-weight: bold;
322
+ }
299
323
  }
300
324
  i-time .sep span {
301
- font-size: xx-large;
302
- line-height: 0;
303
- margin-left: 5px;
304
- margin-right: 5px;
325
+ font-size: xx-large;
326
+ line-height: 0;
327
+ margin-left: 5px;
328
+ margin-right: 5px;
305
329
  }
package/index.js CHANGED
@@ -320,14 +320,10 @@ module.exports = function init(options) {
320
320
 
321
321
  ____0.importApps = function (app_dir) {
322
322
  if (____0.isFileExistsSync(app_dir) && ____0.fs.lstatSync(app_dir).isDirectory()) {
323
- ____0.fs.readdir(app_dir, (err, files) => {
324
- if (!err && files && files.length > 0) {
325
- ____0.log('=== Auto Importing Apps : ' + app_dir);
326
- files.forEach((file) => {
327
- if (____0.fs.lstatSync(app_dir + '/' + file).isDirectory()) {
328
- ____0.importApp(app_dir + '/' + file);
329
- }
330
- });
323
+ ____0.log('=== Auto Importing Apps : ' + app_dir);
324
+ ____0.fs.readdirSync(app_dir).forEach((file) => {
325
+ if (____0.fs.lstatSync(app_dir + '/' + file).isDirectory()) {
326
+ ____0.importApp(app_dir + '/' + file);
331
327
  }
332
328
  });
333
329
  }
@@ -376,14 +372,10 @@ module.exports = function init(options) {
376
372
 
377
373
  if (____0.options.apps === !0) {
378
374
  if (____0.isFileExistsSync(____0.options.apps_dir) && ____0.fs.lstatSync(____0.options.apps_dir).isDirectory()) {
379
- ____0.fs.readdir(____0.options.apps_dir, (err, files) => {
380
- if (!err && files && files.length > 0) {
381
- ____0.log('=== Auto Loading Default Apps ===');
382
- files.forEach((file) => {
383
- if (____0.fs.lstatSync(____0.options.apps_dir + '/' + file).isDirectory()) {
384
- ____0.loadApp(file);
385
- }
386
- });
375
+ ____0.log('=== Auto Loading Default Apps ===');
376
+ ____0.fs.readdirSync(____0.options.apps_dir).forEach((file) => {
377
+ if (____0.fs.lstatSync(____0.options.apps_dir + '/' + file).isDirectory()) {
378
+ ____0.importApp(____0.options.apps_dir + '/' + file);
387
379
  }
388
380
  });
389
381
  }
package/lib/routing.js CHANGED
@@ -469,19 +469,17 @@ module.exports = function init(____0) {
469
469
  try {
470
470
  route.name = arr.join('/');
471
471
  if (typeof route.path == 'string' && ____0.fs.lstatSync(route.path).isDirectory()) {
472
- ____0.fs.readdir(route.path, (err, files) => {
473
- files.forEach((file) => {
474
- let r2 = { ...route };
475
- if (route.name.endsWith('/')) {
476
- r2.name = route.name + file;
477
- } else {
478
- r2.name = route.name + '/' + file;
479
- }
472
+ ____0.fs.readdirSync(route.path).forEach((file) => {
473
+ let r2 = { ...route };
474
+ if (route.name.endsWith('/')) {
475
+ r2.name = route.name + file;
476
+ } else {
477
+ r2.name = route.name + '/' + file;
478
+ }
480
479
 
481
- r2.path = route.path + '/' + file;
482
- r2.is_dynamic = !0;
483
- _0xrrxo.add(r2);
484
- });
480
+ r2.path = route.path + '/' + file;
481
+ r2.is_dynamic = !0;
482
+ _0xrrxo.add(r2);
485
483
  });
486
484
  } else {
487
485
  if (!route.name.startsWith('/')) {
@@ -1422,8 +1420,11 @@ module.exports = function init(____0) {
1422
1420
 
1423
1421
  _0xrrxo.start = function (_ports, callback) {
1424
1422
  ____0.startTime = Date.now();
1425
-
1426
1423
  ____0.ws.wsSupport();
1424
+ if (typeof _ports === 'function') {
1425
+ callback = callback || _ports;
1426
+ _ports = null;
1427
+ }
1427
1428
 
1428
1429
  ____0.https.globalAgent.options = {
1429
1430
  key: ____0.fs.readFileSync(____0.options.https.key || __dirname + '/../ssl/key.pem'),
@@ -1432,14 +1433,12 @@ module.exports = function init(____0) {
1432
1433
 
1433
1434
  const ports = [];
1434
1435
 
1435
- if (ports.length === 0) {
1436
- if (typeof _ports === 'number') {
1437
- ports.some((p0) => p0 == _ports) || ports.push(_ports);
1438
- } else if (Array.isArray(_ports)) {
1439
- _ports.forEach((p) => {
1440
- ports.some((p0) => p0 == p) || ports.push(p);
1441
- });
1442
- }
1436
+ if (typeof _ports === 'number') {
1437
+ ports.some((p0) => p0 == _ports) || ports.push(_ports);
1438
+ } else if (Array.isArray(_ports)) {
1439
+ _ports.forEach((p) => {
1440
+ ports.some((p0) => p0 == p) || ports.push(p);
1441
+ });
1443
1442
  }
1444
1443
 
1445
1444
  if (ports.length === 0) {
@@ -1476,20 +1475,16 @@ module.exports = function init(____0) {
1476
1475
  server.maxHeadersCount = 0;
1477
1476
  server.timeout = 1000 * ____0.options.responseTimeout;
1478
1477
  server.on('error', (e) => {
1478
+ ____0.serverCount++;
1479
1479
  if (e.code === 'EADDRINUSE') {
1480
1480
  ____0.log('Address in use, Closing Server : ' + p);
1481
1481
  server.close();
1482
1482
  }
1483
1483
  });
1484
1484
  server.listen(p, function () {
1485
+ ____0.serverCount++;
1485
1486
  if (!____0.server) {
1486
1487
  ____0.server = server;
1487
- setTimeout(() => {
1488
- if (callback) {
1489
- callback(____0.servers);
1490
- }
1491
- ____0.call(____0.strings[9]);
1492
- }, 1000 * 5);
1493
1488
  }
1494
1489
  ____0.servers.push(server);
1495
1490
  ____0.log('\n-----------------------------------------');
@@ -1531,6 +1526,16 @@ module.exports = function init(____0) {
1531
1526
  }
1532
1527
  }
1533
1528
 
1529
+ ____0.readyInterval = setInterval(() => {
1530
+ if (____0.serverCount == ports.length) {
1531
+ clearInterval(____0.readyInterval);
1532
+ if (callback) {
1533
+ callback(____0.servers);
1534
+ }
1535
+ ____0.call(____0.strings[9]);
1536
+ }
1537
+ }, 100);
1538
+
1534
1539
  return ____0.server;
1535
1540
  };
1536
1541