Libraryless. Click here for Pure Java version (15035L/106K).
!7 sclass UniversalSearch extends DynModule { S query; transient L<SS> result; transient Q q; transient int maxInputLength = 120; transient WaitForStableValue<S> waitForStableValue = new(1.0); transient volatile bool calculating; transient JTable table; transient SimpleLiveValue<S> lvQuery = stringLiveValue(); JComponent visualize() { ret jLiveValueSection(lvQuery, dataToTable_uneditable(result, table = sexyTable())); } void unvisualize() { table = null; } void start { lvQuery.set(query); q = startQ(); ownTimer(doEvery(1000, r updateMe)); } void update { S s = dm_getInterestingString(); if (nempty(s) && l(s) <= maxInputLength) { // TODO: more quality checks? waitForStableValue.set(s); } fS q = waitForStableValue!; if (nempty(q) && neq(q, query)) this.q.add(r { calc(q) }); } void calc(S q) { if (eq(query, q)) ret; result = null; lvQuery.set(query = q); temp tempSetField(this, calculating := true); L<Pair<O, S>> l = dm_universalSearch(q); result = map(l, func(Pair<O, S> p) -> SS { litorderedmap("Result" := str(first(p)), "From Module" := second(p)) }); dataToTable_uneditable_ifHasTable(result, table); } }
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: | #1016241 |
Snippet name: | Universal Search [Dyn Module, dev.] |
Eternal ID of this version: | #1016241/4 |
Text MD5: | c833d3aa768f58ce4b292dfe7ff8df52 |
Transpilation MD5: | 1fab6eeaa340f5ee7e6e8741b5b1a781 |
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-06-11 20:00:40 |
Source code size: | 1313 bytes / 48 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 354 / 449 |
Version history: | 3 change(s) |
Referenced in: | [show references] |