dphelper 0.2.89 → 0.2.93

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.
Files changed (121) hide show
  1. package/{LICENSE.txt → LICENSE.md} +0 -0
  2. package/README.md +6 -0
  3. package/index.js +2 -12
  4. package/package.json +130 -136
  5. package/.editorconfig +0 -13
  6. package/.env +0 -3
  7. package/.eslintignore +0 -13
  8. package/.eslintrc.json +0 -87
  9. package/.eslintrc.legacy.json +0 -91
  10. package/.gitattributes +0 -2
  11. package/.github/FUNDING.yml +0 -12
  12. package/.github/dependabot.yml +0 -12
  13. package/.hintrc +0 -11
  14. package/.jsbeautifyrc +0 -25
  15. package/.jshintrc +0 -16
  16. package/.prettierignore +0 -2
  17. package/.prettierrc.json +0 -8
  18. package/.stylelintignore +0 -0
  19. package/.stylelintrc.json +0 -468
  20. package/.vscode/launch.json +0 -34
  21. package/.vscode/settings.json +0 -58
  22. package/3party/shortcut.js +0 -224
  23. package/CHANGELOG.txt +0 -4
  24. package/SECURITY.md +0 -3
  25. package/__mocks__/fileMock.js +0 -3
  26. package/__mocks__/styleMock.js +0 -3
  27. package/babel.config.js +0 -30
  28. package/backup.bat +0 -43
  29. package/coverage/coverage-final.json +0 -1
  30. package/coverage/lcov-report/base.css +0 -224
  31. package/coverage/lcov-report/block-navigation.js +0 -87
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/index.html +0 -101
  34. package/coverage/lcov-report/prettify.css +0 -1
  35. package/coverage/lcov-report/prettify.js +0 -2
  36. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  37. package/coverage/lcov-report/sorter.js +0 -196
  38. package/coverage/lcov.info +0 -0
  39. package/data/list.json +0 -19
  40. package/dist/LICENSE.txt +0 -209
  41. package/dist/README.md +0 -79
  42. package/elements/button/component.js +0 -0
  43. package/elements/code/component.js +0 -0
  44. package/elements/costants.tsx +0 -13
  45. package/elements/fieldset/component.js +0 -0
  46. package/elements/input/checkbox/component.js +0 -0
  47. package/elements/input/date/component.js +0 -27
  48. package/elements/input/number/component.js +0 -0
  49. package/elements/input/radio/component.js +0 -0
  50. package/elements/input/search/component.js +0 -0
  51. package/elements/input/select/component.js +0 -0
  52. package/elements/input/slider/component.js +0 -0
  53. package/elements/input/switch/component.js +0 -0
  54. package/elements/tab/component.js +0 -0
  55. package/elements/table/component.js +0 -0
  56. package/elements/tags.less +0 -0
  57. package/elements/textarea/component.js +0 -0
  58. package/elements/x-foo/define.js +0 -33
  59. package/elements/x-foo/namespace.d.ts +0 -7
  60. package/init.js +0 -87
  61. package/jest.config.js +0 -81
  62. package/node/createTag.js +0 -7
  63. package/node/gitDeploy.js +0 -7
  64. package/node/goLive.js +0 -7
  65. package/public/assets/images/banner.png +0 -0
  66. package/public/assets/logos/logo.svg +0 -64
  67. package/public/documents/iDB/list.html +0 -11
  68. package/public/documents/iDB/toState.html +0 -11
  69. package/scripts/.OLD/import.js +0 -48
  70. package/scripts/.OLD/onBeforeUnLoad.js +0 -120
  71. package/scripts/.OLD/purge.js +0 -53
  72. package/scripts/.OLD/string.js +0 -27
  73. package/scripts/anchor.js +0 -73
  74. package/scripts/array.js +0 -203
  75. package/scripts/avoid.js +0 -48
  76. package/scripts/browser.js +0 -100
  77. package/scripts/color.js +0 -121
  78. package/scripts/console.js +0 -97
  79. package/scripts/console.mapped.js +0 -160
  80. package/scripts/coods.js +0 -57
  81. package/scripts/cookie.js +0 -105
  82. package/scripts/date.js +0 -179
  83. package/scripts/disable.js +0 -91
  84. package/scripts/errors.js +0 -3
  85. package/scripts/event.js +0 -57
  86. package/scripts/font.js +0 -60
  87. package/scripts/form.js +0 -211
  88. package/scripts/format.js +0 -71
  89. package/scripts/function.js +0 -55
  90. package/scripts/iDB.js +0 -688
  91. package/scripts/json.js +0 -84
  92. package/scripts/load.js +0 -112
  93. package/scripts/math.js +0 -100
  94. package/scripts/obj.js +0 -118
  95. package/scripts/path.js +0 -101
  96. package/scripts/promise.js +0 -56
  97. package/scripts/screen.js +0 -82
  98. package/scripts/scrollbar.js +0 -293
  99. package/scripts/shortcut.js +0 -83
  100. package/scripts/socket.js +0 -184
  101. package/scripts/state.js +0 -87
  102. package/scripts/storage.js +0 -93
  103. package/scripts/store.js +0 -115
  104. package/scripts/svg.js +0 -380
  105. package/scripts/text.js +0 -116
  106. package/scripts/time.js +0 -43
  107. package/scripts/timer.js +0 -54
  108. package/scripts/tool.js +0 -73
  109. package/scripts/trigger.js +0 -57
  110. package/scripts/type.js +0 -76
  111. package/scripts/ui.js +0 -41
  112. package/scripts/window.js +0 -244
  113. package/styles/console.less +0 -95
  114. package/tests/setupJest.tsx +0 -4
  115. package/typings/.OLD/cordova.d.ts +0 -12
  116. package/typings/.OLD/layerpro.d.ts +0 -20
  117. package/typings/.OLD/menupro.d.ts +0 -20
  118. package/typings/dphelper.d.ts +0 -26
  119. package/typings/image.d.ts +0 -5
  120. package/typings/styles.d.ts +0 -23
  121. package/webpack.config.js +0 -249
