Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

74
LINES

< > BotCompany Repo | #1016849 // Recently Deleted Modules Of Type [OK, but doesn't update automatically]

JavaX source code (Dynamic Module) [tags: use-pretranspiled] - run with: Stefan's OS

Libraryless. Click here for Pure Java version (15439L/111K).

1  
!7
2  
3  
DynTable > RecentlyDeletedModules {
4  
  S moduleID;
5  
  
6  
  JComponent visualize() {
7  
    JComponent c = super.visualize();
8  
    tablePopupMenuItemsThreaded(table,
9  
      "Restore module", voidfunc(int row) { restore(row) },
10  
      "Show structure", voidfunc(int row) { showStructure(row) });
11  
    JTextField tfModuleID = jLiveValueTextField_bothWays(dm_fieldLiveValue('moduleID));
12  
    onEnter(tfModuleID, r actualUpdate);
13  
    ret northAndCenter(
14  
      centerAndEastWithMargin(withLabel("Module ID:", tfModuleID), jbutton("Search", r actualUpdate)), c);
15  
  }
16  
  
17  
  L<Map> calc() { ret data; }
18  
  
19  
  void actualUpdate { temp enter(); setField(data := actualCalc(); }
20  
  
21  
  L<Map> actualCalc() {
22  
    if (empty(moduleID)) null;
23  
    print("Searching for deleted modules of type " + moduleID);
24  
    ret reversed(map(scanLog_iterator(deletedModulesLogFile(moduleID)),
25  
      func(S structure) -> Map {
26  
        O mod = safeUnstructure(structure);
27  
        // old layout:
28  
        // "c DynamicModule(_className=\"main$TextArea\", created=1529499892012L, frameRect=Rect(h=66, w=130, x=618, y=339), id=384L, moduleID=\"#1016122\", on=t, visible=t)"
29  
        // new layout:
30  
        // "hm{deleted=123L, module := c DynamicModule(...)}"
31  
        long deleted = 0;
32  
        if (mod instanceof Map) {
33  
          deleted = toLong(mod/Map.get("deleted"));
34  
          mod = mod/Map.get("module");
35  
        }
36  
37  
        S className = dynShortName(mod);
38  
        if (eq(className, "DynamicModule"))
39  
          className = shortenClassName(getString(mod, '_className));
40  
        ret litorderedmap(
41  
          "Module ID" := joinNempties("/", getString(mod, 'moduleID), className),
42  
          //"Created" := formatLocalDateWithMinutes(getOptLong(mod, 'created)),
43  
          "Deleted" := formatLocalDateWithMinutes(deleted),
44  
          "Data Size" := toK(l(structure)) + " K",
45  
          "[hidden] md5" := md5(structure));
46  
      }));
47  
  }
48  
  
49  
  S findStructure(int row) {
50  
    Map map = get(data, row);
51  
    if (map == null) null;
52  
    S md5 = (S) map.get("[hidden] md5");
53  
    
54  
    for (S structure : scanLog_iterator(deletedModulesLogFile(moduleID))) {
55  
      if (!eq(md5(structure), md5)) continue;
56  
      print("Found row");
57  
      ret structure;
58  
    }
59  
    null;
60  
  }
61  
  
62  
  void restore(int row) {
63  
    S structure = findStructure(row);
64  
    if (structure == null) ret;
65  
    callCreator('restoreModule, structure);
66  
  }
67  
  
68  
  void showStructure(int row) {
69  
    S structure = findStructure(row);
70  
    if (structure == null) ret;
71  
    //dm_showNewTextArea();
72  
    showWrappedText("Deleted Module Structure", structure);
73  
  }
74  
}

Author comment

Began life as a copy of #1016508

download  show line numbers  debug dex  old transpilations   

Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1016849
Snippet name: Recently Deleted Modules Of Type [OK, but doesn't update automatically]
Eternal ID of this version: #1016849/16
Text MD5: ae07529649b2aa022b57191aea9546e5
Transpilation MD5: 7630b43fc6a5a68a51fbe3c157dc8593
Author: stefan
Category: javax / stefan's os
Type: JavaX source code (Dynamic Module)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2018-11-24 04:17:56
Source code size: 2629 bytes / 74 lines
Pitched / IR pitched: No / No
Views / Downloads: 395 / 9591
Version history: 15 change(s)
Referenced in: [show references]