package/scripts/iDB.js DELETED
@@ -1,688 +0,0 @@
1
- /*!
2
- dpHelper
3
- Copyright (c) 2021 Dario Passariello <dariopassariello@gmail.com>
4
- Licensed under the Apache-2.0, see
5
- https://dario.passariello.ca
6
- */
7
-
8
- /***********************************************************************/
9
-
10
- function t(){
11
- dphelper.iDB.list();
12
- }
13
-
14
- var description = {
15
- "name" : "iDB",
16
- "description" : "The indexedDB Manager Tools",
17
- "version" : "0.0.1",
18
- "command" : "iDB",
19
- "subCommand" : [
20
- {
21
- "name":"init",
22
- "description" : "Initianize the iDB on website",
23
- "example" : " dphelper.iDB.init() "
24
- // },{
25
- // "name":"open",
26
- // "description" : "",
27
- // "example" : " dphelper.iDB.open( 'dbName','dbTable' ) "
28
- },{
29
- "name":"create",
30
- "description" : "Create a new database",
31
- "example" : " dphelper.iDB.create( 'dbName','dbTable' ) "
32
- // },{
33
- // "name":"open",
34
- // "description" : "",
35
- // "example" : " dphelper.iDB.open( 'dbName','dbTable' ) "
36
- },{
37
- "name":"store",
38
- "description" : "Put all data to localStorage( I suggest to not use this way, instead use state)",
39
- "example" : " dphelper.iDB.store( 'dbName','dbTable' ) "
40
- },{
41
- "name":"insert",
42
- "description" : "Insert a new record into DB",
43
- "example" : " dphelper.iDB.update( 'dbName','dbTable', 'data' ) "
44
- },{
45
- "name":"update",
46
- "description" : "Update a record into DB",
47
- "example" : " dphelper.iDB.update( 'dbName','dbTable', 'id', 'data' ) "
48
- },{
49
- "name":"get",
50
- "description" : "To get data about single row d on DB",
51
- "example" : " dphelper.iDB.get( 'dbName','dbTable', 'id' ) "
52
- },{
53
- "name":"list",
54
- "description" : './documents/iDB/list.html',
55
- "example" : " dphelper.iDB.list() result -> show in console the table of list of all DB "
56
- },{
57
- "name":"toState",
58
- "description" : "Add databases into dphelper.databases (you can reuse them without recall again)",
59
- "example" : " dphelper.iDB.toState( 'dbName' ) result -> see dphelper.databases "
60
- },{
61
- "name":"version",
62
- "description" : "If you need to kow the last version of a DB",
63
- "example" : " dphelper.iDB.size( 'dbName' ) result -> 2 "
64
- },{
65
- "name":"size",
66
- "description" : "If you need to know the size about a DB",
67
- "example" : " dphelper.iDB.size( 'dbName' ) result -> 100kb "
68
- },{
69
- "name":"exist",
70
- "description" : "If you need to know if a DB exist",
71
- "example" : " dphelper.iDB.exist( 'dbName' ) result -> true or false "
72
- },{
73
- "name":"delete",
74
- "description" : "If you need to remove an indexedDB, just use this command",
75
- "example" : " dphelper.iDB.delete( 'dbName' ) result -> 'database deletion' "
76
- },{
77
- "name":"countRows",
78
- "description" : "Count records in a DB, useful to have last record from a DB",
79
- "example" : " dphelper.iDB.countRows( 'dbName' , 'tableName' ) result -> 1 "
80
- },{
81
- "name":"refresh",
82
- "description" : "Refresh database list into state (dphelper.databases)",
83
- "example" : " dphelper.iDB.refresh() result -> see dphelper.databases "
84
- }
85
- // ,{
86
- // "name":"getTableSize",
87
- // "description" : "",
88
- // },{
89
- // "name":"getDbSize",
90
- // "description" : "",
91
- // },{
92
- // "name":"printTableInfo",
93
- // "description" : "",
94
- // },{
95
- // "name":"printSizes",
96
- // "description" : "",
97
- // },
98
-
99
- ],
100
-
101
- "example" : "",
102
- "author" : "Dario Passariello",
103
- "active" : true
104
-
105
- };
106
-
107
- dphelper._list.scripts.push( description );
108
-
109
- ///////////////////////////////////////////////////////////////////////////////////
110
-
111
- dphelper.iDB = {
112
-
113
- init: ()=>{
114
-
115
- setTimeout( ()=> {
116
-
117
- var db ="dph-sys";
118
- var table = "empty";
119
-
120
- if( dphelper.iDB.exist( db ) === true ){
121
-
122
- setTimeout(()=>{
123
- dphelper.iDB.toState( db, table, 1 );
124
- }, 2000 );
125
-
126
- } else {
127
-
128
- dphelper.iDB.create( db, table );
129
-
130
- setTimeout( ()=>{
131
- dphelper.iDB.insert( db, table, 'Ready!' );
132
- }, 2000 );
133
-
134
- }
135
-
136
- }, 1000 );
137
-
138
- dphelper.iDB.toState();
139
-
140
- },
141
-
142
- ///////////////////////////////////////////////////////////////////////////////////
143
-
144
- create: ( storeName, table ) => {
145
-
146
- if( dphelper.iDB.exist( storeName ) ){
147
- top.alert( `Database "${storeName}" already exist` );
148
- return;
149
- }
150
-
151
- var request = window.indexedDB.open( storeName , dphelper.iDB.version( storeName ) );
152
-
153
- request.onerror = ( event ) => {
154
- console.debug(event, "Database create error: " + event.target.errorCode);
155
- return false;
156
- };
157
-
158
- request.onsuccess = function (event) {
159
-
160
- var checkDB = event.target.result;
161
- var v = checkDB.version;
162
- checkDB.close();
163
-
164
- if( dphelper.iDB.version( storeName ) === undefined ){
165
- var request = window.indexedDB.open( storeName, v+1 );
166
- request.onupgradeneeded = ( event ) => {
167
- var db = event.target.result;
168
- if( db.objectStoreNames.length != 0 ) return;
169
-
170
- var objectStore = db.createObjectStore( table , { keyPath: 'id', autoIncrement:true } );
171
- objectStore.createIndex( 'id', 'id', { unique: true });
172
- db.close();
173
- };
174
- }
175
-
176
- dphelper.iDB.refresh();
177
-
178
- };
179
-
180
- },
181
-
182
- ///////////////////////////////////////////////////////////////////////////////////
183
-
184
- open: ( storeName ) => {
185
- if( !dphelper.iDB.exist( storeName ) ) return;
186
-
187
- const indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
188
-
189
- if (!indexedDB) {
190
- //console.debug( event );
191
- console.debug( "Your browser doesn't support a skey version of IndexedDB. Such and such feature will not be available.");
192
- console.debug( "Something went badly wrong with your indexedDB!" );
193
- }
194
-
195
- var request = window.indexedDB.open( storeName , dphelper.iDB.version( storeName ) );
196
-
197
- request.onsuccess = ( event ) => {
198
- // console.debug( 'indexedDB "' + storeName + '" open' );
199
- // return event.target.result;
200
- // request.close();
201
- dphelper.iDB.refresh();
202
- };
203
-
204
- request.onerror = ( event ) => {
205
- console.debug( "Database open error: " + event.target.errorCode );
206
- return;
207
- };
208
-
209
- return request;
210
-
211
- },
212
-
213
- ///////////////////////////////////////////////////////////////////////////////////
214
- //INSERT: indexedDB.insert('myDB','Mytable','Mykey','MyValue')
215
-
216
- insert: ( storeName, table, value ) => {
217
- if( !dphelper.iDB.exist( storeName ) ) return;
218
-
219
- var request = window.indexedDB.open( storeName , dphelper.iDB.version( storeName ) );
220
-
221
- request.onerror = ( event ) => {
222
- console.debug(event, "Database insert error: " + event.target.errorCode);
223
- };
224
-
225
- request.onsuccess = ( event ) => {
226
- try{
227
- var db = event.target.result;
228
- var objectStore = db.transaction([table], "readwrite").objectStore( table );
229
- objectStore.add({ value });
230
- db.close();
231
- dphelper.iDB.refresh();
232
- //console.debug( "IndexDB inserted" );
233
- }catch( event ){
234
- console.debug( event, "IndexDB insert not work" );
235
- }
236
- };
237
-
238
- },
239
-
240
- ///////////////////////////////////////////////////////////////////////////////////
241
- //UPDATE: indexedDB.update('myDB','Mykey','MyValue')
242
-
243
- update: (storeName, table, key, value ) => {
244
- if( !dphelper.iDB.exist( storeName ) ) return;
245
-
246
- var request = window.indexedDB.open( storeName , dphelper.iDB.version( storeName ) );
247
- request.onerror = ( event ) => {
248
- console.debug(event, "Database update error: " + event.target.errorCode);
249
- return;
250
- };
251
-
252
- request.onsuccess = ( event ) => {
253
-
254
- var db = event.target.result;
255
- var objectStore = db.transaction([table], "readwrite").objectStore( table );
256
-
257
- var req = objectStore.get(+key);
258
-
259
- req.onsuccess = function(event){
260
-
261
- var data = event.target.result;
262
- data.value = value;
263
- var objRequest = objectStore.put( data );
264
-
265
- objRequest.onsuccess = function(ev){
266
- dphelper.iDB.refresh();
267
- //console.debug('Success in updating record');
268
- };
269
-
270
- objRequest.onerror = function(ev){
271
- console.debug('Error in updating record');
272
- };
273
-
274
- };
275
-
276
- };
277
-
278
- },
279
-
280
- ///////////////////////////////////////////////////////////////////////////////////
281
-
282
- get: ( storeName, table, key ) => {
283
-
284
- return new Promise( function( resolve, reject ){
285
-
286
- let request = window.indexedDB.open( storeName , dphelper.iDB.version( storeName ) );
287
-
288
- request.onsuccess = function( event ){
289
-
290
- var db = event.target.result;
291
- if( db.objectStoreNames.length === 0 ) return;
292
-
293
- var Store = db.transaction([ table ], "readwrite" ).objectStore( table );
294
- var req = Store.get( key );
295
-
296
- req.onsuccess = function( event ){
297
- var cursor = event.target.result;
298
- resolve( cursor );
299
- };
300
-
301
- };
302
-
303
- });
304
-
305
- },
306
-
307
- ///////////////////////////////////////////////////////////////////////////////////
308
-
309
- store: ( storeName, table ) => {
310
- if( !dphelper.iDB.exist( storeName ) ) return;
311
-
312
- const request = window.indexedDB.open( storeName , dphelper.iDB.version( storeName ) );
313
-
314
- request.onerror = ( event ) => {
315
- console.debug( event , "Database get error: " + event.target.errorCode );
316
- return;
317
- };
318
-
319
- request.onsuccess = ( event ) => {
320
-
321
- var db = event.target.result;
322
- if( db.objectStoreNames.length === 0 ) return;
323
- var Store = db.transaction([ table ], "readwrite" ).objectStore( table );
324
- var curs = Store.openCursor();
325
-
326
- curs.onsuccess = function(event) {
327
- let cursor = event.target.result;
328
- if (cursor) {
329
- let key = cursor.primaryKey;
330
- let value = cursor.value;
331
-
332
- if( !store[ storeName ] ) store[ storeName ] = [];
333
- if( !store[ storeName ][ table ] ) store[ storeName ][ table ] = [];
334
- if( !store[ storeName ][ table ][ key ] ) store[ storeName ][ table ][ key ] = [];
335
- store[ storeName ][ table ][ key ] = value; //Store.getAll();
336
- cursor.continue();
337
- }
338
- dphelper.iDB.refresh();
339
- };
340
-
341
- };
342
-
343
- },
344
-
345
- ///////////////////////////////////////////////////////////////////////////////////
346
-
347
- refresh: () => {
348
- dphelper.iDB.toState();
349
- console.debug("iDB refresh");
350
- },
351
-
352
- ///////////////////////////////////////////////////////////////////////////////////
353
-
354
- toState: async ( name, db ) => {
355
-
356
- // SAVE SINGLE DB TO STATE
357
- if( name || db ){
358
-
359
- if( !name || !db ) {
360
- console.debug( "promiseToState: Some data are missed!" );
361
- return;
362
- }
363
-
364
- setTimeout( async () => {
365
- state[name] = await db;
366
- }, 1000 );
367
-
368
- return;
369
- }
370
-
371
- // ELSE SAVE ALL DB TO STATE.DATABASES
372
-
373
- var storeDB = [];
374
- var totalDB = 0;
375
-
376
- //dphelper.iDB.exist( dbName );
377
-
378
- const promise = indexedDB.databases();
379
- promise.then( databases => {
380
-
381
- Object.entries( databases ).map( storeName => {
382
-
383
- /***********************************************************************/
384
-
385
- const request = window.indexedDB.open( storeName[1].name , dphelper.iDB.version( storeName[1].version ) );
386
-
387
- request.onerror = ( event ) => {
388
- console.debug( event , "Database get error: " + event.target['errorCode'] );
389
- return;
390
- };
391
-
392
- var item = {
393
- name: "",
394
- version: "",
395
- tables: [],
396
- size: 0
397
- };
398
-
399
- var total = 0;
400
-
401
- request.onsuccess = async ( event ) => {
402
-
403
- var db = event.target['result'];
404
- if( db.objectStoreNames.length === 0 ) return;
405
-
406
- if ( db && db.name ) {
407
-
408
- item['name'] = db.name;
409
- item['version'] = db.version;
410
-
411
- // ADD ALL TABLES
412
- Object.entries( db.objectStoreNames ).map( async ( dbt,i ) => {
413
- var table = [];
414
- var size = await dphelper.iDB.getTableSize( db.name , dbt[1] );
415
-
416
- table['name'] = dbt[1];
417
- table['size'] = size;
418
- item['tables'].push( Object.assign({}, table) );
419
- total += size;
420
- item['size'] = total;
421
- totalDB += total;
422
- storeDB['total'] = totalDB;
423
- storeDB['update'] = dphelper.time.epoch();
424
- });
425
-
426
- storeDB.push( item );
427
- }
428
-
429
- // PUT ON STATE
430
- dphelper.databases = storeDB;
431
-
432
- };
433
-
434
- /***********************************************************************/
435
-
436
- });
437
-
438
- });
439
-
440
- },
441
-
442
- ///////////////////////////////////////////////////////////////////////////////////
443
-
444
- list: () => {
445
- const promise = indexedDB.databases();
446
- promise.then(databases => {
447
- console.table( databases );
448
- return databases;
449
- });
450
- },
451
-
452
- ///////////////////////////////////////////////////////////////////////////////////
453
-
454
- version: ( storeName ) => {
455
- const promise = indexedDB.databases();
456
- promise.then( databases => {
457
- databases.find((v)=>{
458
- if( v.name === storeName ){
459
- //console.info( v.version );
460
- return true;
461
- }
462
- });
463
- });
464
- },
465
-
466
- ///////////////////////////////////////////////////////////////////////////////////
467
-
468
- size: ( storeName ) => {
469
- //if( !dphelper.iDB.exist( storeName ) ) return;
470
- var databaseNames = [storeName];
471
- var dbName;
472
- for(var i=0; i < databaseNames.length; i++) {
473
- dbName = databaseNames[i];
474
- return dphelper.iDB.getDbSize( dbName );
475
- }
476
- },
477
-
478
- ///////////////////////////////////////////////////////////////////////////////////
479
-
480
- exist: ( storeName ) => {
481
- if( dphelper.databases?.find( db => db.name === storeName ) !== undefined ){
482
- return true;
483
- }
484
- },
485
-
486
- ///////////////////////////////////////////////////////////////////////////////////
487
-
488
- delete: ( storeName ) => {
489
- if( !dphelper.iDB.exist( storeName ) ){
490
- top.alert( `Database "${storeName}" not exist` );
491
- }else{
492
- top.confirm(
493
- `Are you sure to remove "${storeName}" database?`,
494
- ()=>{
495
- indexedDB.deleteDatabase( storeName );
496
- dphelper.iDB.refresh();
497
- },
498
- ()=>{ alert("Operation cancelled."); }
499
- );
500
- }
501
- },
502
-
503
- ///////////////////////////////////////////////////////////////////////////////////
504
-
505
- getTableSize: (db, dbName) => {
506
- //if( !dphelper.iDB.exist( dbName ) ) return;
507
- return new Promise((resolve,reject) => {
508
- if (db == null) {
509
- return reject();
510
- }
511
- var size = 0;
512
- db = event.target.result;
513
- var transaction = db.transaction([ dbName ])
514
- .objectStore( dbName )
515
- .openCursor();
516
-
517
- transaction.onsuccess = function(event){
518
- var cursor = event.target.result;
519
- if(cursor){
520
- var storedObject = cursor.value;
521
- var json = JSON.stringify(storedObject);
522
- size += json.length;
523
- cursor.continue();
524
- }
525
- else{
526
- resolve(size);
527
- }
528
- }.bind(this);
529
- transaction.onerror = function( err ){
530
- reject("error in " + dbName + ": " + err);
531
- };
532
- });
533
- },
534
-
535
- ///////////////////////////////////////////////////////////////////////////////////
536
-
537
- getDbSize: ( dbName ) => {
538
- //if( !dphelper.iDB.exist( dbName ) ) return;
539
- return new Promise( ( resolve , reject ) => {
540
-
541
- var request = indexedDB.open( dbName , dphelper.iDB.version( dbName ) );
542
- var db;
543
- var dbSize = 0;
544
-
545
- request.onerror = function(event) {
546
- console.debug("Error on IndexedDB");
547
- };
548
-
549
- request.onsuccess = function(event) {
550
-
551
- db = event.target.result;
552
- var tableNames = [ ...db.objectStoreNames ];
553
-
554
- (function(tableNames, db) {
555
-
556
- var tableSizeGetters = tableNames.reduce( (acc, tableName) => {
557
- acc.push( dphelper.iDB.getTableSize(db, tableName) );
558
- return acc;
559
- }, []);
560
-
561
- Promise.all(tableSizeGetters).then(sizes => {
562
-
563
- var data = {};
564
- function Info(table, size) {
565
- this.table = table;
566
- this.size = size;
567
- }
568
-
569
- tableNames.forEach( (tableName,i) => {
570
- data[i] = new Info(tableName, dphelper.tool.byteSize(sizes[i]));
571
- });
572
-
573
- var total = sizes.reduce(function(acc, val) {
574
- return acc + val;
575
- }, 0);
576
-
577
- resolve( parseInt( dphelper.tool.byteSize( total ) ) );
578
-
579
- });
580
-
581
- })(tableNames, db);
582
-
583
- };
584
-
585
- });
586
-
587
- },
588
-
589
- ///////////////////////////////////////////////////////////////////////////////////
590
-
591
- printTableInfo: ( dbName ) => {
592
- //if( !dphelper.iDB.exist( dbName ) ) return;
593
-
594
- var request = indexedDB.open( dbName , dphelper.iDB.version( dbName ) );
595
- var db;
596
- var dbSize = 0;
597
-
598
- request.onerror = function(event) {
599
- console.debug("Error on IndexedDB");
600
- };
601
-
602
- request.onsuccess = function(event) {
603
-
604
- db = event.target.result;
605
- var tableNames = [ ...db.objectStoreNames ];
606
-
607
- (function(tableNames, db) {
608
-
609
- var tableSizeGetters = tableNames.reduce( (acc, tableName) => {
610
- acc.push( dphelper.iDB.getTableSize(db, tableName) );
611
- return acc;
612
- }, []);
613
-
614
- Promise.all(tableSizeGetters).then(sizes => {
615
-
616
- var data = {};
617
- function Info(table, size) {
618
- this.table = table;
619
- this.size = size;
620
- }
621
-
622
- tableNames.forEach( (tableName,i) => {
623
- data[i] = new Info(tableName, dphelper.tool.byteSize(sizes[i]));
624
- });
625
-
626
- console.table(data);
627
-
628
- var total = sizes.reduce(function(acc, val) {
629
- return acc + val;
630
- }, 0);
631
-
632
- console.debug("TOTAL: " + dphelper.tool.byteSize( total ) );
633
-
634
- });
635
-
636
- })(tableNames, db);
637
-
638
- };
639
-
640
- },
641
-
642
- ///////////////////////////////////////////////////////////////////////////////////
643
-
644
- printSizes: () => {
645
- indexedDB.webkitGetDatabaseNames().onsuccess = function (event) {
646
- var databaseNames = event.target.result;
647
- var dbName;
648
- for(var i=0; i < databaseNames.length; i++) {
649
- dbName = databaseNames.item(i);
650
- dphelper.iDB.getDbSize(dbName);
651
- }
652
- };
653
- },
654
-
655
- ///////////////////////////////////////////////////////////////////////////////////
656
-
657
- countRows: ( dbName , table ) => {
658
- return new Promise( function( resolve, reject ){
659
-
660
- let request = window.indexedDB.open( dbName , dphelper.iDB.version( dbName ) );
661
-
662
- request.onsuccess = function( event ){
663
-
664
- var db = event.target.result;
665
- if( db.objectStoreNames.length === 0 ) return;
666
-
667
- var transaction = db.transaction([ table ], 'readonly').objectStore( table );
668
- var countRequest = transaction.count();
669
- countRequest.onsuccess = function( event ){
670
- var cursor = event.target.result;
671
- resolve( cursor );
672
- }
673
-
674
- };
675
-
676
- });
677
-
678
- }
679
-
680
- };
681
-
682
- Object.defineProperty( dphelper, 'iDB', {
683
- writable: false,
684
- configurable: false
685
- });
686
-
687
- //console.log( Object.getOwnPropertyDescriptor( dphelper, 'socket' ) )
688
-