@kedem/okdb 1.0.0 → 1.0.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/README.md +1 -1
- package/bin/okdb.js +1 -1
- package/okdb-data/default/data.mdb +0 -0
- package/okdb-data/default/lock.mdb +0 -0
- package/okdb-data/~log/data.mdb +0 -0
- package/okdb-data/~log/lock.mdb +0 -0
- package/okdb-data/~system/data.mdb +0 -0
- package/okdb-data/~system/lock.mdb +0 -0
- package/okdb.js +1 -1
- package/package.json +1 -1
- package/public/admin-app.js +1 -1
- package/public/components/admin-route-host.ok.js +1 -1
- package/public/components/env-picker.ok.js +1 -1
- package/public/components/field-path-input.ok.js +1 -1
- package/public/components/geo-map.ok.js +1 -1
- package/public/components/ok-cron-input.ok.js +1 -1
- package/public/components/ok-dropzone.ok.js +1 -1
- package/public/components/ok-js-input.ok.js +1 -1
- package/public/components/ok-json-input.ok.js +1 -1
- package/public/components/ok-text-monaco-input.ok.js +1 -1
- package/public/components/theme-toggle.ok.js +1 -1
- package/public/login-app.js +1 -1
- package/public/modules/ok.js +1 -1
- package/public/sections/api/parts/api-endpoint.ok.js +1 -1
- package/public/sections/auth/modals/create-token-modal.ok.js +1 -1
- package/public/sections/auth/modals/edit-token-modal.ok.js +1 -1
- package/public/sections/auth/modals/perm-info-popover.ok.js +1 -1
- package/public/sections/auth/parts/token-detail.ok.js +1 -1
- package/public/sections/auth/parts/token-list.ok.js +1 -1
- package/public/sections/db/modals/add-item-modal.ok.js +1 -1
- package/public/sections/db/modals/create-env-modal.ok.js +1 -1
- package/public/sections/db/modals/create-fts-modal.ok.js +1 -1
- package/public/sections/db/modals/create-index-modal.ok.js +1 -1
- package/public/sections/db/modals/create-pipeline-modal.ok.js +1 -1
- package/public/sections/db/modals/demo-env-modal.ok.js +1 -1
- package/public/sections/db/modals/remove-env-modal.ok.js +1 -1
- package/public/sections/db/modals/schema-edit-modal.ok.js +1 -1
- package/public/sections/db/parts/db-overview.ok.js +1 -1
- package/public/sections/db/parts/db-pipelines-panel.ok.js +1 -1
- package/public/sections/db/parts/edit-row.ok.js +1 -1
- package/public/sections/db/parts/tm-timeline.ok.js +1 -1
- package/public/sections/db/parts/type-changelog.ok.js +1 -1
- package/public/sections/db/parts/type-list.ok.js +1 -1
- package/public/sections/db/parts/type-pipelines-tab.ok.js +1 -1
- package/public/sections/db/parts/type-schema-tab.ok.js +1 -1
- package/public/sections/db/parts/type-viewer.ok.js +1 -1
- package/public/sections/db/parts/type-violations-tab.ok.js +1 -1
- package/public/sections/embeddings/modals/register-model-modal.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-create-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-embedder-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-engine-declaration-editor.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-engine-list.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-indexer-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-lifecycle-bar.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-model-catalog.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-overview.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-search-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-worker-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embeddings-engine-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/engines-overview.ok.js +1 -1
- package/public/sections/embeddings/parts/pipeline-create-panel.ok.js +1 -1
- package/public/sections/engines/engine-panel-shared-style.js +1 -1
- package/public/sections/engines/engine-ui-utils.js +1 -1
- package/public/sections/engines/modals/engine-modal.ok.js +1 -1
- package/public/sections/engines/parts/engine-declaration-editor.ok.js +1 -1
- package/public/sections/engines/parts/engine-lifecycle-actions.ok.js +1 -1
- package/public/sections/engines/parts/engine-panel-shell.ok.js +1 -1
- package/public/sections/engines/parts/engine-resource-card.ok.js +1 -1
- package/public/sections/engines/parts/engine-row-item.ok.js +1 -1
- package/public/sections/engines/parts/generic-engine-panel.ok.js +1 -1
- package/public/sections/files/parts/files-blob-status.ok.js +1 -1
- package/public/sections/files/parts/files-collection-list.ok.js +1 -1
- package/public/sections/files/parts/files-collection-panel.ok.js +1 -1
- package/public/sections/files/parts/files-file-list.ok.js +1 -1
- package/public/sections/files/parts/files-overview.ok.js +1 -1
- package/public/sections/files/parts/files-path-browser.ok.js +1 -1
- package/public/sections/files/parts/files-upload-panel.ok.js +1 -1
- package/public/sections/functions/modals/function-modal.ok.js +1 -1
- package/public/sections/functions/parts/function-detail.ok.js +1 -1
- package/public/sections/functions/parts/function-logs.ok.js +1 -1
- package/public/sections/functions/parts/function-runner.ok.js +1 -1
- package/public/sections/functions/parts/functions-list.ok.js +1 -1
- package/public/sections/license/parts/license-panel.ok.js +1 -1
- package/public/sections/queue/modals/create-bucket-modal.ok.js +1 -1
- package/public/sections/queue/modals/edit-bucket-modal.ok.js +1 -1
- package/public/sections/queue/modals/edit-job-modal.ok.js +1 -1
- package/public/sections/queue/modals/enqueue-job-modal.ok.js +1 -1
- package/public/sections/queue/modals/job-type-modal.ok.js +1 -1
- package/public/sections/queue/parts/ok-job-form.ok.js +1 -1
- package/public/sections/queue/parts/queue-buckets.ok.js +1 -1
- package/public/sections/queue/parts/queue-job-types.ok.js +1 -1
- package/public/sections/queue/parts/queue-jobs.ok.js +1 -1
- package/public/sections/queue/parts/queue-types.ok.js +1 -1
- package/public/sections/queue/parts/queue-workers.ok.js +1 -1
- package/public/sections/sync/parts/sync-node-detail.ok.js +1 -1
- package/public/sections/sync/parts/sync-retention.ok.js +1 -1
- package/public/sections/sync/parts/sync-topology.ok.js +1 -1
- package/public/sections/system/modals/data-ops-modal.ok.js +1 -1
- package/public/sections/system/parts/system-api-panel.ok.js +1 -1
- package/public/sections/system/parts/system-auth-panel.ok.js +1 -1
- package/public/sections/system/parts/system-log-history.ok.js +1 -1
- package/public/sections/system/parts/system-log.ok.js +1 -1
- package/public/sections/system/parts/system-status.ok.js +1 -1
- package/public/sections/system/parts/system-sync-panel.ok.js +1 -1
- package/public/sections/views/modals/create-view-modal.ok.js +1 -1
- package/public/sections/views/parts/view-detail.ok.js +1 -1
- package/public/sections/views/parts/views-list.ok.js +1 -1
- package/public/sections/views/parts/views-overview.ok.js +1 -1
- package/public/setup-app.js +1 -1
- package/public/stores/auth-store.js +1 -1
- package/public/stores/events-store.js +1 -1
- package/public/stores/functions-store.js +1 -1
- package/public/stores/okdb-store.js +1 -1
- package/public/stores/theme-store.js +1 -1
- package/public/util/permissions.js +1 -1
- package/public/util/sift-schema.js +1 -1
- package/public/view-models/type-query-vm.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x21c942=_0x3d1b;(function(_0x5c126e,_0x2219e6){const _0x1cc2db=_0x3d1b,_0x3292e2=_0x5c126e();while(!![]){try{const _0x3e7437=parseInt(_0x1cc2db(0x72))/0x1+parseInt(_0x1cc2db(0x84))/0x2*(-parseInt(_0x1cc2db(0x77))/0x3)+-parseInt(_0x1cc2db(0x9f))/0x4+-parseInt(_0x1cc2db(0x8c))/0x5*(-parseInt(_0x1cc2db(0xab))/0x6)+parseInt(_0x1cc2db(0x6e))/0x7+-parseInt(_0x1cc2db(0x9b))/0x8+-parseInt(_0x1cc2db(0xa6))/0x9*(-parseInt(_0x1cc2db(0xa2))/0xa);if(_0x3e7437===_0x2219e6)break;else _0x3292e2['push'](_0x3292e2['shift']());}catch(_0x19ba67){_0x3292e2['push'](_0x3292e2['shift']());}}}(_0x50c6,0x4f2a9));function _0x3d1b(_0xb42faa,_0x2572f7){_0xb42faa=_0xb42faa-0x6e;const _0x50c61a=_0x50c6();let _0x3d1bc1=_0x50c61a[_0xb42faa];return _0x3d1bc1;}import _0x11b90e,{ALL_EVENTS as _0x59782f}from'../../../stores/events-store.js';const t={'info':_0x21c942(0x90),'warn':_0x21c942(0x7b),'error':'var(--okdb-danger)','debug':_0x21c942(0x89)},n={'engine':_0x21c942(0x90),'type':'var(--okdb-purple)','index':_0x21c942(0x7b),'embeddings':_0x21c942(0x9c),'system':'var(--okdb-success)','sync':_0x21c942(0x81),'queue':_0x21c942(0xa7),'processor':'#f472b6','fts':_0x21c942(0xa1),'env':_0x21c942(0x8d),'txn':_0x21c942(0x89),'item':'var(--okdb-app-fg)','relay':_0x21c942(0x82)};Object[_0x21c942(0xa5)](n);export default{'tag':_0x21c942(0x7d),'attr':{'initialSource':{}},'context':_0x20e78a=>({'source':_0x20e78a[_0x21c942(0x73)]['initialSource']||_0x21c942(0x80),'eventNs':null,'level':null,'feature':null,'env':null,'search':'','autoScroll':!0x0,'_listRef':null,'_unsubs':[],get 'connected'(){return _0x11b90e['connected'];},get 'streamError'(){return _0x11b90e['error'];},get 'entries'(){const _0x6076d7=_0x21c942;let _0x347563=_0x11b90e[_0x6076d7(0x8b)];if(_0x6076d7(0x96)===this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x3b7e3e=>'log'===_0x3b7e3e['_kind'])),_0x6076d7(0x8e)===this['source']&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x30b501=>_0x6076d7(0x8e)===_0x30b501['_kind'])),this[_0x6076d7(0x79)]&&_0x6076d7(0x96)!==this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x4d5ea3=>_0x6076d7(0x8e)!==_0x4d5ea3[_0x6076d7(0xa9)]||(_0x4d5ea3[_0x6076d7(0x86)]??'')['startsWith'](this[_0x6076d7(0x79)]+':'))),this['level']&&_0x6076d7(0x8e)!==this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x3d8d20=>_0x6076d7(0x96)!==_0x3d8d20[_0x6076d7(0xa9)]||_0x3d8d20[_0x6076d7(0x85)]===this[_0x6076d7(0x85)])),this[_0x6076d7(0x94)]&&'event'!==this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x17ca5e=>'log'!==_0x17ca5e[_0x6076d7(0xa9)]||_0x17ca5e[_0x6076d7(0xaa)]?.['feature']===this[_0x6076d7(0x94)])),this['env']&&_0x6076d7(0x8e)!==this['source']&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x29e5f4=>_0x6076d7(0x96)!==_0x29e5f4[_0x6076d7(0xa9)]||_0x29e5f4[_0x6076d7(0xaa)]?.['env']===this[_0x6076d7(0x99)])),this['search']){const _0x3e493e=this[_0x6076d7(0x7f)][_0x6076d7(0xa4)]();_0x347563=_0x347563[_0x6076d7(0xa0)](_0xe152ce=>_0x6076d7(0x96)===_0xe152ce[_0x6076d7(0xa9)]?(_0xe152ce['msg']??'')['toLowerCase']()['includes'](_0x3e493e)||this[_0x6076d7(0x70)](_0xe152ce[_0x6076d7(0x7c)])[_0x6076d7(0xa4)]()['includes'](_0x3e493e)||this[_0x6076d7(0x70)](_0xe152ce[_0x6076d7(0xaa)])['toLowerCase']()[_0x6076d7(0x6f)](_0x3e493e):_0x6076d7(0x8e)===_0xe152ce[_0x6076d7(0xa9)]&&((_0xe152ce[_0x6076d7(0x86)]??'')[_0x6076d7(0xa4)]()[_0x6076d7(0x6f)](_0x3e493e)||this[_0x6076d7(0x9d)](_0xe152ce)[_0x6076d7(0xa4)]()[_0x6076d7(0x6f)](_0x3e493e)));}return _0x347563;},get 'totalCount'(){const _0x133fba=_0x21c942;return _0x11b90e['activity'][_0x133fba(0x76)];},get 'filteredCount'(){const _0x7fcdd4=_0x21c942;return this['entries'][_0x7fcdd4(0x76)];},get 'hasFeatures'(){const _0xcf26f3=_0x21c942;return _0x11b90e[_0xcf26f3(0x8b)][_0xcf26f3(0x93)](_0x3d04a1=>_0xcf26f3(0x96)===_0x3d04a1[_0xcf26f3(0xa9)]&&_0x3d04a1[_0xcf26f3(0xaa)]?.['feature']);},get 'featureList'(){const _0x248569=_0x21c942;return[...new Set(_0x11b90e['activity'][_0x248569(0xa0)](_0x65bec5=>_0x248569(0x96)===_0x65bec5[_0x248569(0xa9)]&&_0x65bec5[_0x248569(0xaa)]?.[_0x248569(0x94)])[_0x248569(0x78)](_0x2c175d=>_0x2c175d['meta'][_0x248569(0x94)]))][_0x248569(0x7a)]();},get 'hasEnvs'(){const _0x44ec30=_0x21c942;return _0x11b90e[_0x44ec30(0x8b)][_0x44ec30(0x93)](_0x2e5b46=>'log'===_0x2e5b46[_0x44ec30(0xa9)]&&_0x2e5b46[_0x44ec30(0xaa)]?.[_0x44ec30(0x99)]);},get 'envList'(){const _0x4bc102=_0x21c942;return[...new Set(_0x11b90e[_0x4bc102(0x8b)][_0x4bc102(0xa0)](_0x36dda1=>_0x4bc102(0x96)===_0x36dda1[_0x4bc102(0xa9)]&&_0x36dda1['meta']?.[_0x4bc102(0x99)])[_0x4bc102(0x78)](_0x2e8a1d=>_0x2e8a1d[_0x4bc102(0xaa)][_0x4bc102(0x99)]))]['sort']();},'setSource'(_0x122a00){const _0x1fa20d=_0x21c942;this[_0x1fa20d(0x71)]=_0x122a00,_0x1fa20d(0x96)===_0x122a00&&(this[_0x1fa20d(0x79)]=null),_0x1fa20d(0x8e)===_0x122a00&&(this[_0x1fa20d(0x85)]=null,this[_0x1fa20d(0x94)]=null,this['env']=null);},'toggleNs'(_0x50990a){const _0x150686=_0x21c942;this[_0x150686(0x79)]=this[_0x150686(0x79)]===_0x50990a?null:_0x50990a;},'toggleLevel'(_0x154b6c){const _0x1e385e=_0x21c942;this[_0x1e385e(0x85)]=this['level']===_0x154b6c?null:_0x154b6c;},'toggleFeature'(_0xa4c4d5){const _0x1adf09=_0x21c942;this['feature']=this[_0x1adf09(0x94)]===_0xa4c4d5?null:_0xa4c4d5;},'toggleEnv'(_0x56718d){const _0xf2eadc=_0x21c942;this['env']=this[_0xf2eadc(0x99)]===_0x56718d?null:_0x56718d;},'clear'(){_0x11b90e['clearActivity']();},'scrollToBottom'(){const _0x40b79e=this['_listRef'];_0x40b79e&&requestAnimationFrame(()=>{const _0x269bce=_0x3d1b;_0x40b79e[_0x269bce(0x8f)]=_0x40b79e[_0x269bce(0x83)];});},'levelColor':_0xe70697=>t[_0xe70697]??'#ccc','nsColor':_0x2f5387=>function(_0x1d33aa){const _0x4fafa4=_0x21c942,_0x1fd7c3=(_0x1d33aa||'')['split'](':')[0x0];return n[_0x1fd7c3]??_0x4fafa4(0x89);}(_0x2f5387),'fmtTime'(_0x2b3a00){const _0x12f0f3=_0x21c942;if(!_0x2b3a00)return'';const _0x14febf=new Date(_0x2b3a00);return _0x14febf[_0x12f0f3(0x88)]()['slice'](0x0,0x8)+'.'+String(_0x14febf[_0x12f0f3(0xa8)]())[_0x12f0f3(0x97)](0x3,'0');},'_metaStr'(_0x613981){const _0x5009de=_0x21c942;if(null==_0x613981)return'';if('string'==typeof _0x613981)return _0x613981;try{return JSON[_0x5009de(0xac)](_0x613981);}catch{return String(_0x613981);}},'fmtMeta'(_0x595924){return this['_metaStr'](_0x595924);},'_payloadStr'(_0x5d6839){const _0x7b65a=_0x21c942;if(_0x5d6839[_0x7b65a(0x92)])return _0x5d6839[_0x7b65a(0x92)];if(_0x5d6839['type'])return _0x5d6839[_0x7b65a(0x8a)];if(_0x5d6839[_0x7b65a(0x75)])return _0x5d6839['pipeline'];if(_0x5d6839['key'])return _0x5d6839[_0x7b65a(0x91)];const _0x42fbe4=new Set([_0x7b65a(0xa9),_0x7b65a(0x86),'_ts','ts']),_0x4720dd=[];for(const [_0x20ce3b,_0x592a52]of Object[_0x7b65a(0x95)](_0x5d6839)){if(_0x42fbe4[_0x7b65a(0x98)](_0x20ce3b))continue;const _0x379c20=_0x7b65a(0x74)==typeof _0x592a52?JSON['stringify'](_0x592a52):String(_0x592a52);if(_0x4720dd['push'](_0x20ce3b+':'+_0x379c20),_0x4720dd[_0x7b65a(0x76)]>=0x2)break;}return _0x4720dd[_0x7b65a(0x87)]('\x20\x20');},'fmtPayload'(_0x116271){const _0x127ba7=_0x21c942;return this[_0x127ba7(0x9d)](_0x116271);}}),'mount'(){const _0xffc6d=_0x21c942,_0x41e86e=['log',..._0x59782f][_0xffc6d(0x78)](_0x2f278a=>_0x11b90e['on'](_0x2f278a,()=>{const _0x2ea105=_0xffc6d;this[_0x2ea105(0x9a)]&&this['scrollToBottom']();}));this[_0xffc6d(0xa3)]=_0x41e86e,this[_0xffc6d(0x9a)]&&this[_0xffc6d(0x7e)]();},'unmount'(){const _0x355020=_0x21c942;for(const _0x22bf2b of this[_0x355020(0xa3)])_0x22bf2b();this['_unsubs']=[];},'template':_0x21c942(0x9e),'style':'@keyframes\x20dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.syslog{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--okdb-app-bg-deep);border-radius:12px;overflow:hidden;border:1px\x20solid\x20var(--okdb-app-border)}.syslog__toolbar{display:flex;align-items:center;gap:6px;padding:7px\x2010px;background:var(--okdb-app-surface);border-bottom:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;flex-wrap:wrap}.syslog__toolbar--sub{padding:5px\x2010px;background:var(--okdb-app-bg-deep);border-bottom:1px\x20solid\x20var(--okdb-app-surface)}.syslog__title{font-weight:600;font-size:13px;white-space:nowrap;margin-right:2px}.syslog__sublabel{font-size:10px;opacity:.45;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;width:60px;flex-shrink:0}.syslog__spacer{flex:1}.syslog__pills{display:flex;gap:3px;flex-wrap:wrap}.syslog__search{background:var(--okdb-app-border);border:1px\x20solid\x20var(--okdb-app-border-strong);border-radius:6px;color:var(--okdb-warning);padding:3px\x208px;font-size:12px;width:110px;outline:0}.syslog__search:focus{border-color:var(--okdb-accent)}.pill,.syslog__count{font-size:11px;white-space:nowrap}.syslog__count{opacity:.4}.pill{border:1px\x20solid\x20var(--okdb-app-border);background:0\x200;padding:2px\x209px;border-radius:999px;cursor:pointer;color:var(--okdb-app-fg-faint);transition:border-color\x20.12s,color\x20.12s,background\x20.12s}.pill:hover{border-color:var(--okdb-app-fg-muted);color:var(--okdb-app-fg-muted)}.pill--on{border-color:var(--okdb-accent);background:var(--okdb-app-surface-2)}.pill--log,.pill--on{color:var(--okdb-accent)}.pill--event{color:var(--okdb-purple)}.syslog__list{flex:1;overflow-y:auto;font-family:monospace;font-size:12px;padding:2px\x200;min-height:0}.syslog__row{display:flex;gap:8px;padding:2px\x2010px;border-bottom:1px\x20solid\x20var(--okdb-app-bg-deep);align-items:baseline;min-height:20px}.syslog__row--event,.syslog__row:hover{background:var(--okdb-app-surface)}.syslog__row--event:hover{background:var(--okdb-app-surface-2)}.syslog__ts{color:var(--okdb-app-fg-muted);flex-shrink:0;font-size:11px;user-select:none;width:86px}.syslog__level{width:40px;flex-shrink:0;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.syslog__evtag{flex-shrink:0;font-size:10px;padding:1px\x206px;border-radius:4px;border:1px\x20solid;white-space:nowrap;letter-spacing:.02em}.syslog__msg{flex:1;white-space:pre-wrap;word-break:break-word;color:var(--okdb-app-fg);min-width:0}.syslog__meta,.syslog__msg--dim{color:var(--okdb-app-fg-muted)}.syslog__meta{font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;cursor:default}.syslog__empty{padding:24px\x2014px;opacity:.4;font-style:italic;font-size:12px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x205px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:dot-pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}'};function _0x50c6(){const _0x2810a4=['5uhTbKU','#67e8f9','event','scrollTop','var(--okdb-accent)','key','engine','some','feature','entries','log','padStart','has','env','autoScroll','3306936LrduYL','#2dd4bf','_payloadStr','\x0a<div\x20class=\x22syslog\x22>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x201:\x20title\x20+\x20source\x20toggle\x20+\x20search\x20+\x20controls\x20-->\x0a\x20\x20<div\x20class=\x22syslog__toolbar\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__title\x22>Activity</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Source\x20pills\x20-->\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27all\x27)\x22\x20\x20\x20:class=\x22source===\x27all\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27log\x27)\x22\x20\x20\x20:class=\x22source===\x27log\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x20pill--log\x27\x20\x20\x20:\x20\x27pill\x20pill--log\x27\x22>Logs</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27event\x27)\x22\x20:class=\x22source===\x27event\x27\x20?\x20\x27pill\x20pill--on\x20pill--event\x27\x20:\x20\x27pill\x20pill--event\x27\x22>Events</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__spacer\x22></div>\x0a\x0a\x20\x20\x20\x20<!--\x20Search\x20-->\x0a\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20class=\x22syslog__search\x22\x0a\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22Filter…\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22search\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<!--\x20Auto-scroll\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22autoScroll\x20=\x20!autoScroll\x22\x20:class=\x22autoScroll\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20title=\x22Auto-scroll\x20to\x20newest\x22>↓\x20Auto</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Clear\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22clear()\x22\x20class=\x22pill\x20syslog__clear\x22>Clear</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Count\x20-->\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__count\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20filteredCount\x20}}\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22filteredCount\x20!==\x20totalCount\x22>\x20/\x20{{\x20totalCount\x20}}</if>\x0a\x20\x20\x20\x20</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Stream\x20dot\x20-->\x0a\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22\x20:title=\x22connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20||\x20\x27Disconnected\x27)\x22></span>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x202:\x20secondary\x20filters\x20(level\x20for\x20logs,\x20namespace\x20for\x20events)\x20-->\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Level</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(null)\x22\x20\x20\x20\x20:class=\x22level\x20==\x20null\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27info\x27)\x22\x20\x20:class=\x22level===\x27info\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>info</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27warn\x27)\x22\x20\x20:class=\x22level===\x27warn\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>warn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27error\x27)\x22\x20:class=\x22level===\x27error\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-danger)\x22>error</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27debug\x27)\x22\x20:class=\x22level===\x27debug\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>debug</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<if\x20:=\x22hasFeatures\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Feature</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(null)\x22\x20:class=\x22feature\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22featureList\x22\x20let:item=\x22s\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(s)\x22\x20:class=\x22feature\x20===\x20s\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20s\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<if\x20:=\x22hasEnvs\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Env</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(null)\x22\x20:class=\x22env\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22envList\x22\x20let:item=\x22e\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(e)\x22\x20:class=\x22env\x20===\x20e\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20e\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Namespace</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(null)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs==null\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27engine\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27engine\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>engine</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27type\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27type\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-purple)\x22>type</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27index\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27index\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>index</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27embeddings\x27)\x22\x20\x20:class=\x22eventNs===\x27embeddings\x27\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#2dd4bf\x22>embeddings</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27system\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27system\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>system</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27sync\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27sync\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-orange)\x22>sync</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27queue\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27queue\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-indigo)\x22>queue</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27processor\x27)\x22\x20\x20\x20:class=\x22eventNs===\x27processor\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#f472b6\x22>processor</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27fts\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27fts\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>fts</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27env\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27env\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#67e8f9\x22>env</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27txn\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27txn\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>txn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27item\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27item\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg)\x22>item</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20Activity\x20list\x20-->\x0a\x20\x20<div\x20class=\x22syslog__list\x22\x20:ref=\x22_listRef\x20=\x20$el\x22>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22entries.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__empty\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!connected\x22>Connecting\x20to\x20event\x20stream…</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20===\x200\x22>No\x20activity\x20yet.</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20>\x200\x22>No\x20entries\x20match\x20the\x20current\x20filter.</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<each\x20:of=\x22entries\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20:class=\x22entry._kind\x20===\x20\x27event\x27\x20?\x20\x27syslog__row\x20syslog__row--event\x27\x20:\x20\x27syslog__row\x27\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Timestamp\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__ts\x22>{{\x20fmtTime(entry._ts)\x20}}</span>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20LOG\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__level\x22\x20:style=\x22\x27color:\x27\x20+\x20levelColor(entry.level)\x22>{{\x20entry.level\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x22>{{\x20entry.msg\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.meta?.feature\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20style=\x22opacity:.6\x22\x20:title=\x22fmtMeta(entry.meta)\x22>{{\x20entry.meta.feature\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.context\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20:title=\x22fmtMeta(entry.context)\x22>{{\x20fmtMeta(entry.context)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20EVENT\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22syslog__evtag\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x27;\x20border-color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x2744\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{\x20entry._event\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x20syslog__msg--dim\x22>{{\x20fmtPayload(entry)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</each>\x0a\x0a\x20\x20</div>\x0a\x0a</div>\x0a','2492124BqpnYJ','filter','var(--okdb-success)','7190kXRWSp','_unsubs','toLowerCase','keys','8172ULOEnK','var(--okdb-indigo)','getMilliseconds','_kind','meta','2761746Atsrkc','stringify','2497516ctqdqb','includes','_metaStr','source','193177pfAkiz','$attr','object','pipeline','length','13959Omqxxz','map','eventNs','sort','var(--okdb-warning)','context','system-log','scrollToBottom','search','all','var(--okdb-orange)','var(--okdb-danger)','scrollHeight','130lUphlu','level','_event','join','toTimeString','var(--okdb-app-fg-muted)','type','activity'];_0x50c6=function(){return _0x2810a4;};return _0x50c6();}
|
|
1
|
+
function _0xb115(_0x65b29e,_0x35fbfe){_0x65b29e=_0x65b29e-0x1e2;const _0x3338a7=_0x3338();let _0xb11583=_0x3338a7[_0x65b29e];return _0xb11583;}function _0x3338(){const _0x320a2c=['pipeline','_unsubs','autoScroll','engine','419296zDSRNn','activity','855xMhBmm','toTimeString','toLowerCase','_event','map','59507OwAifq','#2dd4bf','log','includes','var(--okdb-success)','var(--okdb-app-fg-muted)','has','length','level','all','getMilliseconds','env','string','split','9WAHGxl','system-log','join','push','scrollTop','_kind','keys','slice','var(--okdb-danger)','sort','initialSource','_payloadStr','msg','#f472b6','event','padStart','filter','startsWith','eventNs','key','702bTsuar','#ccc','_metaStr','type','object','$attr','56739OXRpjb','entries','error','var(--okdb-purple)','1205776aBhGmM','3999980fbEzpk','_ts','feature','var(--okdb-warning)','some','source','search','10zbvFSy','2161GKkRXV','meta'];_0x3338=function(){return _0x320a2c;};return _0x3338();}const _0x43ad81=_0xb115;(function(_0x532a4d,_0x56f67e){const _0x5c1ec9=_0xb115,_0x57c7bf=_0x532a4d();while(!![]){try{const _0x5f07ad=-parseInt(_0x5c1ec9(0x206))/0x1*(parseInt(_0x5c1ec9(0x205))/0x2)+-parseInt(_0x5c1ec9(0x1f9))/0x3+-parseInt(_0x5c1ec9(0x20c))/0x4+parseInt(_0x5c1ec9(0x20e))/0x5*(parseInt(_0x5c1ec9(0x1f3))/0x6)+-parseInt(_0x5c1ec9(0x213))/0x7+-parseInt(_0x5c1ec9(0x1fd))/0x8+parseInt(_0x5c1ec9(0x221))/0x9*(parseInt(_0x5c1ec9(0x1fe))/0xa);if(_0x5f07ad===_0x56f67e)break;else _0x57c7bf['push'](_0x57c7bf['shift']());}catch(_0x26599a){_0x57c7bf['push'](_0x57c7bf['shift']());}}}(_0x3338,0x1ed20));import _0x2d53d3,{ALL_EVENTS as _0x788b97}from'../../../stores/events-store.js';const t={'info':'var(--okdb-accent)','warn':'var(--okdb-warning)','error':_0x43ad81(0x1e7),'debug':'var(--okdb-app-fg-muted)'},n={'engine':'var(--okdb-accent)','type':_0x43ad81(0x1fc),'index':_0x43ad81(0x201),'embeddings':_0x43ad81(0x214),'system':_0x43ad81(0x217),'sync':'var(--okdb-orange)','queue':'var(--okdb-indigo)','processor':_0x43ad81(0x1ec),'fts':'var(--okdb-success)','env':'#67e8f9','txn':_0x43ad81(0x218),'item':'var(--okdb-app-fg)','relay':_0x43ad81(0x1e7)};Object[_0x43ad81(0x1e5)](n);export default{'tag':_0x43ad81(0x222),'attr':{'initialSource':{}},'context':_0x48cd38=>({'source':_0x48cd38[_0x43ad81(0x1f8)][_0x43ad81(0x1e9)]||_0x43ad81(0x21c),'eventNs':null,'level':null,'feature':null,'env':null,'search':'','autoScroll':!0x0,'_listRef':null,'_unsubs':[],get 'connected'(){return _0x2d53d3['connected'];},get 'streamError'(){const _0x35b2ec=_0x43ad81;return _0x2d53d3[_0x35b2ec(0x1fb)];},get 'entries'(){const _0x5ea6a1=_0x43ad81;let _0x63ca8d=_0x2d53d3['activity'];if(_0x5ea6a1(0x215)===this[_0x5ea6a1(0x203)]&&(_0x63ca8d=_0x63ca8d[_0x5ea6a1(0x1ef)](_0x269399=>_0x5ea6a1(0x215)===_0x269399[_0x5ea6a1(0x1e4)])),_0x5ea6a1(0x1ed)===this[_0x5ea6a1(0x203)]&&(_0x63ca8d=_0x63ca8d['filter'](_0x43a22f=>_0x5ea6a1(0x1ed)===_0x43a22f[_0x5ea6a1(0x1e4)])),this[_0x5ea6a1(0x1f1)]&&_0x5ea6a1(0x215)!==this[_0x5ea6a1(0x203)]&&(_0x63ca8d=_0x63ca8d[_0x5ea6a1(0x1ef)](_0x21518a=>'event'!==_0x21518a[_0x5ea6a1(0x1e4)]||(_0x21518a[_0x5ea6a1(0x211)]??'')[_0x5ea6a1(0x1f0)](this[_0x5ea6a1(0x1f1)]+':'))),this[_0x5ea6a1(0x21b)]&&_0x5ea6a1(0x1ed)!==this[_0x5ea6a1(0x203)]&&(_0x63ca8d=_0x63ca8d[_0x5ea6a1(0x1ef)](_0x395910=>_0x5ea6a1(0x215)!==_0x395910['_kind']||_0x395910[_0x5ea6a1(0x21b)]===this[_0x5ea6a1(0x21b)])),this[_0x5ea6a1(0x200)]&&_0x5ea6a1(0x1ed)!==this[_0x5ea6a1(0x203)]&&(_0x63ca8d=_0x63ca8d[_0x5ea6a1(0x1ef)](_0x9671b1=>'log'!==_0x9671b1[_0x5ea6a1(0x1e4)]||_0x9671b1[_0x5ea6a1(0x207)]?.['feature']===this[_0x5ea6a1(0x200)])),this[_0x5ea6a1(0x21e)]&&'event'!==this[_0x5ea6a1(0x203)]&&(_0x63ca8d=_0x63ca8d['filter'](_0x4787fb=>_0x5ea6a1(0x215)!==_0x4787fb[_0x5ea6a1(0x1e4)]||_0x4787fb[_0x5ea6a1(0x207)]?.[_0x5ea6a1(0x21e)]===this[_0x5ea6a1(0x21e)])),this[_0x5ea6a1(0x204)]){const _0x517b87=this[_0x5ea6a1(0x204)][_0x5ea6a1(0x210)]();_0x63ca8d=_0x63ca8d[_0x5ea6a1(0x1ef)](_0x333873=>_0x5ea6a1(0x215)===_0x333873[_0x5ea6a1(0x1e4)]?(_0x333873[_0x5ea6a1(0x1eb)]??'')['toLowerCase']()[_0x5ea6a1(0x216)](_0x517b87)||this[_0x5ea6a1(0x1f5)](_0x333873['context'])[_0x5ea6a1(0x210)]()['includes'](_0x517b87)||this[_0x5ea6a1(0x1f5)](_0x333873[_0x5ea6a1(0x207)])[_0x5ea6a1(0x210)]()[_0x5ea6a1(0x216)](_0x517b87):_0x5ea6a1(0x1ed)===_0x333873[_0x5ea6a1(0x1e4)]&&((_0x333873[_0x5ea6a1(0x211)]??'')[_0x5ea6a1(0x210)]()[_0x5ea6a1(0x216)](_0x517b87)||this[_0x5ea6a1(0x1ea)](_0x333873)['toLowerCase']()[_0x5ea6a1(0x216)](_0x517b87)));}return _0x63ca8d;},get 'totalCount'(){const _0x5bab8f=_0x43ad81;return _0x2d53d3[_0x5bab8f(0x20d)]['length'];},get 'filteredCount'(){const _0x3751e2=_0x43ad81;return this[_0x3751e2(0x1fa)][_0x3751e2(0x21a)];},get 'hasFeatures'(){const _0x2ff34c=_0x43ad81;return _0x2d53d3[_0x2ff34c(0x20d)][_0x2ff34c(0x202)](_0x56c7b5=>_0x2ff34c(0x215)===_0x56c7b5[_0x2ff34c(0x1e4)]&&_0x56c7b5[_0x2ff34c(0x207)]?.[_0x2ff34c(0x200)]);},get 'featureList'(){const _0x47ec34=_0x43ad81;return[...new Set(_0x2d53d3[_0x47ec34(0x20d)][_0x47ec34(0x1ef)](_0x37d22d=>_0x47ec34(0x215)===_0x37d22d[_0x47ec34(0x1e4)]&&_0x37d22d[_0x47ec34(0x207)]?.[_0x47ec34(0x200)])[_0x47ec34(0x212)](_0x3b67b1=>_0x3b67b1[_0x47ec34(0x207)][_0x47ec34(0x200)]))][_0x47ec34(0x1e8)]();},get 'hasEnvs'(){const _0x18e643=_0x43ad81;return _0x2d53d3[_0x18e643(0x20d)][_0x18e643(0x202)](_0x50f6a2=>_0x18e643(0x215)===_0x50f6a2[_0x18e643(0x1e4)]&&_0x50f6a2[_0x18e643(0x207)]?.[_0x18e643(0x21e)]);},get 'envList'(){const _0x5be18f=_0x43ad81;return[...new Set(_0x2d53d3[_0x5be18f(0x20d)]['filter'](_0x2a05d0=>_0x5be18f(0x215)===_0x2a05d0[_0x5be18f(0x1e4)]&&_0x2a05d0[_0x5be18f(0x207)]?.[_0x5be18f(0x21e)])[_0x5be18f(0x212)](_0x360624=>_0x360624[_0x5be18f(0x207)][_0x5be18f(0x21e)]))]['sort']();},'setSource'(_0x23fbb1){const _0x123174=_0x43ad81;this[_0x123174(0x203)]=_0x23fbb1,_0x123174(0x215)===_0x23fbb1&&(this['eventNs']=null),'event'===_0x23fbb1&&(this[_0x123174(0x21b)]=null,this['feature']=null,this[_0x123174(0x21e)]=null);},'toggleNs'(_0x1fd01d){const _0x1f2dd1=_0x43ad81;this[_0x1f2dd1(0x1f1)]=this[_0x1f2dd1(0x1f1)]===_0x1fd01d?null:_0x1fd01d;},'toggleLevel'(_0x7fadf9){const _0x5be33d=_0x43ad81;this['level']=this[_0x5be33d(0x21b)]===_0x7fadf9?null:_0x7fadf9;},'toggleFeature'(_0x2845ec){const _0x24d101=_0x43ad81;this[_0x24d101(0x200)]=this[_0x24d101(0x200)]===_0x2845ec?null:_0x2845ec;},'toggleEnv'(_0x5b27c7){const _0x3cecab=_0x43ad81;this[_0x3cecab(0x21e)]=this[_0x3cecab(0x21e)]===_0x5b27c7?null:_0x5b27c7;},'clear'(){_0x2d53d3['clearActivity']();},'scrollToBottom'(){const _0x158286=this['_listRef'];_0x158286&&requestAnimationFrame(()=>{const _0x214408=_0xb115;_0x158286[_0x214408(0x1e3)]=_0x158286['scrollHeight'];});},'levelColor':_0x24077e=>t[_0x24077e]??_0x43ad81(0x1f4),'nsColor':_0x311435=>function(_0x6e9256){const _0x22067=_0x43ad81,_0x252d7c=(_0x6e9256||'')[_0x22067(0x220)](':')[0x0];return n[_0x252d7c]??'var(--okdb-app-fg-muted)';}(_0x311435),'fmtTime'(_0x3fd1ca){const _0x28f383=_0x43ad81;if(!_0x3fd1ca)return'';const _0x27b851=new Date(_0x3fd1ca);return _0x27b851[_0x28f383(0x20f)]()[_0x28f383(0x1e6)](0x0,0x8)+'.'+String(_0x27b851[_0x28f383(0x21d)]())[_0x28f383(0x1ee)](0x3,'0');},'_metaStr'(_0x5a5336){const _0x1b9840=_0x43ad81;if(null==_0x5a5336)return'';if(_0x1b9840(0x21f)==typeof _0x5a5336)return _0x5a5336;try{return JSON['stringify'](_0x5a5336);}catch{return String(_0x5a5336);}},'fmtMeta'(_0x1061c7){return this['_metaStr'](_0x1061c7);},'_payloadStr'(_0x3055b8){const _0x41b0a2=_0x43ad81;if(_0x3055b8['engine'])return _0x3055b8[_0x41b0a2(0x20b)];if(_0x3055b8[_0x41b0a2(0x1f6)])return _0x3055b8[_0x41b0a2(0x1f6)];if(_0x3055b8[_0x41b0a2(0x208)])return _0x3055b8['pipeline'];if(_0x3055b8[_0x41b0a2(0x1f2)])return _0x3055b8[_0x41b0a2(0x1f2)];const _0x1ae49a=new Set(['_kind',_0x41b0a2(0x211),_0x41b0a2(0x1ff),'ts']),_0xc82da=[];for(const [_0x228dfe,_0x617ab1]of Object['entries'](_0x3055b8)){if(_0x1ae49a[_0x41b0a2(0x219)](_0x228dfe))continue;const _0x334a88=_0x41b0a2(0x1f7)==typeof _0x617ab1?JSON['stringify'](_0x617ab1):String(_0x617ab1);if(_0xc82da[_0x41b0a2(0x1e2)](_0x228dfe+':'+_0x334a88),_0xc82da['length']>=0x2)break;}return _0xc82da[_0x41b0a2(0x223)]('\x20\x20');},'fmtPayload'(_0xfb5f37){const _0x183540=_0x43ad81;return this[_0x183540(0x1ea)](_0xfb5f37);}}),'mount'(){const _0x3a4fad=_0x43ad81,_0x2ccd5f=['log',..._0x788b97][_0x3a4fad(0x212)](_0x429279=>_0x2d53d3['on'](_0x429279,()=>{this['autoScroll']&&this['scrollToBottom']();}));this['_unsubs']=_0x2ccd5f,this[_0x3a4fad(0x20a)]&&this['scrollToBottom']();},'unmount'(){const _0x2d1950=_0x43ad81;for(const _0x42df3d of this[_0x2d1950(0x209)])_0x42df3d();this[_0x2d1950(0x209)]=[];},'template':'\x0a<div\x20class=\x22syslog\x22>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x201:\x20title\x20+\x20source\x20toggle\x20+\x20search\x20+\x20controls\x20-->\x0a\x20\x20<div\x20class=\x22syslog__toolbar\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__title\x22>Activity</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Source\x20pills\x20-->\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27all\x27)\x22\x20\x20\x20:class=\x22source===\x27all\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27log\x27)\x22\x20\x20\x20:class=\x22source===\x27log\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x20pill--log\x27\x20\x20\x20:\x20\x27pill\x20pill--log\x27\x22>Logs</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27event\x27)\x22\x20:class=\x22source===\x27event\x27\x20?\x20\x27pill\x20pill--on\x20pill--event\x27\x20:\x20\x27pill\x20pill--event\x27\x22>Events</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__spacer\x22></div>\x0a\x0a\x20\x20\x20\x20<!--\x20Search\x20-->\x0a\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20class=\x22syslog__search\x22\x0a\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22Filter…\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22search\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<!--\x20Auto-scroll\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22autoScroll\x20=\x20!autoScroll\x22\x20:class=\x22autoScroll\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20title=\x22Auto-scroll\x20to\x20newest\x22>↓\x20Auto</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Clear\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22clear()\x22\x20class=\x22pill\x20syslog__clear\x22>Clear</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Count\x20-->\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__count\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20filteredCount\x20}}\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22filteredCount\x20!==\x20totalCount\x22>\x20/\x20{{\x20totalCount\x20}}</if>\x0a\x20\x20\x20\x20</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Stream\x20dot\x20-->\x0a\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22\x20:title=\x22connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20||\x20\x27Disconnected\x27)\x22></span>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x202:\x20secondary\x20filters\x20(level\x20for\x20logs,\x20namespace\x20for\x20events)\x20-->\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Level</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(null)\x22\x20\x20\x20\x20:class=\x22level\x20==\x20null\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27info\x27)\x22\x20\x20:class=\x22level===\x27info\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>info</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27warn\x27)\x22\x20\x20:class=\x22level===\x27warn\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>warn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27error\x27)\x22\x20:class=\x22level===\x27error\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-danger)\x22>error</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27debug\x27)\x22\x20:class=\x22level===\x27debug\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>debug</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<if\x20:=\x22hasFeatures\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Feature</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(null)\x22\x20:class=\x22feature\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22featureList\x22\x20let:item=\x22s\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(s)\x22\x20:class=\x22feature\x20===\x20s\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20s\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<if\x20:=\x22hasEnvs\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Env</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(null)\x22\x20:class=\x22env\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22envList\x22\x20let:item=\x22e\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(e)\x22\x20:class=\x22env\x20===\x20e\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20e\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Namespace</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(null)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs==null\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27engine\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27engine\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>engine</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27type\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27type\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-purple)\x22>type</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27index\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27index\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>index</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27embeddings\x27)\x22\x20\x20:class=\x22eventNs===\x27embeddings\x27\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#2dd4bf\x22>embeddings</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27system\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27system\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>system</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27sync\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27sync\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-orange)\x22>sync</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27queue\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27queue\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-indigo)\x22>queue</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27processor\x27)\x22\x20\x20\x20:class=\x22eventNs===\x27processor\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#f472b6\x22>processor</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27fts\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27fts\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>fts</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27env\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27env\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#67e8f9\x22>env</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27txn\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27txn\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>txn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27item\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27item\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg)\x22>item</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20Activity\x20list\x20-->\x0a\x20\x20<div\x20class=\x22syslog__list\x22\x20:ref=\x22_listRef\x20=\x20$el\x22>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22entries.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__empty\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!connected\x22>Connecting\x20to\x20event\x20stream…</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20===\x200\x22>No\x20activity\x20yet.</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20>\x200\x22>No\x20entries\x20match\x20the\x20current\x20filter.</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<each\x20:of=\x22entries\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20:class=\x22entry._kind\x20===\x20\x27event\x27\x20?\x20\x27syslog__row\x20syslog__row--event\x27\x20:\x20\x27syslog__row\x27\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Timestamp\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__ts\x22>{{\x20fmtTime(entry._ts)\x20}}</span>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20LOG\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__level\x22\x20:style=\x22\x27color:\x27\x20+\x20levelColor(entry.level)\x22>{{\x20entry.level\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x22>{{\x20entry.msg\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.meta?.feature\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20style=\x22opacity:.6\x22\x20:title=\x22fmtMeta(entry.meta)\x22>{{\x20entry.meta.feature\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.context\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20:title=\x22fmtMeta(entry.context)\x22>{{\x20fmtMeta(entry.context)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20EVENT\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22syslog__evtag\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x27;\x20border-color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x2744\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{\x20entry._event\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x20syslog__msg--dim\x22>{{\x20fmtPayload(entry)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</each>\x0a\x0a\x20\x20</div>\x0a\x0a</div>\x0a','style':'@keyframes\x20dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.syslog{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--okdb-app-bg-deep);border-radius:12px;overflow:hidden;border:1px\x20solid\x20var(--okdb-app-border)}.syslog__toolbar{display:flex;align-items:center;gap:6px;padding:7px\x2010px;background:var(--okdb-app-surface);border-bottom:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;flex-wrap:wrap}.syslog__toolbar--sub{padding:5px\x2010px;background:var(--okdb-app-bg-deep);border-bottom:1px\x20solid\x20var(--okdb-app-surface)}.syslog__title{font-weight:600;font-size:13px;white-space:nowrap;margin-right:2px}.syslog__sublabel{font-size:10px;opacity:.45;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;width:60px;flex-shrink:0}.syslog__spacer{flex:1}.syslog__pills{display:flex;gap:3px;flex-wrap:wrap}.syslog__search{background:var(--okdb-app-border);border:1px\x20solid\x20var(--okdb-app-border-strong);border-radius:6px;color:var(--okdb-warning);padding:3px\x208px;font-size:12px;width:110px;outline:0}.syslog__search:focus{border-color:var(--okdb-accent)}.pill,.syslog__count{font-size:11px;white-space:nowrap}.syslog__count{opacity:.4}.pill{border:1px\x20solid\x20var(--okdb-app-border);background:0\x200;padding:2px\x209px;border-radius:999px;cursor:pointer;color:var(--okdb-app-fg-faint);transition:border-color\x20.12s,color\x20.12s,background\x20.12s}.pill:hover{border-color:var(--okdb-app-fg-muted);color:var(--okdb-app-fg-muted)}.pill--on{border-color:var(--okdb-accent);background:var(--okdb-app-surface-2)}.pill--log,.pill--on{color:var(--okdb-accent)}.pill--event{color:var(--okdb-purple)}.syslog__list{flex:1;overflow-y:auto;font-family:monospace;font-size:12px;padding:2px\x200;min-height:0}.syslog__row{display:flex;gap:8px;padding:2px\x2010px;border-bottom:1px\x20solid\x20var(--okdb-app-bg-deep);align-items:baseline;min-height:20px}.syslog__row--event,.syslog__row:hover{background:var(--okdb-app-surface)}.syslog__row--event:hover{background:var(--okdb-app-surface-2)}.syslog__ts{color:var(--okdb-app-fg-muted);flex-shrink:0;font-size:11px;user-select:none;width:86px}.syslog__level{width:40px;flex-shrink:0;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.syslog__evtag{flex-shrink:0;font-size:10px;padding:1px\x206px;border-radius:4px;border:1px\x20solid;white-space:nowrap;letter-spacing:.02em}.syslog__msg{flex:1;white-space:pre-wrap;word-break:break-word;color:var(--okdb-app-fg);min-width:0}.syslog__meta,.syslog__msg--dim{color:var(--okdb-app-fg-muted)}.syslog__meta{font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;cursor:default}.syslog__empty{padding:24px\x2014px;opacity:.4;font-style:italic;font-size:12px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x205px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:dot-pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}'};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x22adf2=_0x3ad9;(function(_0x202c72,_0x5c7ea9){const _0x4e1761=_0x3ad9,_0x12fa68=_0x202c72();while(!![]){try{const _0x28fe61=-parseInt(_0x4e1761(0x1f8))/0x1+parseInt(_0x4e1761(0x200))/0x2*(parseInt(_0x4e1761(0x1ea))/0x3)+-parseInt(_0x4e1761(0x1fc))/0x4*(parseInt(_0x4e1761(0x1f7))/0x5)+-parseInt(_0x4e1761(0x1fe))/0x6*(-parseInt(_0x4e1761(0x1ec))/0x7)+-parseInt(_0x4e1761(0x1fd))/0x8*(-parseInt(_0x4e1761(0x1f2))/0x9)+-parseInt(_0x4e1761(0x1fb))/0xa+parseInt(_0x4e1761(0x1f4))/0xb*(parseInt(_0x4e1761(0x1e7))/0xc);if(_0x28fe61===_0x5c7ea9)break;else _0x12fa68['push'](_0x12fa68['shift']());}catch(_0xbb21ef){_0x12fa68['push'](_0x12fa68['shift']());}}}(_0x1f7d,0x5304b));function _0x3ad9(_0x554ab1,_0x229eaa){_0x554ab1=_0x554ab1-0x1e6;const _0x1f7d71=_0x1f7d();let _0x3ad924=_0x1f7d71[_0x554ab1];return _0x3ad924;}import _0x13e13c from'../../../stores/events-store.js';function _0x1f7d(){const _0x126f3a=['type:drop','length','4159143gcGsDL','keys','5467517lieHWT','system:clock_change','clock','458645ljBkLy','291010ZSbaDJ','toFixed','@keyframes\x20pulse{0%,to{opacity:1}50%{opacity:.5}}.status-bar{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.status-card{background:var(--okdb-app-border);border-radius:10px;padding:12px\x2016px;min-width:110px;flex:1}.status-card__label{font-size:11px;opacity:.55;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.status-card__value{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-card__value--mono{font-family:monospace;font-size:11px;letter-spacing:.03em}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x206px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}','1880480kMOShn','28srYLrm','8pDHMWT','156RTAGpF','reloadInfo','335942ezZIKY','error','startsWith','lastPageNumber','_unsub','12GmXRkh','connected','type:registered','6lOShEt','filter','44716frhBQY','system-status','index:registered','info'];_0x1f7d=function(){return _0x126f3a;};return _0x1f7d();}import _0x22f859 from'../../../stores/okdb-store.js';export default{'tag':_0x22adf2(0x1ed),'context':_0x2d61e8=>({get 'connected'(){const _0x26b376=_0x22adf2;return _0x13e13c[_0x26b376(0x1e8)];},get 'streamError'(){const _0x1c9a0c=_0x22adf2;return _0x13e13c[_0x1c9a0c(0x201)];},get 'dbId'(){const _0x3232d7=_0x22adf2;return _0x22f859[_0x3232d7(0x1ef)]?.['id']??'—';},get 'dbSize'(){const _0x5b5d89=_0x22adf2,_0x5b1d82=_0x22f859[_0x5b5d89(0x1ef)];if(!_0x5b1d82)return'—';const _0x44c0c8=(_0x5b1d82[_0x5b5d89(0x203)]??0x0)*(_0x5b1d82['pageSize']??0x1000);if(!_0x44c0c8)return'—';const _0x556629=['B','KB','MB','GB'];let _0x3278f3=_0x44c0c8,_0x5a3bed=0x0;for(;_0x3278f3>=0x400&&_0x5a3bed<_0x556629[_0x5b5d89(0x1f1)]-0x1;)_0x3278f3/=0x400,_0x5a3bed++;return _0x3278f3[_0x5b5d89(0x1f9)](0x1)+'\u00a0'+_0x556629[_0x5a3bed];},get 'typeCount'(){const _0x5aabb2=_0x22adf2,_0x1328ab=_0x22f859[_0x5aabb2(0x1ef)]?.['types'];return _0x1328ab?Object[_0x5aabb2(0x1f3)](_0x1328ab)[_0x5aabb2(0x1eb)](_0x2064fa=>!_0x2064fa[_0x5aabb2(0x202)]('~'))[_0x5aabb2(0x1f1)]:'—';},get 'clock'(){const _0x531e6b=_0x22adf2;return _0x22f859[_0x531e6b(0x1ef)]?.[_0x531e6b(0x1f6)]??'—';},'_unsub':null,async '_refresh'(){const _0x37efa6=_0x22adf2;await _0x22f859[_0x37efa6(0x1ff)]();}}),'mount'(){const _0x48aace=_0x22adf2,_0x1fe4ab=()=>this['_refresh']();this[_0x48aace(0x1e6)]=_0x13e13c['on'](_0x48aace(0x1e9),_0x1fe4ab);const _0x36351d=_0x13e13c['on'](_0x48aace(0x1f0),_0x1fe4ab),_0x254708=_0x13e13c['on'](_0x48aace(0x1ee),_0x1fe4ab),_0x524794=_0x13e13c['on']('index:drop',_0x1fe4ab),_0x12af84=_0x13e13c['on'](_0x48aace(0x1f5),_0x1fe4ab),_0xa6e84e=_0x13e13c['on']('system:poke',_0x1fe4ab),_0x247133=this[_0x48aace(0x1e6)];this[_0x48aace(0x1e6)]=()=>{_0x247133(),_0x36351d(),_0x254708(),_0x524794(),_0x12af84(),_0xa6e84e();};},'unmount'(){const _0x4e2a8d=_0x22adf2;this[_0x4e2a8d(0x1e6)]?.();},'template':'\x0a<div\x20class=\x22status-bar\x22>\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>DB ID</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x20status-card__value--mono\x22\x20:title=\x22dbId\x22>{{\x20dbId\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Size</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>{{\x20dbSize\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Types</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>{{\x20typeCount\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Clock</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x20status-card__value--mono\x22>{{\x20clock\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Event Stream</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20{{\x20connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20?\x20\x27Reconnecting…\x27\x20:\x20\x27Disconnected\x27)\x20}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a</div>\x0a','style':_0x22adf2(0x1fa)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x413a(_0x16a2ee,_0x5add5d){_0x16a2ee=_0x16a2ee-0xb4;const _0x1b225e=_0x1b22();let _0x413a42=_0x1b225e[_0x16a2ee];return _0x413a42;}function _0x1b22(){const _0x40de7e=['data','trim','52135dMjnzB','catch','selfClocks','clipboard','44ZJypdM','/sync/info','selfTagList','2120034qHTIMc','20IVoBYf','selfClock','message','4302180kTDplO','map','API','Failed\x20to\x20save\x20node\x20tags','savingSelf','application/json','selfTagsInput','tags','success','1223395rFPuKE','\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;flex-direction:column;gap:14px;height:100%;min-height:0;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Self-node\x20identity\x20header\x20bar\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:14px;padding:10px\x2014px;background:var(--okdb-app-surface);border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;flex-shrink:0;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.45;white-space:nowrap;\x22>This\x20Node</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:7px;height:7px;border-radius:50%;background:var(--okdb-success);flex-shrink:0;\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:600;font-size:13px;\x22>{{selfNode.name\x20||\x20selfNode.id?.slice(0,8)}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.id\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;cursor:pointer;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22copyText(selfNode.id)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Click\x20to\x20copy\x20full\x20ID\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{selfNode.id?.slice(0,14)}}…\x20⎘</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfClock\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;opacity:.45;\x22>clock:\x20<span\x20style=\x22font-family:monospace;\x22>{{selfClock}}</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.address\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;white-space:nowrap;\x22>{{selfNode.address}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Inline\x20tag\x20editor\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22selfTagsInput\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22selfTagsInput\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@keydown.enter=\x22saveSelfTags()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22tags,\x20comma-separated\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;width:160px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22saveSelfTags()\x22\x20:disabled=\x22savingSelf\x22\x20style=\x22font-size:11px;padding:3px\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{savingSelf\x20?\x20\x27…\x27\x20:\x20\x27Save\x20tags\x27}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22saveSelfError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;color:var(--okdb-danger);\x22>{{saveSelfError}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Sub-tabs\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:2px;padding:2px;background:var(--okdb-app-surface);border-radius:8px;border:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;align-self:flex-start;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27topology\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27topology\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Topology\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27retention\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27retention\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Retention\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27topology\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-topology\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27retention\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-retention\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20','toast','saveSelfError','81hJxWsS','stringify','selfNode','system-sync-panel','json','clock','writeText','Node\x20tags\x20saved','103593VBEHyg','6yObKxn','node','join','filter','1539852kWEsKl','PATCH','split','5672FyMFlr','33JYITOH','loadSelf'];_0x1b22=function(){return _0x40de7e;};return _0x1b22();}const _0x1d64a0=_0x413a;(function(_0x472cbd,_0xd487b2){const _0x1c2b9b=_0x413a,_0x37064a=_0x472cbd();while(!![]){try{const _0x4f5e3d=parseInt(_0x1c2b9b(0xbc))/0x1*(parseInt(_0x1c2b9b(0xc4))/0x2)+-parseInt(_0x1c2b9b(0xdc))/0x3*(-parseInt(_0x1c2b9b(0xc0))/0x4)+-parseInt(_0x1c2b9b(0xd0))/0x5*(parseInt(_0x1c2b9b(0xdd))/0x6)+-parseInt(_0x1c2b9b(0xc3))/0x7+-parseInt(_0x1c2b9b(0xb7))/0x8*(parseInt(_0x1c2b9b(0xd4))/0x9)+parseInt(_0x1c2b9b(0xc7))/0xa+parseInt(_0x1c2b9b(0xb8))/0xb*(-parseInt(_0x1c2b9b(0xb4))/0xc);if(_0x4f5e3d===_0xd487b2)break;else _0x37064a['push'](_0x37064a['shift']());}catch(_0x2f799a){_0x37064a['push'](_0x37064a['shift']());}}}(_0x1b22,0x5fd4c));import _0x777f2f from'../../sync/parts/sync-topology.ok.js';import _0x16fe5a from'../../sync/parts/sync-retention.ok.js';export default{'tag':_0x1d64a0(0xd7),'unwrap':!0x0,'dependencies':[_0x777f2f,_0x16fe5a],'context':_0x1f30bb=>({'tab':'topology','selfNode':null,'selfClock':null,'selfClocks':{},'selfTagsInput':'','savingSelf':!0x1,'saveSelfError':null,get 'selfTagList'(){const _0x315ef4=_0x1d64a0;return(this[_0x315ef4(0xcd)]||'')[_0x315ef4(0xb6)](',')[_0x315ef4(0xc8)](_0x3edeff=>_0x3edeff[_0x315ef4(0xbb)]())[_0x315ef4(0xe0)](Boolean);},async 'loadSelf'(){const _0xb60df1=_0x1d64a0;try{const _0x5a599a=await fetch(__ENV__[_0xb60df1(0xc9)]+_0xb60df1(0xc1)),_0x36bdfd=await _0x5a599a['json']();_0x5a599a['ok']&&(this['selfNode']=_0x36bdfd[_0xb60df1(0xba)]?.[_0xb60df1(0xde)]??null,this[_0xb60df1(0xc5)]=_0x36bdfd[_0xb60df1(0xba)]?.[_0xb60df1(0xd9)]??null,this[_0xb60df1(0xbe)]=_0x36bdfd[_0xb60df1(0xba)]?.['clocks']??{},this[_0xb60df1(0xcd)]=(this['selfNode']?.[_0xb60df1(0xce)]??[])[_0xb60df1(0xdf)](',\x20'));}catch{}},async 'saveSelfTags'(){const _0x3a2b93=_0x1d64a0;if(!this[_0x3a2b93(0xcb)]){this[_0x3a2b93(0xcb)]=!0x0,this[_0x3a2b93(0xd3)]=null;try{const _0xb9d882=await fetch(__ENV__['API']+'/sync/self',{'method':_0x3a2b93(0xb5),'headers':{'Content-Type':_0x3a2b93(0xcc)},'body':JSON[_0x3a2b93(0xd5)]({'tags':this[_0x3a2b93(0xc2)]})}),_0x32cd88=await _0xb9d882[_0x3a2b93(0xd8)]();if(!_0xb9d882['ok'])throw new Error(_0x32cd88?.['error']?.['message']||_0x3a2b93(0xca));this['selfNode']=_0x32cd88[_0x3a2b93(0xba)]?.[_0x3a2b93(0xde)]??this[_0x3a2b93(0xd6)],this['selfTagsInput']=(this[_0x3a2b93(0xd6)]?.[_0x3a2b93(0xce)]??[])['join'](',\x20'),_0x1f30bb['$ok']['shared']?.[_0x3a2b93(0xd2)]?.[_0x3a2b93(0xcf)]?.(_0x3a2b93(0xdb));}catch(_0xea7ef){this[_0x3a2b93(0xd3)]=_0xea7ef?.[_0x3a2b93(0xc6)]||String(_0xea7ef);}finally{this[_0x3a2b93(0xcb)]=!0x1;}}},'copyText'(_0x30349f){const _0x5e8941=_0x1d64a0;navigator[_0x5e8941(0xbf)]?.[_0x5e8941(0xda)](_0x30349f)[_0x5e8941(0xbd)](()=>{});}}),async 'mount'(){const _0x126543=_0x1d64a0;await this[_0x126543(0xb9)]();},'template':_0x1d64a0(0xd1)};
|
|
1
|
+
const _0x2577dc=_0xec2c;function _0xec2c(_0x20cdc8,_0xc227a4){_0x20cdc8=_0x20cdc8-0xbc;const _0x3e142f=_0x3e14();let _0xec2c3a=_0x3e142f[_0x20cdc8];return _0xec2c3a;}function _0x3e14(){const _0xba99ba=['2gUyXEI','7IhISQy','selfNode','message','catch','81305yAOCLv','trim','loadSelf','3760540XBWnin','selfTagList','selfClocks','$ok','topology','282vauYfk','1423904SywXsO','tags','3447320VKUODV','shared','map','77ibcQpy','savingSelf','application/json','node','2793924WFVOPS','json','system-sync-panel','4127580CYfAyj','PATCH','API','clocks','data','saveSelfError','writeText','selfTagsInput','selfClock','toast','error','clock','clipboard','Node\x20tags\x20saved','1468692WDbkiC'];_0x3e14=function(){return _0xba99ba;};return _0x3e14();}(function(_0x4d3a85,_0xd4a10a){const _0xdbc606=_0xec2c,_0x2ca7bd=_0x4d3a85();while(!![]){try{const _0xe364ac=-parseInt(_0xdbc606(0xe4))/0x1+parseInt(_0xdbc606(0xd6))/0x2*(-parseInt(_0xdbc606(0xc4))/0x3)+parseInt(_0xdbc606(0xd5))/0x4+parseInt(_0xdbc606(0xdb))/0x5*(-parseInt(_0xdbc606(0xe3))/0x6)+-parseInt(_0xdbc606(0xd7))/0x7*(-parseInt(_0xdbc606(0xbd))/0x8)+parseInt(_0xdbc606(0xc7))/0x9+-parseInt(_0xdbc606(0xde))/0xa*(-parseInt(_0xdbc606(0xc0))/0xb);if(_0xe364ac===_0xd4a10a)break;else _0x2ca7bd['push'](_0x2ca7bd['shift']());}catch(_0x31546d){_0x2ca7bd['push'](_0x2ca7bd['shift']());}}}(_0x3e14,0xbbe47));import _0x1aa5e6 from'../../sync/parts/sync-topology.ok.js';import _0xcc66a from'../../sync/parts/sync-retention.ok.js';export default{'tag':_0x2577dc(0xc6),'unwrap':!0x0,'dependencies':[_0x1aa5e6,_0xcc66a],'context':_0x524b4b=>({'tab':_0x2577dc(0xe2),'selfNode':null,'selfClock':null,'selfClocks':{},'selfTagsInput':'','savingSelf':!0x1,'saveSelfError':null,get 'selfTagList'(){const _0x1b5908=_0x2577dc;return(this[_0x1b5908(0xce)]||'')['split'](',')[_0x1b5908(0xbf)](_0x71dd75=>_0x71dd75[_0x1b5908(0xdc)]())['filter'](Boolean);},async 'loadSelf'(){const _0x456346=_0x2577dc;try{const _0x37aded=await fetch(__ENV__[_0x456346(0xc9)]+'/sync/info'),_0x114c06=await _0x37aded[_0x456346(0xc5)]();_0x37aded['ok']&&(this[_0x456346(0xd8)]=_0x114c06[_0x456346(0xcb)]?.['node']??null,this[_0x456346(0xcf)]=_0x114c06['data']?.[_0x456346(0xd2)]??null,this[_0x456346(0xe0)]=_0x114c06[_0x456346(0xcb)]?.[_0x456346(0xca)]??{},this[_0x456346(0xce)]=(this['selfNode']?.['tags']??[])['join'](',\x20'));}catch{}},async 'saveSelfTags'(){const _0x233cef=_0x2577dc;if(!this[_0x233cef(0xc1)]){this[_0x233cef(0xc1)]=!0x0,this['saveSelfError']=null;try{const _0x564d8e=await fetch(__ENV__[_0x233cef(0xc9)]+'/sync/self',{'method':_0x233cef(0xc8),'headers':{'Content-Type':_0x233cef(0xc2)},'body':JSON['stringify']({'tags':this[_0x233cef(0xdf)]})}),_0xf90499=await _0x564d8e[_0x233cef(0xc5)]();if(!_0x564d8e['ok'])throw new Error(_0xf90499?.[_0x233cef(0xd1)]?.[_0x233cef(0xd9)]||'Failed\x20to\x20save\x20node\x20tags');this[_0x233cef(0xd8)]=_0xf90499['data']?.[_0x233cef(0xc3)]??this[_0x233cef(0xd8)],this[_0x233cef(0xce)]=(this['selfNode']?.[_0x233cef(0xbc)]??[])['join'](',\x20'),_0x524b4b[_0x233cef(0xe1)][_0x233cef(0xbe)]?.[_0x233cef(0xd0)]?.['success']?.(_0x233cef(0xd4));}catch(_0x3c3392){this[_0x233cef(0xcc)]=_0x3c3392?.['message']||String(_0x3c3392);}finally{this[_0x233cef(0xc1)]=!0x1;}}},'copyText'(_0xa5ad74){const _0x42df9b=_0x2577dc;navigator[_0x42df9b(0xd3)]?.[_0x42df9b(0xcd)](_0xa5ad74)[_0x42df9b(0xda)](()=>{});}}),async 'mount'(){const _0x2ac54e=_0x2577dc;await this[_0x2ac54e(0xdd)]();},'template':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;flex-direction:column;gap:14px;height:100%;min-height:0;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Self-node\x20identity\x20header\x20bar\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:14px;padding:10px\x2014px;background:var(--okdb-app-surface);border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;flex-shrink:0;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.45;white-space:nowrap;\x22>This\x20Node</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:7px;height:7px;border-radius:50%;background:var(--okdb-success);flex-shrink:0;\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:600;font-size:13px;\x22>{{selfNode.name\x20||\x20selfNode.id?.slice(0,8)}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.id\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;cursor:pointer;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22copyText(selfNode.id)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Click\x20to\x20copy\x20full\x20ID\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{selfNode.id?.slice(0,14)}}…\x20⎘</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfClock\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;opacity:.45;\x22>clock:\x20<span\x20style=\x22font-family:monospace;\x22>{{selfClock}}</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.address\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;white-space:nowrap;\x22>{{selfNode.address}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Inline\x20tag\x20editor\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22selfTagsInput\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22selfTagsInput\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@keydown.enter=\x22saveSelfTags()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22tags,\x20comma-separated\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;width:160px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22saveSelfTags()\x22\x20:disabled=\x22savingSelf\x22\x20style=\x22font-size:11px;padding:3px\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{savingSelf\x20?\x20\x27…\x27\x20:\x20\x27Save\x20tags\x27}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22saveSelfError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;color:var(--okdb-danger);\x22>{{saveSelfError}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Sub-tabs\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:2px;padding:2px;background:var(--okdb-app-surface);border-radius:8px;border:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;align-self:flex-start;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27topology\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27topology\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Topology\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27retention\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27retention\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Retention\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27topology\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-topology\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27retention\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-retention\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20'};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x5471(_0x4061eb,_0x2c3e4c){_0x4061eb=_0x4061eb-0x89;const _0x5671de=_0x5671();let _0x5471fd=_0x5671de[_0x4061eb];return _0x5471fd;}const _0x5e4e27=_0x5471;(function(_0x16c854,_0x5d7a41){const _0x4de65e=_0x5471,_0x37fa9f=_0x16c854();while(!![]){try{const _0x26d273=-parseInt(_0x4de65e(0xc6))/0x1*(parseInt(_0x4de65e(0xc4))/0x2)+-parseInt(_0x4de65e(0x89))/0x3+-parseInt(_0x4de65e(0xd7))/0x4+-parseInt(_0x4de65e(0xce))/0x5+parseInt(_0x4de65e(0xd8))/0x6*(parseInt(_0x4de65e(0xe1))/0x7)+-parseInt(_0x4de65e(0xc7))/0x8+parseInt(_0x4de65e(0xa7))/0x9*(parseInt(_0x4de65e(0xc8))/0xa);if(_0x26d273===_0x5d7a41)break;else _0x37fa9f['push'](_0x37fa9f['shift']());}catch(_0x576ec3){_0x37fa9f['push'](_0x37fa9f['shift']());}}}(_0x5671,0x9a8a7));import _0x40e654 from'@toolkit/elements/ok-icon.ok.js';import _0x544b38 from'@toolkit/core/ok-overlay.ok.js';function _0x5671(){const _0x47bd06=['name','233849saPepb','refExpanded','$max','At\x20least\x20one\x20reducer\x20is\x20required','reducers','stores','trim','sort','vis_filterStr','keys','2156319BDWybM','$ref','vis_mapStr','count','stringify','close','split','filterStr','filter','$avg','deepPathsLoading','vis_reducers','refReducers','$count','apiBase','push','map','key','value','Name\x20must\x20not\x20contain\x20spaces\x20or\x20start\x20with\x20~','definitionStr','reduce','startsWith','geo','$countBy','toast','loadDeepPaths','message','data','<div\x20style=\x22position:relative;\x20width:min(820px,calc(100vw\x20-\x2060px));\x20min-width:600px;\x22><if\x20:=\x22busy\x22><ok-overlay><div\x20class=\x22loader-center\x22><ok-icon\x20name=\x22loader\x22\x20class=\x22spin\x22\x20style=\x22width:32px;height:32px;\x22/></div></ok-overlay></if><div\x20class=\x22cvm-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Name</label>\x20<input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20active_users\x22\x20:value=\x22name\x22\x20@input=\x22name\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22><div\x20class=\x22cvm-hint\x22>No\x20spaces\x20·\x20no\x20~\x20prefix</div></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Source\x20Type</label><if\x20:=\x22typesLoading\x22><select\x20class=\x22cvm-select\x22\x20disabled=\x22disabled\x22><option>Loading\x20types…</option></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22sourceType\x22\x20@change=\x22setSourceType($event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20a\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20user\x22\x20:value=\x22sourceType\x22\x20@input=\x22setSourceType($el.value)\x22\x20:disabled=\x22busy\x22></if><div\x20class=\x22cvm-hint\x22>OKDB\x20type\x20this\x20view\x20aggregates</div></div></div><div\x20class=\x22cvm-card\x22><div\x20class=\x22cvm-def-header\x22><span\x20class=\x22cvm-label\x22\x20style=\x22margin:0;\x22>Definition</span><div\x20class=\x22cvm-mode-toggle\x22><button\x20:class=\x22defMode\x20===\x20\x27visual\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27visual\x27)\x22>Visual</button>\x20<button\x20:class=\x22defMode\x20===\x20\x27json\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27json\x27)\x22>JSON</button></div></div><if\x20:=\x22defMode\x20===\x20\x27visual\x27\x22><div\x20class=\x22cvm-visual\x22><div><div\x20class=\x22cvm-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22vis_reducers\x22\x20let:item=\x22r\x22><div><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22r.name\x22\x20@input=\x22setReducerProp(r,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22r.op\x22\x20@change=\x22setReducerProp(r,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22opOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(r.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22r.field\x22\x20:items=\x22fieldItems\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setReducerProp(r,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22opIsRef(r.op)\x22><button\x20class=\x22cvm-r-ref-btn\x20cvm-r-field\x22\x20@click=\x22toggleRefExpand(r)\x22\x20:disabled=\x22busy\x22>{{\x20r.refExpanded\x20?\x20\x27▴\x20collapse\x27\x20:\x20\x27▾\x20configure\x20$ref\x27\x20}}</button></if><if\x20:=\x22!opNeedsField(r.op)\x20&&\x20!opIsRef(r.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><if\x20:=\x22!opIsRef(r.op)\x22><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x20in\x20the\x20result\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22r.items\x22\x20@change=\x22setReducerProp(r,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label></if><if\x20:=\x22opIsRef(r.op)\x22><div\x20class=\x22cvm-r-spacer\x22/></if><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeReducer(r)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div><if\x20:=\x22opIsRef(r.op)\x20&&\x20r.refExpanded\x22><div\x20class=\x22cvm-ref-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Child\x20Type</label><if\x20:=\x22types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22r.refType\x22\x20@change=\x22setRefType(r,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20order\x22\x20:value=\x22r.refType\x22\x20@input=\x22setRefType(r,\x20$el.value)\x22\x20:disabled=\x22busy\x22></if></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Key\x20Field\x20<span\x20style=\x22font-size:10px;font-weight:400;color:var(--okdb-app-fg-subtle);margin-left:4px;\x22>on\x20child\x20·\x20fk\x20fields\x20highlighted</span></label><field-path-input\x20:value=\x22r.refKey\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22FK\x20field\x20on\x20child\x20type\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefProp(r,\x20\x27refKey\x27,\x20$event.detail)\x22><div\x20class=\x22cvm-hint\x22>Field\x20on\x20the\x20child\x20collection\x20that\x20references\x20this\x20document\x27s\x20_id</div></div></div><div\x20class=\x22cvm-ref-section\x22><div\x20class=\x22cvm-ref-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22r.refReducers\x22\x20let:item=\x22cr\x22><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22cr.name\x22\x20@input=\x22setRefReducerProp(r,\x20cr,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22cr.op\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22refOpOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22cr.field\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22!opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22cr.items\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeRefReducer(r,\x20cr)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addRefReducer(r)\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowFilter\x27,\x20!r.refShowFilter)\x22>{{\x20r.refShowFilter\x20?\x20\x27hide\x27\x20:\x20(r.refFilterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22r.refFilterStr\x22\x20@input=\x22setRefProp(r,\x20\x27refFilterStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Sift\x20query\x20—\x20filters\x20child\x20records\x20before\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowMap\x27,\x20!r.refShowMap)\x22>{{\x20r.refShowMap\x20?\x20\x27hide\x27\x20:\x20(r.refMapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22r.refMapStr\x22\x20@input=\x22setRefProp(r,\x20\x27refMapStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Optional\x20value\x20transformation\x20applied\x20after\x20child\x20reduce</div></if></div></div></if></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addReducer()\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showFilter\x20=\x20!vis_showFilter\x22>{{\x20vis_showFilter\x20?\x20\x27hide\x27\x20:\x20(vis_filterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22vis_filterStr\x22\x20@input=\x22vis_filterStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Sift\x20query\x20—\x20only\x20matching\x20records\x20are\x20included\x20in\x20the\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showMap\x20=\x20!vis_showMap\x22>{{\x20vis_showMap\x20?\x20\x27hide\x27\x20:\x20(vis_mapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22vis_mapStr\x22\x20@input=\x22vis_mapStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Optional\x20value\x20transformation\x20applied\x20after\x20reduce</div></if></div></div></if><if\x20:=\x22defMode\x20===\x20\x27json\x27\x22><div\x20class=\x22cvm-json-wrap\x22><ok-text-monaco-input\x20style=\x22height:100%;\x22\x20language=\x22json\x22\x20:value=\x22definitionStr\x22\x20@edit=\x22definitionStr\x20=\x20$event.detail\x22/></div><div\x20class=\x22cvm-hint\x22>filter\x20·\x20reduce\x20·\x20map\x20—\x20<code>type</code>\x20is\x20injected\x20from\x20Source\x20Type\x20above</div></if></div><if\x20:=\x22error\x22><div\x20class=\x22cvm-error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22cvm-actions\x22><button\x20class=\x22cvm-btn\x20cvm-btn--secondary\x22\x20@click=\x22cancel()\x22\x20:disabled=\x22busy\x22>Cancel</button>\x20<button\x20class=\x22cvm-btn\x20cvm-btn--primary\x22\x20@click=\x22create()\x22\x20:disabled=\x22busy\x20||\x20!name.trim()\x20||\x20!sourceType.trim()\x22>Create\x20View</button></div></div></div>','2857878aMWNDz','_id','needsField','pop','entries','/deep-properties','/type/','result','items','mapStr','paths','defMode','Create\x20failed','length','okdb','refKey','$sum','sourceType','{\x0a\x20\x20\x22filter\x22:\x20{},\x0a\x20\x20\x22reduce\x22:\x20{\x0a\x20\x20\x20\x20\x22count\x22:\x20{\x20\x22$count\x22:\x20true\x20}\x0a\x20\x20}\x0a}','refDeepLoading','refType','refDeepPaths','POST','parse','field','endsWith','deepPaths','error','$min','2gXJCZi','modal','401389SBIoVD','8878784iGBRRx','130Edzkxt','isRef','object','visual','test','assign','1853300sfVMMC','type','/types','$ok','$attr','Source\x20type\x20is\x20required','.cvm-body,create-view-modal{display:flex;flex-direction:column}.cvm-body{gap:14px}.cvm-row2{display:grid;grid-template-columns:1fr\x201fr;gap:12px}.cvm-field{display:flex;flex-direction:column;gap:5px}.cvm-label{font-size:11px;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.cvm-card{padding:14px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;background:var(--okdb-app-bg-deep);display:flex;flex-direction:column;gap:10px}.cvm-input{padding:7px\x209px}.cvm-input,.cvm-select{border:1px\x20solid\x20var(--okdb-app-border);border-radius:6px;background:var(--okdb-app-bg-deep);color:var(--okdb-app-fg);font-size:12px;font-family:inherit;box-sizing:border-box;width:100%}.cvm-input:focus,.cvm-select:focus{outline:0;border-color:var(--okdb-accent);box-shadow:0\x200\x200\x202px\x20color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-select{cursor:pointer;appearance:none;background-image:url(\x22data:image/svg+xml,%3Csvg\x20xmlns=\x27http://www.w3.org/2000/svg\x27\x20width=\x2712\x27\x20height=\x2712\x27\x20viewBox=\x270\x200\x2024\x2024\x27\x20fill=\x27none\x27\x20stroke=\x27%23888\x27\x20stroke-width=\x272\x27%3E%3Cpolyline\x20points=\x276\x209\x2012\x2015\x2018\x209\x27/%3E%3C/svg%3E\x22);background-repeat:no-repeat;background-position:right\x208px\x20center;padding:7px\x2028px\x207px\x209px}.cvm-error,.cvm-hint{font-size:11px;color:var(--okdb-app-fg-subtle);line-height:1.45}.cvm-error{font-size:12px;color:var(--okdb-danger);padding:9px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:6px}.cvm-actions{display:flex;gap:8px;justify-content:flex-end}.cvm-btn{padding:7px\x2016px;border-radius:6px;border:1px\x20solid;background:0\x200;font-size:12px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-btn--secondary{border-color:var(--okdb-app-border);color:var(--okdb-app-fg-muted)}.cvm-btn--secondary:hover{border-color:var(--okdb-accent);color:var(--okdb-app-fg);background:color-mix(in\x20srgb,var(--okdb-accent)\x206%,transparent)}.cvm-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.cvm-def-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-toggle{display:flex;border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;overflow:hidden}.cvm-mode-btn{padding:4px\x2012px;border:0;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-mode-btn+.cvm-mode-btn{border-left:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-btn--active{background:color-mix(in\x20srgb,var(--okdb-accent)\x2014%,transparent);color:var(--okdb-accent)}.cvm-visual{display:flex;flex-direction:column;gap:12px}.cvm-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:6px}.cvm-col-headers{display:flex;gap:6px;margin-bottom:3px}.cvm-col-h{font-size:10px;color:var(--okdb-app-fg-subtle)}.cvm-reducer-list{display:flex;flex-direction:column;gap:5px}.cvm-reducer-row{display:flex;align-items:center;gap:6px}.cvm-r-key,.cvm-r-op{flex:0\x200\x20136px;min-width:0}.cvm-r-op{flex:0\x200\x20106px}.cvm-r-field{flex:1;min-width:0}.cvm-r-del,.cvm-r-items{display:flex;align-items:center}.cvm-r-items{flex:0\x200\x2058px;gap:4px;font-size:11px;color:var(--okdb-app-fg-muted);user-select:none;cursor:pointer}.cvm-r-del{flex:0\x200\x2022px;justify-content:center}.cvm-r-del-btn{background:0\x200;border:0;cursor:pointer;color:var(--okdb-app-fg-subtle);padding:3px\x204px;border-radius:3px;font-size:14px;line-height:1;transition:color\x20.12s\x20ease}.cvm-r-del-btn:hover{color:var(--okdb-danger)}.cvm-r-ref-btn{flex:1;padding:7px\x2010px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:6px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;text-align:left;min-width:0;transition:all\x20.12s\x20ease}.cvm-add-reducer-btn:hover,.cvm-r-ref-btn:hover{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-r-spacer{flex:0\x200\x2058px}.cvm-add-reducer-btn{align-self:flex-start;padding:4px\x2012px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:5px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;margin-top:4px;transition:all\x20.12s\x20ease}.cvm-optional-hdr{display:flex;align-items:center;gap:8px}.cvm-opt-toggle{background:0\x200;border:0;cursor:pointer;font-size:11px;color:var(--okdb-app-fg-muted);padding:0;text-decoration:underline\x20dotted;transition:color\x20.12s\x20ease}.cvm-opt-toggle:hover{color:var(--okdb-accent)}.cvm-opt-textarea{width:100%;height:64px;resize:vertical;font-size:11px;font-family:monospace;margin-top:6px}.cvm-ref-body,.cvm-ref-section{display:flex;flex-direction:column}.cvm-ref-body{margin-top:5px;padding:12px;background:color-mix(in\x20srgb,var(--okdb-accent)\x203%,var(--okdb-app-bg));border:1px\x20solid\x20var(--okdb-app-border);border-left:2px\x20solid\x20color-mix(in\x20srgb,var(--okdb-accent)\x2045%,var(--okdb-app-border));border-radius:6px;gap:10px}.cvm-ref-section{gap:6px}.cvm-ref-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px}.cvm-json-wrap{height:260px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:8px;overflow:hidden}','json','find','3978392wnstTy','18giCrJP','isArray','create-view-modal','shared','loadRefDeepPaths','string','typesData','refMapStr'];_0x5671=function(){return _0x47bd06;};return _0x5671();}import _0x437c50 from'../../../components/ok-text-monaco-input.ok.js';import _0x2b31c4 from'../../../components/field-path-input.ok.js';const i=[{'value':_0x5e4e27(0x96),'label':_0x5e4e27(0x96),'needsField':!0x1,'isRef':!0x1},{'value':_0x5e4e27(0xb7),'label':_0x5e4e27(0xb7),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0x92),'label':_0x5e4e27(0x92),'needsField':!0x0,'isRef':!0x1},{'value':'$min','label':_0x5e4e27(0xc3),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0xe3),'label':_0x5e4e27(0xe3),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0xa1),'label':_0x5e4e27(0xa1),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0x8a),'label':'$ref','needsField':!0x1,'isRef':!0x0}],a=i['filter'](_0x3871b2=>!_0x3871b2[_0x5e4e27(0xc9)]);function o(){const _0x12def3=_0x5e4e27;return{'name':_0x12def3(0x8c),'op':'$count','field':'','items':!0x1};}function d(_0x507c99){const _0x44516b=_0x5e4e27,_0x189b1d={};for(const _0x5e848d of _0x507c99[_0x44516b(0x95)]||[])_0x5e848d[_0x44516b(0xe0)]['trim']()&&(_0x44516b(0x96)===_0x5e848d['op']?(_0x189b1d[_0x5e848d[_0x44516b(0xe0)]]={'$count':!0x0},_0x5e848d[_0x44516b(0xaf)]&&(_0x189b1d[_0x5e848d['name']]['items']=!0x0)):(_0x189b1d[_0x5e848d[_0x44516b(0xe0)]]={[_0x5e848d['op']]:_0x5e848d['field'][_0x44516b(0xe7)]()||_0x44516b(0xa8)},_0x5e848d[_0x44516b(0xaf)]&&(_0x189b1d[_0x5e848d['name']][_0x44516b(0xaf)]=!0x0)));const _0x17b35a={'type':_0x507c99[_0x44516b(0xbb)]||'','key':_0x507c99[_0x44516b(0xb6)]||''};Object[_0x44516b(0xea)](_0x189b1d)[_0x44516b(0xb4)]&&(_0x17b35a[_0x44516b(0x9e)]=_0x189b1d);try{const _0x5b2a3e=(_0x507c99['refFilterStr']||'')[_0x44516b(0xe7)]();_0x5b2a3e&&(_0x17b35a[_0x44516b(0x91)]=JSON[_0x44516b(0xbe)](_0x5b2a3e));}catch{}try{const _0x42051e=(_0x507c99[_0x44516b(0xdf)]||'')[_0x44516b(0xe7)]();_0x42051e&&(_0x17b35a[_0x44516b(0x99)]=JSON['parse'](_0x42051e));}catch{}return _0x17b35a;}function c(_0x3b120d,_0x266729,_0x1f3c0a){const _0x429059=_0x5e4e27,_0xfffed4={};for(const _0x36316e of _0x3b120d)_0x36316e[_0x429059(0xe0)]['trim']()&&('$ref'===_0x36316e['op']?_0xfffed4[_0x36316e[_0x429059(0xe0)]]={'$ref':d(_0x36316e)}:_0x429059(0x96)===_0x36316e['op']?(_0xfffed4[_0x36316e[_0x429059(0xe0)]]={'$count':!0x0},_0x36316e[_0x429059(0xaf)]&&(_0xfffed4[_0x36316e[_0x429059(0xe0)]]['items']=!0x0)):(_0xfffed4[_0x36316e[_0x429059(0xe0)]]={[_0x36316e['op']]:_0x36316e[_0x429059(0xbf)][_0x429059(0xe7)]()||'_id'},_0x36316e[_0x429059(0xaf)]&&(_0xfffed4[_0x36316e['name']][_0x429059(0xaf)]=!0x0)));const _0x57b55e={'reduce':_0xfffed4};try{const _0x6d5064=_0x266729[_0x429059(0xe7)]();_0x6d5064&&(_0x57b55e['filter']=JSON[_0x429059(0xbe)](_0x6d5064));}catch{}try{const _0xc8e635=_0x1f3c0a[_0x429059(0xe7)]();_0xc8e635&&(_0x57b55e[_0x429059(0x99)]=JSON[_0x429059(0xbe)](_0xc8e635));}catch{}return _0x57b55e;}function l(_0x57548d){const _0x5cb431=_0x5e4e27,_0xb8200f=[];for(const [_0x1ec3e3,_0x17a1cf]of Object[_0x5cb431(0xab)](_0x57548d??{})){const _0x798e74=Object[_0x5cb431(0xea)](_0x17a1cf)[_0x5cb431(0xd6)](_0x2a111e=>'items'!==_0x2a111e)??_0x5cb431(0x96);_0xb8200f[_0x5cb431(0x98)]({'name':_0x1ec3e3,'op':_0x798e74,'field':_0x5cb431(0xdd)==typeof _0x17a1cf[_0x798e74]?_0x17a1cf[_0x798e74]:'','items':!!_0x17a1cf[_0x5cb431(0xaf)]});}return _0xb8200f[_0x5cb431(0xb4)]?_0xb8200f:[{'name':_0x5cb431(0x8c),'op':_0x5cb431(0x96),'field':'','items':!0x1}];}function n(_0x4db9bf){const _0x86072=_0x5e4e27,_0x156f29=_0x4db9bf[_0x86072(0x8f)]('.')[_0x86072(0xaa)]();return _0x86072(0xa8)!==_0x156f29&&(_0x156f29[_0x86072(0xc0)]('Id')||_0x156f29[_0x86072(0xc0)](_0x86072(0xa8))||_0x156f29[_0x86072(0xc0)]('ID'));}function p(_0x1bf40c){const _0x3d5b50=_0x5e4e27;return _0x1bf40c&&Object[_0x3d5b50(0xea)](_0x1bf40c)[_0x3d5b50(0xb4)]?Object[_0x3d5b50(0xab)](_0x1bf40c)[_0x3d5b50(0x99)](([_0x11fb20,_0x4b2122])=>({'path':_0x11fb20,'types':Array['isArray'](_0x4b2122)?_0x4b2122:[],'hint':n(_0x11fb20)?'fk':Array[_0x3d5b50(0xd9)](_0x4b2122)&&_0x4b2122['includes'](_0x3d5b50(0xa0))?_0x3d5b50(0xa0):null})):[];}export default{'tag':_0x5e4e27(0xda),'dependencies':[_0x544b38,_0x40e654,_0x437c50,_0x2b31c4],'attr':{'modal':{},'onDone':{}},'context':_0x3edf6e=>({'busy':!0x1,'error':null,'name':'','sourceType':'','typesData':[],'typesLoading':!0x1,'deepPaths':{},'deepPathsLoading':!0x1,get 'types'(){const _0x43140e=_0x5e4e27;return this[_0x43140e(0xde)][_0x43140e(0x99)](_0x1afcb6=>_0x1afcb6['type']??_0x1afcb6[_0x43140e(0xe0)]??String(_0x1afcb6))['filter'](_0x5a47f7=>_0x43140e(0xdd)==typeof _0x5a47f7&&!_0x5a47f7['startsWith']('~'))[_0x43140e(0xe8)]();},get 'fieldItems'(){const _0x33f721=_0x5e4e27;return p(this[_0x33f721(0xc1)]);},get 'opOptions'(){return i;},get 'refOpOptions'(){return a;},'defMode':_0x5e4e27(0xcb),'definitionStr':_0x5e4e27(0xb9),'vis_reducers':[Object[_0x5e4e27(0xcd)]({'name':'','op':_0x5e4e27(0x96),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x5e4e27(0x8c),'op':_0x5e4e27(0x96),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1},{'name':_0x5e4e27(0x8c),'op':_0x5e4e27(0x96)})],'vis_filterStr':'','vis_mapStr':'','vis_showFilter':!0x1,'vis_showMap':!0x1,async 'loadTypes'(){const _0x538689=_0x5e4e27;this['typesLoading']=!0x0;try{const _0x4d989b=_0x3edf6e['$ok'][_0x538689(0xe6)][_0x538689(0xb5)][_0x538689(0x97)],_0x3e304f=await fetch(_0x4d989b+_0x538689(0xd0));if(!_0x3e304f['ok'])return void(this[_0x538689(0xde)]=[]);const _0x18a770=await _0x3e304f[_0x538689(0xd5)](),_0x1fd894=_0x18a770[_0x538689(0xa5)]??_0x18a770[_0x538689(0xae)]??[];this[_0x538689(0xde)]=Array['isArray'](_0x1fd894)?_0x1fd894:Object[_0x538689(0xab)](_0x1fd894)[_0x538689(0x99)](([_0x1994df,_0x25def2])=>({'type':_0x1994df,..._0x538689(0xca)==typeof _0x25def2?_0x25def2:{}}));}catch{this[_0x538689(0xde)]=[];}finally{this['typesLoading']=!0x1;}},async 'loadDeepPaths'(_0x382a6b){const _0x1c2265=_0x5e4e27;if(_0x382a6b){this[_0x1c2265(0x93)]=!0x0;try{const _0x535708=_0x3edf6e['$ok']['stores']['okdb'][_0x1c2265(0x97)],_0x371416=await fetch(_0x535708+_0x1c2265(0xad)+encodeURIComponent(_0x382a6b)+_0x1c2265(0xac));if(!_0x371416['ok'])return void(this[_0x1c2265(0xc1)]={});const _0x145dbc=await _0x371416[_0x1c2265(0xd5)]();this[_0x1c2265(0xc1)]=(_0x145dbc[_0x1c2265(0xa5)]??_0x145dbc['result'])?.['paths']??{};}catch{this['deepPaths']={};}finally{this[_0x1c2265(0x93)]=!0x1;}}else this[_0x1c2265(0xc1)]={};},async 'loadRefDeepPaths'(_0x1d563f,_0x462f56){const _0x48d4dc=_0x5e4e27;_0x1d563f[_0x48d4dc(0xba)]=!0x0,this[_0x48d4dc(0x94)]=[...this[_0x48d4dc(0x94)]];try{const _0x4915ef=_0x3edf6e[_0x48d4dc(0xd1)][_0x48d4dc(0xe6)][_0x48d4dc(0xb5)][_0x48d4dc(0x97)],_0x3da75e=await fetch(_0x4915ef+_0x48d4dc(0xad)+encodeURIComponent(_0x462f56)+_0x48d4dc(0xac));if(!_0x3da75e['ok'])return void(_0x1d563f[_0x48d4dc(0xbc)]={});const _0x220bb6=await _0x3da75e[_0x48d4dc(0xd5)]();_0x1d563f[_0x48d4dc(0xbc)]=(_0x220bb6[_0x48d4dc(0xa5)]??_0x220bb6['result'])?.[_0x48d4dc(0xb1)]??{};}catch{_0x1d563f['refDeepPaths']={};}finally{_0x1d563f[_0x48d4dc(0xba)]=!0x1,this[_0x48d4dc(0x94)]=[...this[_0x48d4dc(0x94)]];}},'setSourceType'(_0x3a42c8){const _0x3ac351=_0x5e4e27;this[_0x3ac351(0xb8)]=_0x3a42c8,_0x3a42c8?this[_0x3ac351(0xa3)](_0x3a42c8):this[_0x3ac351(0xc1)]={};},'setDefMode'(_0x3b5735){const _0x1622f4=_0x5e4e27;if(_0x3b5735!==this[_0x1622f4(0xb2)]){if(_0x1622f4(0xcb)===this[_0x1622f4(0xb2)])this[_0x1622f4(0x9d)]=JSON['stringify'](c(this[_0x1622f4(0x94)],this[_0x1622f4(0xe9)],this[_0x1622f4(0x8b)]),null,0x2);else try{const _0x28bed2=function(_0x243624){const _0x5ea1b0=_0x1622f4,_0x3669ec=[];for(const [_0x24472c,_0x13d682]of Object['entries'](_0x243624['reduce']??{}))if(_0x13d682['$ref']){const _0x336e70=_0x13d682[_0x5ea1b0(0x8a)];_0x3669ec[_0x5ea1b0(0x98)]({'name':_0x24472c,'op':_0x5ea1b0(0x8a),'field':'','items':!0x1,'isRef':!0x0,'refExpanded':!0x0,'refType':_0x336e70[_0x5ea1b0(0xcf)]||'','refKey':_0x336e70[_0x5ea1b0(0x9a)]||'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':l(_0x336e70['reduce']),'refFilterStr':_0x336e70[_0x5ea1b0(0x91)]?JSON[_0x5ea1b0(0x8d)](_0x336e70[_0x5ea1b0(0x91)],null,0x2):'','refMapStr':_0x336e70[_0x5ea1b0(0x99)]?JSON[_0x5ea1b0(0x8d)](_0x336e70[_0x5ea1b0(0x99)],null,0x2):'','refShowFilter':!!_0x336e70[_0x5ea1b0(0x91)]&&Object[_0x5ea1b0(0xea)](_0x336e70[_0x5ea1b0(0x91)])[_0x5ea1b0(0xb4)]>0x0,'refShowMap':!!_0x336e70[_0x5ea1b0(0x99)]&&Object['keys'](_0x336e70[_0x5ea1b0(0x99)])[_0x5ea1b0(0xb4)]>0x0});}else{const _0x437143=Object[_0x5ea1b0(0xea)](_0x13d682)[_0x5ea1b0(0xd6)](_0x5be5e4=>'items'!==_0x5be5e4)??_0x5ea1b0(0x96);_0x3669ec[_0x5ea1b0(0x98)]({'name':_0x24472c,'op':_0x437143,'field':'string'==typeof _0x13d682[_0x437143]?_0x13d682[_0x437143]:'','items':!!_0x13d682[_0x5ea1b0(0xaf)],'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[o()],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1});}return _0x3669ec[_0x5ea1b0(0xb4)]||_0x3669ec[_0x5ea1b0(0x98)]({'name':'','op':_0x5ea1b0(0x96),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x5ea1b0(0x8c),'op':_0x5ea1b0(0x96),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}),{'reducers':_0x3669ec,'filterStr':_0x243624[_0x5ea1b0(0x91)]&&Object[_0x5ea1b0(0xea)](_0x243624['filter'])['length']?JSON[_0x5ea1b0(0x8d)](_0x243624[_0x5ea1b0(0x91)],null,0x2):'','mapStr':_0x243624['map']&&Object[_0x5ea1b0(0xea)](_0x243624[_0x5ea1b0(0x99)])[_0x5ea1b0(0xb4)]?JSON[_0x5ea1b0(0x8d)](_0x243624[_0x5ea1b0(0x99)],null,0x2):''};}(JSON[_0x1622f4(0xbe)](this[_0x1622f4(0x9d)]));this[_0x1622f4(0x94)]=_0x28bed2[_0x1622f4(0xe5)],this[_0x1622f4(0xe9)]=_0x28bed2[_0x1622f4(0x90)],this['vis_mapStr']=_0x28bed2[_0x1622f4(0xb0)];for(const _0x2874b7 of this[_0x1622f4(0x94)])_0x1622f4(0x8a)===_0x2874b7['op']&&_0x2874b7[_0x1622f4(0xbb)]&&this[_0x1622f4(0xdc)](_0x2874b7,_0x2874b7[_0x1622f4(0xbb)]);}catch{}this['defMode']=_0x3b5735;}},'addReducer'(){const _0x3beb8f=_0x5e4e27;this[_0x3beb8f(0x94)]=[...this['vis_reducers'],{'name':'','op':_0x3beb8f(0x96),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':'count','op':_0x3beb8f(0x96),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}];},'removeReducer'(_0x2904a3){const _0x528457=_0x5e4e27;this[_0x528457(0x94)]=this[_0x528457(0x94)]['filter'](_0x5f50c8=>_0x5f50c8!==_0x2904a3);},'setReducerProp'(_0x574720,_0xb2654,_0x3088c4){const _0x323f41=_0x5e4e27;_0x574720[_0xb2654]=_0x3088c4,'op'===_0xb2654&&(_0x574720[_0x323f41(0xc9)]=_0x323f41(0x8a)===_0x3088c4,_0x323f41(0x8a)!==_0x3088c4?_0x574720[_0x323f41(0xe2)]=!0x1:_0x574720[_0x323f41(0xe2)]||(_0x574720['refExpanded']=!0x0)),this[_0x323f41(0x94)]=[...this[_0x323f41(0x94)]];},'toggleRefExpand'(_0x9910d1){const _0x36fd3f=_0x5e4e27;_0x9910d1[_0x36fd3f(0xe2)]=!_0x9910d1['refExpanded'],this[_0x36fd3f(0x94)]=[...this['vis_reducers']];},'setRefProp'(_0x26dcc3,_0x2796f1,_0x21c40e){const _0x1459a0=_0x5e4e27;_0x26dcc3[_0x2796f1]=_0x21c40e,this[_0x1459a0(0x94)]=[...this[_0x1459a0(0x94)]];},'setRefType'(_0xac49d,_0x1e3835){const _0x368926=_0x5e4e27;_0xac49d[_0x368926(0xbb)]=_0x1e3835,_0xac49d[_0x368926(0xb6)]='',_0xac49d[_0x368926(0xbc)]={},this[_0x368926(0x94)]=[...this[_0x368926(0x94)]],_0x1e3835&&this['loadRefDeepPaths'](_0xac49d,_0x1e3835);},'refFieldItems':_0xaadab7=>p(_0xaadab7['refDeepPaths']),'addRefReducer'(_0x3bd462){const _0x3cbc8e=_0x5e4e27;_0x3bd462['refReducers']=[..._0x3bd462[_0x3cbc8e(0x95)]||[],{'name':_0x3cbc8e(0x8c),'op':_0x3cbc8e(0x96),'field':'','items':!0x1}],this['vis_reducers']=[...this['vis_reducers']];},'removeRefReducer'(_0x224be8,_0x4ee087){const _0x5c6b54=_0x5e4e27;_0x224be8[_0x5c6b54(0x95)]=_0x224be8[_0x5c6b54(0x95)][_0x5c6b54(0x91)](_0x66e72b=>_0x66e72b!==_0x4ee087),this['vis_reducers']=[...this[_0x5c6b54(0x94)]];},'setRefReducerProp'(_0x428877,_0x43f499,_0x4174e4,_0x398b93){const _0x3cae1d=_0x5e4e27;_0x43f499[_0x4174e4]=_0x398b93,_0x428877[_0x3cae1d(0x95)]=[..._0x428877[_0x3cae1d(0x95)]],this[_0x3cae1d(0x94)]=[...this[_0x3cae1d(0x94)]];},'opNeedsField':_0x4425e4=>i[_0x5e4e27(0xd6)](_0x4309ab=>_0x4309ab[_0x5e4e27(0x9b)]===_0x4425e4)?.[_0x5e4e27(0xa9)]??!0x1,'opIsRef':_0x440a42=>_0x5e4e27(0x8a)===_0x440a42,async 'create'(){const _0x331969=_0x5e4e27;this[_0x331969(0xc2)]=null;const _0x4fc77f=this['name'][_0x331969(0xe7)]();if(!_0x4fc77f)return void(this['error']='Name\x20is\x20required');if(/\s/[_0x331969(0xcc)](_0x4fc77f)||_0x4fc77f[_0x331969(0x9f)]('~'))return void(this['error']=_0x331969(0x9c));const _0x403d4d=this[_0x331969(0xb8)]['trim']();if(!_0x403d4d)return void(this[_0x331969(0xc2)]=_0x331969(0xd3));let _0xbb5f60;if(_0x331969(0xcb)===this[_0x331969(0xb2)])_0xbb5f60=c(this[_0x331969(0x94)],this['vis_filterStr'],this[_0x331969(0x8b)]);else try{_0xbb5f60=JSON[_0x331969(0xbe)](this[_0x331969(0x9d)]);}catch(_0x5c039e){return void(this[_0x331969(0xc2)]='Invalid\x20JSON\x20in\x20definition:\x20'+_0x5c039e['message']);}if(_0xbb5f60['type']=_0x403d4d,_0xbb5f60['reduce']&&Object[_0x331969(0xea)](_0xbb5f60[_0x331969(0x9e)])[_0x331969(0xb4)]){this['busy']=!0x0;try{const _0x3bf35f=_0x3edf6e[_0x331969(0xd1)][_0x331969(0xe6)]['okdb'][_0x331969(0x97)],_0x35ef28=await fetch(_0x3bf35f+'/views',{'method':_0x331969(0xbd),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'name':_0x4fc77f,..._0xbb5f60})});if(!_0x35ef28['ok']){const _0x833635=await _0x35ef28[_0x331969(0xd5)]()['catch'](()=>({}));throw new Error(_0x833635?.[_0x331969(0xc2)]?.[_0x331969(0xa4)]??_0x331969(0xb3));}_0x3edf6e[_0x331969(0xd2)]['onDone']?.(_0x4fc77f),_0x3edf6e['$attr'][_0x331969(0xc5)]?.[_0x331969(0x8e)]?.();}catch(_0x5001a9){this[_0x331969(0xc2)]=_0x5001a9[_0x331969(0xa4)],_0x3edf6e[_0x331969(0xd1)][_0x331969(0xdb)]?.[_0x331969(0xa2)]?.[_0x331969(0xc2)]?.(this[_0x331969(0xc2)]);}finally{this['busy']=!0x1;}}else this[_0x331969(0xc2)]=_0x331969(0xe4);},'cancel'(){const _0xfb200e=_0x5e4e27;_0x3edf6e[_0xfb200e(0xd2)][_0xfb200e(0xc5)]?.[_0xfb200e(0x8e)]?.();}}),'mount'(_0x3e8120){this['loadTypes']();},'style':_0x5e4e27(0xd4),'template':_0x5e4e27(0xa6)};
|
|
1
|
+
const _0x4a6ec4=_0x4177;function _0x4177(_0x26fe7e,_0x49ae6f){_0x26fe7e=_0x26fe7e-0xdb;const _0x384f45=_0x384f();let _0x4177df=_0x384f45[_0x26fe7e];return _0x4177df;}(function(_0x3d9419,_0x5375f5){const _0x1690eb=_0x4177,_0x1d553e=_0x3d9419();while(!![]){try{const _0x1e589a=-parseInt(_0x1690eb(0x138))/0x1*(-parseInt(_0x1690eb(0x10d))/0x2)+parseInt(_0x1690eb(0x12f))/0x3+-parseInt(_0x1690eb(0x120))/0x4*(parseInt(_0x1690eb(0x128))/0x5)+parseInt(_0x1690eb(0xf4))/0x6*(parseInt(_0x1690eb(0x12d))/0x7)+-parseInt(_0x1690eb(0x10b))/0x8+-parseInt(_0x1690eb(0xde))/0x9+parseInt(_0x1690eb(0x11d))/0xa;if(_0x1e589a===_0x5375f5)break;else _0x1d553e['push'](_0x1d553e['shift']());}catch(_0x386f88){_0x1d553e['push'](_0x1d553e['shift']());}}}(_0x384f,0xf0e87));import _0x3b148e from'@toolkit/elements/ok-icon.ok.js';import _0x157863 from'@toolkit/core/ok-overlay.ok.js';import _0x25f5e6 from'../../../components/ok-text-monaco-input.ok.js';import _0x5593ea from'../../../components/field-path-input.ok.js';const i=[{'value':_0x4a6ec4(0x124),'label':_0x4a6ec4(0x124),'needsField':!0x1,'isRef':!0x1},{'value':_0x4a6ec4(0x112),'label':'$sum','needsField':!0x0,'isRef':!0x1},{'value':_0x4a6ec4(0xe4),'label':_0x4a6ec4(0xe4),'needsField':!0x0,'isRef':!0x1},{'value':_0x4a6ec4(0x107),'label':_0x4a6ec4(0x107),'needsField':!0x0,'isRef':!0x1},{'value':_0x4a6ec4(0x10f),'label':_0x4a6ec4(0x10f),'needsField':!0x0,'isRef':!0x1},{'value':_0x4a6ec4(0x129),'label':_0x4a6ec4(0x129),'needsField':!0x0,'isRef':!0x1},{'value':_0x4a6ec4(0x126),'label':'$ref','needsField':!0x1,'isRef':!0x0}],a=i[_0x4a6ec4(0x113)](_0x44df3b=>!_0x44df3b[_0x4a6ec4(0x139)]);function o(){const _0x24a9f7=_0x4a6ec4;return{'name':'count','op':_0x24a9f7(0x124),'field':'','items':!0x1};}function d(_0x49b8e7){const _0x53514f=_0x4a6ec4,_0x422356={};for(const _0x29add of _0x49b8e7[_0x53514f(0xe6)]||[])_0x29add[_0x53514f(0x123)][_0x53514f(0x103)]()&&('$count'===_0x29add['op']?(_0x422356[_0x29add['name']]={'$count':!0x0},_0x29add['items']&&(_0x422356[_0x29add[_0x53514f(0x123)]][_0x53514f(0xf6)]=!0x0)):(_0x422356[_0x29add[_0x53514f(0x123)]]={[_0x29add['op']]:_0x29add['field'][_0x53514f(0x103)]()||'_id'},_0x29add['items']&&(_0x422356[_0x29add[_0x53514f(0x123)]][_0x53514f(0xf6)]=!0x0)));const _0x4fa984={'type':_0x49b8e7[_0x53514f(0x12c)]||'','key':_0x49b8e7[_0x53514f(0xe8)]||''};Object[_0x53514f(0x108)](_0x422356)[_0x53514f(0x11f)]&&(_0x4fa984[_0x53514f(0x132)]=_0x422356);try{const _0x594b58=(_0x49b8e7[_0x53514f(0xea)]||'')['trim']();_0x594b58&&(_0x4fa984['filter']=JSON[_0x53514f(0x12a)](_0x594b58));}catch{}try{const _0x1590be=(_0x49b8e7[_0x53514f(0xdb)]||'')[_0x53514f(0x103)]();_0x1590be&&(_0x4fa984['map']=JSON[_0x53514f(0x12a)](_0x1590be));}catch{}return _0x4fa984;}function c(_0x1d54d6,_0xbdea9c,_0x5112b8){const _0xc13573=_0x4a6ec4,_0x102ea0={};for(const _0x3bcc26 of _0x1d54d6)_0x3bcc26[_0xc13573(0x123)]['trim']()&&(_0xc13573(0x126)===_0x3bcc26['op']?_0x102ea0[_0x3bcc26[_0xc13573(0x123)]]={'$ref':d(_0x3bcc26)}:'$count'===_0x3bcc26['op']?(_0x102ea0[_0x3bcc26[_0xc13573(0x123)]]={'$count':!0x0},_0x3bcc26['items']&&(_0x102ea0[_0x3bcc26[_0xc13573(0x123)]][_0xc13573(0xf6)]=!0x0)):(_0x102ea0[_0x3bcc26[_0xc13573(0x123)]]={[_0x3bcc26['op']]:_0x3bcc26[_0xc13573(0x11b)][_0xc13573(0x103)]()||_0xc13573(0xeb)},_0x3bcc26[_0xc13573(0xf6)]&&(_0x102ea0[_0x3bcc26[_0xc13573(0x123)]]['items']=!0x0)));const _0x2c559a={'reduce':_0x102ea0};try{const _0x342e84=_0xbdea9c['trim']();_0x342e84&&(_0x2c559a[_0xc13573(0x113)]=JSON[_0xc13573(0x12a)](_0x342e84));}catch{}try{const _0x559e62=_0x5112b8[_0xc13573(0x103)]();_0x559e62&&(_0x2c559a[_0xc13573(0x13c)]=JSON['parse'](_0x559e62));}catch{}return _0x2c559a;}function l(_0x18d572){const _0x2cac50=_0x4a6ec4,_0x1cd3b5=[];for(const [_0x1edec5,_0x439fc2]of Object[_0x2cac50(0xf1)](_0x18d572??{})){const _0xba78d1=Object[_0x2cac50(0x108)](_0x439fc2)[_0x2cac50(0xdf)](_0x184c2a=>'items'!==_0x184c2a)??_0x2cac50(0x124);_0x1cd3b5[_0x2cac50(0xe7)]({'name':_0x1edec5,'op':_0xba78d1,'field':_0x2cac50(0x121)==typeof _0x439fc2[_0xba78d1]?_0x439fc2[_0xba78d1]:'','items':!!_0x439fc2[_0x2cac50(0xf6)]});}return _0x1cd3b5[_0x2cac50(0x11f)]?_0x1cd3b5:[{'name':_0x2cac50(0xfd),'op':_0x2cac50(0x124),'field':'','items':!0x1}];}function n(_0x13cbbe){const _0x50df61=_0x4a6ec4,_0xef120=_0x13cbbe[_0x50df61(0x111)]('.')['pop']();return'_id'!==_0xef120&&(_0xef120[_0x50df61(0x11e)]('Id')||_0xef120['endsWith'](_0x50df61(0xeb))||_0xef120[_0x50df61(0x11e)]('ID'));}function p(_0x5dedfb){const _0x467a35=_0x4a6ec4;return _0x5dedfb&&Object[_0x467a35(0x108)](_0x5dedfb)['length']?Object[_0x467a35(0xf1)](_0x5dedfb)[_0x467a35(0x13c)](([_0x4e44db,_0x1aa924])=>({'path':_0x4e44db,'types':Array[_0x467a35(0xdd)](_0x1aa924)?_0x1aa924:[],'hint':n(_0x4e44db)?'fk':Array[_0x467a35(0xdd)](_0x1aa924)&&_0x1aa924['includes']('geo')?_0x467a35(0x116):null})):[];}export default{'tag':_0x4a6ec4(0x110),'dependencies':[_0x157863,_0x3b148e,_0x25f5e6,_0x5593ea],'attr':{'modal':{},'onDone':{}},'context':_0x16e851=>({'busy':!0x1,'error':null,'name':'','sourceType':'','typesData':[],'typesLoading':!0x1,'deepPaths':{},'deepPathsLoading':!0x1,get 'types'(){const _0x5e7a69=_0x4a6ec4;return this[_0x5e7a69(0x122)]['map'](_0x821ac8=>_0x821ac8[_0x5e7a69(0x12e)]??_0x821ac8[_0x5e7a69(0x123)]??String(_0x821ac8))[_0x5e7a69(0x113)](_0x7f44b2=>_0x5e7a69(0x121)==typeof _0x7f44b2&&!_0x7f44b2['startsWith']('~'))[_0x5e7a69(0x105)]();},get 'fieldItems'(){const _0x4e91b0=_0x4a6ec4;return p(this[_0x4e91b0(0x10e)]);},get 'opOptions'(){return i;},get 'refOpOptions'(){return a;},'defMode':'visual','definitionStr':_0x4a6ec4(0xff),'vis_reducers':[Object[_0x4a6ec4(0x127)]({'name':'','op':_0x4a6ec4(0x124),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':'count','op':_0x4a6ec4(0x124),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1},{'name':_0x4a6ec4(0xfd),'op':_0x4a6ec4(0x124)})],'vis_filterStr':'','vis_mapStr':'','vis_showFilter':!0x1,'vis_showMap':!0x1,async 'loadTypes'(){const _0x1c40d2=_0x4a6ec4;this[_0x1c40d2(0x114)]=!0x0;try{const _0x12f142=_0x16e851[_0x1c40d2(0x117)][_0x1c40d2(0xf2)][_0x1c40d2(0xec)][_0x1c40d2(0x12b)],_0x28740b=await fetch(_0x12f142+_0x1c40d2(0xf0));if(!_0x28740b['ok'])return void(this[_0x1c40d2(0x122)]=[]);const _0x333f85=await _0x28740b['json'](),_0x4783db=_0x333f85['data']??_0x333f85['result']??[];this[_0x1c40d2(0x122)]=Array[_0x1c40d2(0xdd)](_0x4783db)?_0x4783db:Object[_0x1c40d2(0xf1)](_0x4783db)[_0x1c40d2(0x13c)](([_0x253a90,_0x4a26b1])=>({'type':_0x253a90,..._0x1c40d2(0x101)==typeof _0x4a26b1?_0x4a26b1:{}}));}catch{this[_0x1c40d2(0x122)]=[];}finally{this[_0x1c40d2(0x114)]=!0x1;}},async 'loadDeepPaths'(_0x63779f){const _0x3570a2=_0x4a6ec4;if(_0x63779f){this[_0x3570a2(0x11c)]=!0x0;try{const _0x6339d6=_0x16e851[_0x3570a2(0x117)][_0x3570a2(0xf2)][_0x3570a2(0xec)][_0x3570a2(0x12b)],_0x612db7=await fetch(_0x6339d6+_0x3570a2(0xf7)+encodeURIComponent(_0x63779f)+_0x3570a2(0x131));if(!_0x612db7['ok'])return void(this[_0x3570a2(0x10e)]={});const _0x1041fc=await _0x612db7[_0x3570a2(0xfe)]();this[_0x3570a2(0x10e)]=(_0x1041fc['data']??_0x1041fc[_0x3570a2(0xe9)])?.[_0x3570a2(0x11a)]??{};}catch{this[_0x3570a2(0x10e)]={};}finally{this[_0x3570a2(0x11c)]=!0x1;}}else this[_0x3570a2(0x10e)]={};},async 'loadRefDeepPaths'(_0x1a1efc,_0x4fc1fa){const _0x249c0b=_0x4a6ec4;_0x1a1efc['refDeepLoading']=!0x0,this[_0x249c0b(0xf5)]=[...this[_0x249c0b(0xf5)]];try{const _0x54b9b2=_0x16e851[_0x249c0b(0x117)][_0x249c0b(0xf2)]['okdb']['apiBase'],_0x71ace4=await fetch(_0x54b9b2+_0x249c0b(0xf7)+encodeURIComponent(_0x4fc1fa)+_0x249c0b(0x131));if(!_0x71ace4['ok'])return void(_0x1a1efc[_0x249c0b(0xe0)]={});const _0x405549=await _0x71ace4[_0x249c0b(0xfe)]();_0x1a1efc['refDeepPaths']=(_0x405549['data']??_0x405549[_0x249c0b(0xe9)])?.['paths']??{};}catch{_0x1a1efc[_0x249c0b(0xe0)]={};}finally{_0x1a1efc['refDeepLoading']=!0x1,this['vis_reducers']=[...this[_0x249c0b(0xf5)]];}},'setSourceType'(_0x346a06){const _0x896592=_0x4a6ec4;this[_0x896592(0x118)]=_0x346a06,_0x346a06?this[_0x896592(0xed)](_0x346a06):this[_0x896592(0x10e)]={};},'setDefMode'(_0x43c33a){const _0x2fd841=_0x4a6ec4;if(_0x43c33a!==this[_0x2fd841(0x136)]){if(_0x2fd841(0x13a)===this[_0x2fd841(0x136)])this[_0x2fd841(0x13b)]=JSON[_0x2fd841(0xdc)](c(this[_0x2fd841(0xf5)],this['vis_filterStr'],this[_0x2fd841(0x133)]),null,0x2);else try{const _0x410a6e=function(_0x2f7a25){const _0x3e97b0=_0x2fd841,_0x12e6de=[];for(const [_0x3ca2cf,_0x289c5c]of Object[_0x3e97b0(0xf1)](_0x2f7a25[_0x3e97b0(0x132)]??{}))if(_0x289c5c[_0x3e97b0(0x126)]){const _0x41bfa1=_0x289c5c[_0x3e97b0(0x126)];_0x12e6de[_0x3e97b0(0xe7)]({'name':_0x3ca2cf,'op':_0x3e97b0(0x126),'field':'','items':!0x1,'isRef':!0x0,'refExpanded':!0x0,'refType':_0x41bfa1['type']||'','refKey':_0x41bfa1[_0x3e97b0(0xe3)]||'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':l(_0x41bfa1[_0x3e97b0(0x132)]),'refFilterStr':_0x41bfa1[_0x3e97b0(0x113)]?JSON['stringify'](_0x41bfa1['filter'],null,0x2):'','refMapStr':_0x41bfa1[_0x3e97b0(0x13c)]?JSON['stringify'](_0x41bfa1[_0x3e97b0(0x13c)],null,0x2):'','refShowFilter':!!_0x41bfa1[_0x3e97b0(0x113)]&&Object['keys'](_0x41bfa1['filter'])[_0x3e97b0(0x11f)]>0x0,'refShowMap':!!_0x41bfa1[_0x3e97b0(0x13c)]&&Object[_0x3e97b0(0x108)](_0x41bfa1[_0x3e97b0(0x13c)])[_0x3e97b0(0x11f)]>0x0});}else{const _0x25a854=Object[_0x3e97b0(0x108)](_0x289c5c)['find'](_0x1ae2ce=>_0x3e97b0(0xf6)!==_0x1ae2ce)??_0x3e97b0(0x124);_0x12e6de[_0x3e97b0(0xe7)]({'name':_0x3ca2cf,'op':_0x25a854,'field':_0x3e97b0(0x121)==typeof _0x289c5c[_0x25a854]?_0x289c5c[_0x25a854]:'','items':!!_0x289c5c[_0x3e97b0(0xf6)],'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[o()],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1});}return _0x12e6de['length']||_0x12e6de[_0x3e97b0(0xe7)]({'name':'','op':'$count','field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x3e97b0(0xfd),'op':_0x3e97b0(0x124),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}),{'reducers':_0x12e6de,'filterStr':_0x2f7a25[_0x3e97b0(0x113)]&&Object[_0x3e97b0(0x108)](_0x2f7a25[_0x3e97b0(0x113)])[_0x3e97b0(0x11f)]?JSON[_0x3e97b0(0xdc)](_0x2f7a25[_0x3e97b0(0x113)],null,0x2):'','mapStr':_0x2f7a25['map']&&Object[_0x3e97b0(0x108)](_0x2f7a25['map'])['length']?JSON[_0x3e97b0(0xdc)](_0x2f7a25[_0x3e97b0(0x13c)],null,0x2):''};}(JSON['parse'](this[_0x2fd841(0x13b)]));this[_0x2fd841(0xf5)]=_0x410a6e[_0x2fd841(0x104)],this[_0x2fd841(0xe5)]=_0x410a6e[_0x2fd841(0x115)],this[_0x2fd841(0x133)]=_0x410a6e['mapStr'];for(const _0x401389 of this[_0x2fd841(0xf5)])_0x2fd841(0x126)===_0x401389['op']&&_0x401389[_0x2fd841(0x12c)]&&this[_0x2fd841(0x102)](_0x401389,_0x401389[_0x2fd841(0x12c)]);}catch{}this[_0x2fd841(0x136)]=_0x43c33a;}},'addReducer'(){const _0x4a5930=_0x4a6ec4;this[_0x4a5930(0xf5)]=[...this[_0x4a5930(0xf5)],{'name':'','op':_0x4a5930(0x124),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':'count','op':'$count','field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}];},'removeReducer'(_0x4414a4){const _0x296e46=_0x4a6ec4;this[_0x296e46(0xf5)]=this[_0x296e46(0xf5)][_0x296e46(0x113)](_0x209611=>_0x209611!==_0x4414a4);},'setReducerProp'(_0x2d42d5,_0x2bafb9,_0x341290){const _0xbb3812=_0x4a6ec4;_0x2d42d5[_0x2bafb9]=_0x341290,'op'===_0x2bafb9&&(_0x2d42d5[_0xbb3812(0x139)]='$ref'===_0x341290,_0xbb3812(0x126)!==_0x341290?_0x2d42d5[_0xbb3812(0x106)]=!0x1:_0x2d42d5[_0xbb3812(0x106)]||(_0x2d42d5[_0xbb3812(0x106)]=!0x0)),this['vis_reducers']=[...this[_0xbb3812(0xf5)]];},'toggleRefExpand'(_0x3a9b91){const _0x5b15d1=_0x4a6ec4;_0x3a9b91[_0x5b15d1(0x106)]=!_0x3a9b91[_0x5b15d1(0x106)],this[_0x5b15d1(0xf5)]=[...this[_0x5b15d1(0xf5)]];},'setRefProp'(_0x4cda4d,_0x3c7fbf,_0x58b4e0){const _0x54fc8a=_0x4a6ec4;_0x4cda4d[_0x3c7fbf]=_0x58b4e0,this[_0x54fc8a(0xf5)]=[...this[_0x54fc8a(0xf5)]];},'setRefType'(_0x1c27ca,_0x42cbd1){const _0xba554e=_0x4a6ec4;_0x1c27ca[_0xba554e(0x12c)]=_0x42cbd1,_0x1c27ca[_0xba554e(0xe8)]='',_0x1c27ca['refDeepPaths']={},this['vis_reducers']=[...this['vis_reducers']],_0x42cbd1&&this[_0xba554e(0x102)](_0x1c27ca,_0x42cbd1);},'refFieldItems':_0x49679f=>p(_0x49679f[_0x4a6ec4(0xe0)]),'addRefReducer'(_0x15168f){const _0x20ab23=_0x4a6ec4;_0x15168f[_0x20ab23(0xe6)]=[..._0x15168f[_0x20ab23(0xe6)]||[],{'name':_0x20ab23(0xfd),'op':_0x20ab23(0x124),'field':'','items':!0x1}],this['vis_reducers']=[...this[_0x20ab23(0xf5)]];},'removeRefReducer'(_0x57e112,_0x64d081){const _0x2ecf1e=_0x4a6ec4;_0x57e112[_0x2ecf1e(0xe6)]=_0x57e112['refReducers']['filter'](_0x239fa7=>_0x239fa7!==_0x64d081),this['vis_reducers']=[...this[_0x2ecf1e(0xf5)]];},'setRefReducerProp'(_0x4cd402,_0x40b6a8,_0x3f23c0,_0x4f6dee){const _0x576d34=_0x4a6ec4;_0x40b6a8[_0x3f23c0]=_0x4f6dee,_0x4cd402[_0x576d34(0xe6)]=[..._0x4cd402['refReducers']],this[_0x576d34(0xf5)]=[...this[_0x576d34(0xf5)]];},'opNeedsField':_0x1c702d=>i[_0x4a6ec4(0xdf)](_0x14d38f=>_0x14d38f[_0x4a6ec4(0x137)]===_0x1c702d)?.[_0x4a6ec4(0x134)]??!0x1,'opIsRef':_0x31926e=>_0x4a6ec4(0x126)===_0x31926e,async 'create'(){const _0x1342dd=_0x4a6ec4;this[_0x1342dd(0x119)]=null;const _0x14f10a=this[_0x1342dd(0x123)][_0x1342dd(0x103)]();if(!_0x14f10a)return void(this[_0x1342dd(0x119)]='Name\x20is\x20required');if(/\s/[_0x1342dd(0xee)](_0x14f10a)||_0x14f10a[_0x1342dd(0x135)]('~'))return void(this[_0x1342dd(0x119)]='Name\x20must\x20not\x20contain\x20spaces\x20or\x20start\x20with\x20~');const _0x5b38d8=this[_0x1342dd(0x118)][_0x1342dd(0x103)]();if(!_0x5b38d8)return void(this['error']=_0x1342dd(0xf8));let _0x5b06a1;if(_0x1342dd(0x13a)===this[_0x1342dd(0x136)])_0x5b06a1=c(this[_0x1342dd(0xf5)],this[_0x1342dd(0xe5)],this[_0x1342dd(0x133)]);else try{_0x5b06a1=JSON[_0x1342dd(0x12a)](this[_0x1342dd(0x13b)]);}catch(_0x3b89db){return void(this['error']=_0x1342dd(0xfc)+_0x3b89db[_0x1342dd(0x109)]);}if(_0x5b06a1['type']=_0x5b38d8,_0x5b06a1[_0x1342dd(0x132)]&&Object[_0x1342dd(0x108)](_0x5b06a1[_0x1342dd(0x132)])[_0x1342dd(0x11f)]){this[_0x1342dd(0xe2)]=!0x0;try{const _0x50f26c=_0x16e851[_0x1342dd(0x117)][_0x1342dd(0xf2)][_0x1342dd(0xec)]['apiBase'],_0x2da391=await fetch(_0x50f26c+_0x1342dd(0xe1),{'method':'POST','headers':{'Content-Type':_0x1342dd(0xf9)},'body':JSON[_0x1342dd(0xdc)]({'name':_0x14f10a,..._0x5b06a1})});if(!_0x2da391['ok']){const _0xa3aeed=await _0x2da391[_0x1342dd(0xfe)]()[_0x1342dd(0x10a)](()=>({}));throw new Error(_0xa3aeed?.[_0x1342dd(0x119)]?.['message']??_0x1342dd(0xfa));}_0x16e851[_0x1342dd(0x100)][_0x1342dd(0xfb)]?.(_0x14f10a),_0x16e851['$attr'][_0x1342dd(0x130)]?.[_0x1342dd(0x10c)]?.();}catch(_0x15994c){this[_0x1342dd(0x119)]=_0x15994c[_0x1342dd(0x109)],_0x16e851[_0x1342dd(0x117)][_0x1342dd(0x125)]?.['toast']?.[_0x1342dd(0x119)]?.(this[_0x1342dd(0x119)]);}finally{this[_0x1342dd(0xe2)]=!0x1;}}else this[_0x1342dd(0x119)]='At\x20least\x20one\x20reducer\x20is\x20required';},'cancel'(){const _0xf92802=_0x4a6ec4;_0x16e851[_0xf92802(0x100)][_0xf92802(0x130)]?.[_0xf92802(0x10c)]?.();}}),'mount'(_0x3e4424){const _0x439721=_0x4a6ec4;this[_0x439721(0xf3)]();},'style':'.cvm-body,create-view-modal{display:flex;flex-direction:column}.cvm-body{gap:14px}.cvm-row2{display:grid;grid-template-columns:1fr\x201fr;gap:12px}.cvm-field{display:flex;flex-direction:column;gap:5px}.cvm-label{font-size:11px;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.cvm-card{padding:14px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;background:var(--okdb-app-bg-deep);display:flex;flex-direction:column;gap:10px}.cvm-input{padding:7px\x209px}.cvm-input,.cvm-select{border:1px\x20solid\x20var(--okdb-app-border);border-radius:6px;background:var(--okdb-app-bg-deep);color:var(--okdb-app-fg);font-size:12px;font-family:inherit;box-sizing:border-box;width:100%}.cvm-input:focus,.cvm-select:focus{outline:0;border-color:var(--okdb-accent);box-shadow:0\x200\x200\x202px\x20color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-select{cursor:pointer;appearance:none;background-image:url(\x22data:image/svg+xml,%3Csvg\x20xmlns=\x27http://www.w3.org/2000/svg\x27\x20width=\x2712\x27\x20height=\x2712\x27\x20viewBox=\x270\x200\x2024\x2024\x27\x20fill=\x27none\x27\x20stroke=\x27%23888\x27\x20stroke-width=\x272\x27%3E%3Cpolyline\x20points=\x276\x209\x2012\x2015\x2018\x209\x27/%3E%3C/svg%3E\x22);background-repeat:no-repeat;background-position:right\x208px\x20center;padding:7px\x2028px\x207px\x209px}.cvm-error,.cvm-hint{font-size:11px;color:var(--okdb-app-fg-subtle);line-height:1.45}.cvm-error{font-size:12px;color:var(--okdb-danger);padding:9px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:6px}.cvm-actions{display:flex;gap:8px;justify-content:flex-end}.cvm-btn{padding:7px\x2016px;border-radius:6px;border:1px\x20solid;background:0\x200;font-size:12px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-btn--secondary{border-color:var(--okdb-app-border);color:var(--okdb-app-fg-muted)}.cvm-btn--secondary:hover{border-color:var(--okdb-accent);color:var(--okdb-app-fg);background:color-mix(in\x20srgb,var(--okdb-accent)\x206%,transparent)}.cvm-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.cvm-def-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-toggle{display:flex;border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;overflow:hidden}.cvm-mode-btn{padding:4px\x2012px;border:0;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-mode-btn+.cvm-mode-btn{border-left:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-btn--active{background:color-mix(in\x20srgb,var(--okdb-accent)\x2014%,transparent);color:var(--okdb-accent)}.cvm-visual{display:flex;flex-direction:column;gap:12px}.cvm-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:6px}.cvm-col-headers{display:flex;gap:6px;margin-bottom:3px}.cvm-col-h{font-size:10px;color:var(--okdb-app-fg-subtle)}.cvm-reducer-list{display:flex;flex-direction:column;gap:5px}.cvm-reducer-row{display:flex;align-items:center;gap:6px}.cvm-r-key,.cvm-r-op{flex:0\x200\x20136px;min-width:0}.cvm-r-op{flex:0\x200\x20106px}.cvm-r-field{flex:1;min-width:0}.cvm-r-del,.cvm-r-items{display:flex;align-items:center}.cvm-r-items{flex:0\x200\x2058px;gap:4px;font-size:11px;color:var(--okdb-app-fg-muted);user-select:none;cursor:pointer}.cvm-r-del{flex:0\x200\x2022px;justify-content:center}.cvm-r-del-btn{background:0\x200;border:0;cursor:pointer;color:var(--okdb-app-fg-subtle);padding:3px\x204px;border-radius:3px;font-size:14px;line-height:1;transition:color\x20.12s\x20ease}.cvm-r-del-btn:hover{color:var(--okdb-danger)}.cvm-r-ref-btn{flex:1;padding:7px\x2010px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:6px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;text-align:left;min-width:0;transition:all\x20.12s\x20ease}.cvm-add-reducer-btn:hover,.cvm-r-ref-btn:hover{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-r-spacer{flex:0\x200\x2058px}.cvm-add-reducer-btn{align-self:flex-start;padding:4px\x2012px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:5px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;margin-top:4px;transition:all\x20.12s\x20ease}.cvm-optional-hdr{display:flex;align-items:center;gap:8px}.cvm-opt-toggle{background:0\x200;border:0;cursor:pointer;font-size:11px;color:var(--okdb-app-fg-muted);padding:0;text-decoration:underline\x20dotted;transition:color\x20.12s\x20ease}.cvm-opt-toggle:hover{color:var(--okdb-accent)}.cvm-opt-textarea{width:100%;height:64px;resize:vertical;font-size:11px;font-family:monospace;margin-top:6px}.cvm-ref-body,.cvm-ref-section{display:flex;flex-direction:column}.cvm-ref-body{margin-top:5px;padding:12px;background:color-mix(in\x20srgb,var(--okdb-accent)\x203%,var(--okdb-app-bg));border:1px\x20solid\x20var(--okdb-app-border);border-left:2px\x20solid\x20color-mix(in\x20srgb,var(--okdb-accent)\x2045%,var(--okdb-app-border));border-radius:6px;gap:10px}.cvm-ref-section{gap:6px}.cvm-ref-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px}.cvm-json-wrap{height:260px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:8px;overflow:hidden}','template':_0x4a6ec4(0xef)};function _0x384f(){const _0x1bb751=['type','1558242ORLwQf','modal','/deep-properties','reduce','vis_mapStr','needsField','startsWith','defMode','value','1953PRMvhw','isRef','visual','definitionStr','map','refMapStr','stringify','isArray','1103382UXPnUu','find','refDeepPaths','/views','busy','key','$avg','vis_filterStr','refReducers','push','refKey','result','refFilterStr','_id','okdb','loadDeepPaths','test','<div\x20style=\x22position:relative;\x20width:min(820px,calc(100vw\x20-\x2060px));\x20min-width:600px;\x22><if\x20:=\x22busy\x22><ok-overlay><div\x20class=\x22loader-center\x22><ok-icon\x20name=\x22loader\x22\x20class=\x22spin\x22\x20style=\x22width:32px;height:32px;\x22/></div></ok-overlay></if><div\x20class=\x22cvm-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Name</label>\x20<input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20active_users\x22\x20:value=\x22name\x22\x20@input=\x22name\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22><div\x20class=\x22cvm-hint\x22>No\x20spaces\x20·\x20no\x20~\x20prefix</div></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Source\x20Type</label><if\x20:=\x22typesLoading\x22><select\x20class=\x22cvm-select\x22\x20disabled=\x22disabled\x22><option>Loading\x20types…</option></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22sourceType\x22\x20@change=\x22setSourceType($event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20a\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20user\x22\x20:value=\x22sourceType\x22\x20@input=\x22setSourceType($el.value)\x22\x20:disabled=\x22busy\x22></if><div\x20class=\x22cvm-hint\x22>OKDB\x20type\x20this\x20view\x20aggregates</div></div></div><div\x20class=\x22cvm-card\x22><div\x20class=\x22cvm-def-header\x22><span\x20class=\x22cvm-label\x22\x20style=\x22margin:0;\x22>Definition</span><div\x20class=\x22cvm-mode-toggle\x22><button\x20:class=\x22defMode\x20===\x20\x27visual\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27visual\x27)\x22>Visual</button>\x20<button\x20:class=\x22defMode\x20===\x20\x27json\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27json\x27)\x22>JSON</button></div></div><if\x20:=\x22defMode\x20===\x20\x27visual\x27\x22><div\x20class=\x22cvm-visual\x22><div><div\x20class=\x22cvm-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22vis_reducers\x22\x20let:item=\x22r\x22><div><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22r.name\x22\x20@input=\x22setReducerProp(r,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22r.op\x22\x20@change=\x22setReducerProp(r,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22opOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(r.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22r.field\x22\x20:items=\x22fieldItems\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setReducerProp(r,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22opIsRef(r.op)\x22><button\x20class=\x22cvm-r-ref-btn\x20cvm-r-field\x22\x20@click=\x22toggleRefExpand(r)\x22\x20:disabled=\x22busy\x22>{{\x20r.refExpanded\x20?\x20\x27▴\x20collapse\x27\x20:\x20\x27▾\x20configure\x20$ref\x27\x20}}</button></if><if\x20:=\x22!opNeedsField(r.op)\x20&&\x20!opIsRef(r.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><if\x20:=\x22!opIsRef(r.op)\x22><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x20in\x20the\x20result\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22r.items\x22\x20@change=\x22setReducerProp(r,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label></if><if\x20:=\x22opIsRef(r.op)\x22><div\x20class=\x22cvm-r-spacer\x22/></if><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeReducer(r)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div><if\x20:=\x22opIsRef(r.op)\x20&&\x20r.refExpanded\x22><div\x20class=\x22cvm-ref-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Child\x20Type</label><if\x20:=\x22types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22r.refType\x22\x20@change=\x22setRefType(r,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20order\x22\x20:value=\x22r.refType\x22\x20@input=\x22setRefType(r,\x20$el.value)\x22\x20:disabled=\x22busy\x22></if></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Key\x20Field\x20<span\x20style=\x22font-size:10px;font-weight:400;color:var(--okdb-app-fg-subtle);margin-left:4px;\x22>on\x20child\x20·\x20fk\x20fields\x20highlighted</span></label><field-path-input\x20:value=\x22r.refKey\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22FK\x20field\x20on\x20child\x20type\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefProp(r,\x20\x27refKey\x27,\x20$event.detail)\x22><div\x20class=\x22cvm-hint\x22>Field\x20on\x20the\x20child\x20collection\x20that\x20references\x20this\x20document\x27s\x20_id</div></div></div><div\x20class=\x22cvm-ref-section\x22><div\x20class=\x22cvm-ref-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22r.refReducers\x22\x20let:item=\x22cr\x22><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22cr.name\x22\x20@input=\x22setRefReducerProp(r,\x20cr,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22cr.op\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22refOpOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22cr.field\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22!opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22cr.items\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeRefReducer(r,\x20cr)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addRefReducer(r)\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowFilter\x27,\x20!r.refShowFilter)\x22>{{\x20r.refShowFilter\x20?\x20\x27hide\x27\x20:\x20(r.refFilterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22r.refFilterStr\x22\x20@input=\x22setRefProp(r,\x20\x27refFilterStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Sift\x20query\x20—\x20filters\x20child\x20records\x20before\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowMap\x27,\x20!r.refShowMap)\x22>{{\x20r.refShowMap\x20?\x20\x27hide\x27\x20:\x20(r.refMapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22r.refMapStr\x22\x20@input=\x22setRefProp(r,\x20\x27refMapStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Optional\x20value\x20transformation\x20applied\x20after\x20child\x20reduce</div></if></div></div></if></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addReducer()\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showFilter\x20=\x20!vis_showFilter\x22>{{\x20vis_showFilter\x20?\x20\x27hide\x27\x20:\x20(vis_filterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22vis_filterStr\x22\x20@input=\x22vis_filterStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Sift\x20query\x20—\x20only\x20matching\x20records\x20are\x20included\x20in\x20the\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showMap\x20=\x20!vis_showMap\x22>{{\x20vis_showMap\x20?\x20\x27hide\x27\x20:\x20(vis_mapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22vis_mapStr\x22\x20@input=\x22vis_mapStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Optional\x20value\x20transformation\x20applied\x20after\x20reduce</div></if></div></div></if><if\x20:=\x22defMode\x20===\x20\x27json\x27\x22><div\x20class=\x22cvm-json-wrap\x22><ok-text-monaco-input\x20style=\x22height:100%;\x22\x20language=\x22json\x22\x20:value=\x22definitionStr\x22\x20@edit=\x22definitionStr\x20=\x20$event.detail\x22/></div><div\x20class=\x22cvm-hint\x22>filter\x20·\x20reduce\x20·\x20map\x20—\x20<code>type</code>\x20is\x20injected\x20from\x20Source\x20Type\x20above</div></if></div><if\x20:=\x22error\x22><div\x20class=\x22cvm-error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22cvm-actions\x22><button\x20class=\x22cvm-btn\x20cvm-btn--secondary\x22\x20@click=\x22cancel()\x22\x20:disabled=\x22busy\x22>Cancel</button>\x20<button\x20class=\x22cvm-btn\x20cvm-btn--primary\x22\x20@click=\x22create()\x22\x20:disabled=\x22busy\x20||\x20!name.trim()\x20||\x20!sourceType.trim()\x22>Create\x20View</button></div></div></div>','/types','entries','stores','loadTypes','6DPWlHD','vis_reducers','items','/type/','Source\x20type\x20is\x20required','application/json','Create\x20failed','onDone','Invalid\x20JSON\x20in\x20definition:\x20','count','json','{\x0a\x20\x20\x22filter\x22:\x20{},\x0a\x20\x20\x22reduce\x22:\x20{\x0a\x20\x20\x20\x20\x22count\x22:\x20{\x20\x22$count\x22:\x20true\x20}\x0a\x20\x20}\x0a}','$attr','object','loadRefDeepPaths','trim','reducers','sort','refExpanded','$min','keys','message','catch','13417064OHEGtw','close','1054cSSBiS','deepPaths','$max','create-view-modal','split','$sum','filter','typesLoading','filterStr','geo','$ok','sourceType','error','paths','field','deepPathsLoading','2650980VwOWDg','endsWith','length','1276zgQFSm','string','typesData','name','$count','shared','$ref','assign','5275UJBoro','$countBy','parse','apiBase','refType','9165044kYlExK'];_0x384f=function(){return _0x1bb751;};return _0x384f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5ae9e1=_0x3bb5;function _0x3bb5(_0x22af51,_0x4f043b){_0x22af51=_0x22af51-0xa1;const _0x3fd704=_0x3fd7();let _0x3bb527=_0x3fd704[_0x22af51];return _0x3bb527;}(function(_0x37751e,_0x5a6819){const _0x433309=_0x3bb5,_0x23ddb9=_0x37751e();while(!![]){try{const _0x1e1c2d=-parseInt(_0x433309(0xc2))/0x1*(-parseInt(_0x433309(0xc8))/0x2)+-parseInt(_0x433309(0xca))/0x3*(-parseInt(_0x433309(0xa9))/0x4)+parseInt(_0x433309(0xd1))/0x5+parseInt(_0x433309(0xc5))/0x6*(parseInt(_0x433309(0xd7))/0x7)+-parseInt(_0x433309(0xa6))/0x8*(parseInt(_0x433309(0xd4))/0x9)+-parseInt(_0x433309(0xcf))/0xa+-parseInt(_0x433309(0xb8))/0xb;if(_0x1e1c2d===_0x5a6819)break;else _0x23ddb9['push'](_0x23ddb9['shift']());}catch(_0x3c0f8c){_0x23ddb9['push'](_0x23ddb9['shift']());}}}(_0x3fd7,0x6655f));export default{'tag':_0x5ae9e1(0xd2),'attr':{'name':{}},'context':_0x51b7b6=>({'output':null,'meta':null,'definition':null,'loading':!0x0,'error':null,'actionLoading':!0x1,'showDeleteConfirm':!0x1,'showOrphanedIndexConfirm':!0x1,'orphanedIndexes':[],async 'load'(){const _0x5ad6c6=_0x5ae9e1;this[_0x5ad6c6(0xa8)]=!0x0,this[_0x5ad6c6(0xd8)]=null,this[_0x5ad6c6(0xd6)]=null,this['meta']=null,this[_0x5ad6c6(0xcc)]=null;try{const _0x555a58=_0x51b7b6[_0x5ad6c6(0xa4)]['stores'][_0x5ad6c6(0xbe)][_0x5ad6c6(0xce)],_0x43cd4a=_0x51b7b6[_0x5ad6c6(0xc4)][_0x5ad6c6(0xb7)],[_0x149828,_0x452c73,_0xa17e05]=await Promise[_0x5ad6c6(0xb4)]([fetch(_0x555a58+_0x5ad6c6(0xa2)+_0x43cd4a),fetch(_0x555a58+_0x5ad6c6(0xa2)+_0x43cd4a+_0x5ad6c6(0xad)),fetch(_0x555a58+_0x5ad6c6(0xa2)+_0x43cd4a+_0x5ad6c6(0xd0))]),_0x14305d=_0x149828['ok']?await _0x149828[_0x5ad6c6(0xc0)]():null,_0x3d48b9=_0x452c73['ok']?await _0x452c73[_0x5ad6c6(0xc0)]():null,_0x31331d=_0xa17e05['ok']?await _0xa17e05[_0x5ad6c6(0xc0)]():null;this['output']=_0x14305d?.[_0x5ad6c6(0xb1)]??_0x14305d?.[_0x5ad6c6(0xab)]??null,this['meta']=_0x3d48b9?.['data']??_0x3d48b9?.[_0x5ad6c6(0xab)]??null,this[_0x5ad6c6(0xcc)]=_0x31331d?.[_0x5ad6c6(0xb1)]??_0x31331d?.[_0x5ad6c6(0xab)]??null;}catch(_0x5788ea){this[_0x5ad6c6(0xd8)]=_0x5788ea[_0x5ad6c6(0xbf)];}finally{this[_0x5ad6c6(0xa8)]=!0x1;}},async 'doAction'(_0x379eda){const _0x372a36=_0x5ae9e1;this[_0x372a36(0xc9)]=!0x0;try{const _0x5dfb94=_0x51b7b6[_0x372a36(0xa4)][_0x372a36(0xbb)]['okdb'][_0x372a36(0xce)],_0x578a78=_0x51b7b6[_0x372a36(0xc4)][_0x372a36(0xb7)],_0x542523=await fetch(_0x5dfb94+'/views/'+_0x578a78+'/'+_0x379eda,{'method':_0x372a36(0xcd)});if(!_0x542523['ok']){const _0x85c594=await _0x542523['json']()[_0x372a36(0xbd)](()=>({}));throw new Error(_0x85c594?.['error']?.['message']??_0x379eda+_0x372a36(0xcb));}await this[_0x372a36(0xd3)](),_0x51b7b6[_0x372a36(0xb0)](_0x372a36(0xc6));}catch(_0x415b81){this[_0x372a36(0xd8)]=_0x415b81['message'];}finally{this['actionLoading']=!0x1;}},async 'deleteView'(){const _0x1b9157=_0x5ae9e1;this[_0x1b9157(0xc9)]=!0x0;try{const _0x158ae6=_0x51b7b6[_0x1b9157(0xa4)]['stores'][_0x1b9157(0xbe)]['apiBase'],_0x225ee1=_0x51b7b6[_0x1b9157(0xc4)][_0x1b9157(0xb7)],_0x35f895=await fetch(_0x158ae6+_0x1b9157(0xa2)+_0x225ee1,{'method':_0x1b9157(0xc7)});if(!_0x35f895['ok']){const _0x4d2d62=await _0x35f895[_0x1b9157(0xc0)]()[_0x1b9157(0xbd)](()=>({})),_0x5980f4=_0x4d2d62?.[_0x1b9157(0xd8)]?.['code'];if(_0x1b9157(0xc3)===_0x5980f4)return this[_0x1b9157(0xaa)]=_0x4d2d62?.[_0x1b9157(0xd8)]?.['details']?.[_0x1b9157(0xaa)]??[],this[_0x1b9157(0xa1)]=!0x1,void(this[_0x1b9157(0xa5)]=!0x0);throw new Error(_0x4d2d62?.[_0x1b9157(0xd8)]?.[_0x1b9157(0xbf)]??_0x1b9157(0xa7));}_0x51b7b6[_0x1b9157(0xb0)](_0x1b9157(0xaf));}catch(_0x386a91){this[_0x1b9157(0xd8)]=_0x386a91[_0x1b9157(0xbf)];}finally{this[_0x1b9157(0xc9)]=!0x1,this['showOrphanedIndexConfirm']||(this[_0x1b9157(0xa1)]=!0x1);}},async 'deleteViewWithIndexes'(_0x48c299){const _0x360b8=_0x5ae9e1;this['actionLoading']=!0x0;try{const _0x368cbe=_0x51b7b6[_0x360b8(0xa4)][_0x360b8(0xbb)][_0x360b8(0xbe)]['apiBase'],_0xad22fb=_0x51b7b6['$attr'][_0x360b8(0xb7)],_0x35e3d7=await fetch(_0x368cbe+_0x360b8(0xa2)+_0xad22fb,{'method':_0x360b8(0xc7),'headers':{'Content-Type':'application/json'},'body':JSON[_0x360b8(0xb3)]({'managedIndexes':_0x48c299})});if(!_0x35e3d7['ok']){const _0x5b9b69=await _0x35e3d7[_0x360b8(0xc0)]()[_0x360b8(0xbd)](()=>({}));throw new Error(_0x5b9b69?.[_0x360b8(0xd8)]?.['message']??_0x360b8(0xa7));}_0x51b7b6[_0x360b8(0xb0)](_0x360b8(0xaf));}catch(_0x4eae96){this[_0x360b8(0xd8)]=_0x4eae96[_0x360b8(0xbf)];}finally{this[_0x360b8(0xc9)]=!0x1,this[_0x360b8(0xa5)]=!0x1,this['orphanedIndexes']=[];}},'formatJson'(_0x1523ef){const _0x459ecc=_0x5ae9e1;if(null==_0x1523ef)return'';try{return JSON[_0x459ecc(0xb3)](_0x1523ef,null,0x2);}catch{return String(_0x1523ef);}},'stateColor'(_0x214a1b){const _0x204942=_0x5ae9e1;switch(_0x214a1b){case _0x204942(0xbc):return _0x204942(0xd5);case _0x204942(0xd9):case _0x204942(0xb6):return _0x204942(0xae);case'halted':return _0x204942(0xac);case'stopped':return _0x204942(0xa3);default:return _0x204942(0xb5);}},get 'state'(){const _0x3af139=_0x5ae9e1;return this['meta']?.[_0x3af139(0xb9)]??_0x3af139(0xb2);},get 'isInProgress'(){const _0x110f22=_0x5ae9e1;return'creating'===this[_0x110f22(0xb9)]||_0x110f22(0xb6)===this[_0x110f22(0xb9)];}}),'mount'(_0x69d57c){const _0x22c276=_0x5ae9e1;_0x69d57c['$watch'](()=>_0x69d57c[_0x22c276(0xc4)][_0x22c276(0xb7)],()=>{const _0x49c25f=_0x22c276;this[_0x49c25f(0xa8)]=!0x0,this[_0x49c25f(0xd6)]=null,this[_0x49c25f(0xc1)]=null,this[_0x49c25f(0xcc)]=null,this[_0x49c25f(0xa1)]=!0x1,this[_0x49c25f(0xa5)]=!0x1,this[_0x49c25f(0xaa)]=[],this['load']();}),this[_0x22c276(0xd3)]();},'style':_0x5ae9e1(0xba),'template':'<div\x20class=\x22vd\x22><if\x20:=\x22loading\x22><div\x20class=\x22vd__loading\x22>Loading…</div></if><if\x20:=\x22!loading\x22><if\x20:=\x22error\x22><div\x20class=\x22vd__error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22vd__header\x22><div\x20class=\x22vd__title-row\x22><div\x20style=\x22flex:1;\x20min-width:0;\x20display:flex;\x20align-items:baseline;\x20gap:8px;\x20overflow:hidden;\x22><h2\x20class=\x22vd__name\x22>{{\x20$attr.name\x20}}</h2><if\x20:=\x22definition\x20!=\x20null\x20&&\x20definition.type\x20!=\x20null\x20&&\x20definition.type\x20!==\x20\x27\x27\x22><span\x20class=\x22vd__type-label\x22>{{\x20definition.type\x20}}</span></if></div><span\x20class=\x22vd__state-badge\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(state)\x22><span\x20class=\x22vd__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(state)\x22/>\x20{{\x20state\x20}}</span></div><div\x20class=\x22vd__actions\x22><if\x20:=\x22!isInProgress\x22><if\x20:=\x22state\x20===\x20\x27ready\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--warning\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27stop\x27)\x22>Stop</button></if><if\x20:=\x22state\x20===\x20\x27stopped\x27\x20||\x20state\x20===\x20\x27halted\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27start\x27)\x22>Start</button></if><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27rebuild\x27)\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20true\x22>Delete</button></if><if\x20:=\x22isInProgress\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Stop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20disabled=\x22disabled\x22>Delete</button></if></div><if\x20:=\x22showDeleteConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Delete\x20view\x20<strong>{{\x20$attr.name\x20}}</strong>?\x20This\x20cannot\x20be\x20undone.</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteView()\x22>Confirm</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20false\x22>Cancel</button></div></div></if><if\x20:=\x22showOrphanedIndexConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Deleting\x20this\x20view\x20will\x20orphan:\x20<strong>{{\x20orphanedIndexes.join(\x27,\x20\x27)\x20}}</strong>.\x20Drop\x20or\x20keep\x20these\x20indexes?</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27drop\x27)\x22>Drop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27keep\x27)\x22>Keep</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showOrphanedIndexConfirm\x20=\x20false\x22>Cancel</button></div></div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Output</div><if\x20:=\x22output\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(output)\x20}}</pre></if><if\x20:=\x22output\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20output\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Meta</div><if\x20:=\x22meta\x22><div\x20class=\x22vd__meta-grid\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>state</span>\x20<span\x20class=\x22vd__meta-val\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(meta.state)\x22>{{\x20meta.state\x20??\x20\x27—\x27\x20}}</span></div><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>clock</span>\x20<span\x20class=\x22vd__meta-val\x22>{{\x20meta.clock\x20??\x20\x27—\x27\x20}}</span></div><if\x20:=\x22meta.error\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>error</span>\x20<span\x20class=\x22vd__meta-val\x20vd__meta-val--error\x22>{{\x20meta.error\x20}}</span></div></if></div><if\x20:=\x22meta.refs\x20&&\x20Object.keys(meta.refs).length\x20>\x200\x22><div\x20class=\x22vd__section-title\x22\x20style=\x22margin-top:\x208px;\x22>Refs</div><div\x20class=\x22vd__refs\x22><each\x20:of=\x22Object.entries(meta.refs)\x22\x20let:item=\x22entry\x22><div\x20class=\x22vd__ref-row\x22><span\x20class=\x22vd__ref-name\x22>{{\x20entry[0]\x20}}</span>\x20<span\x20class=\x22vd__ref-state\x22>{{\x20typeof\x20entry[1]\x20===\x20\x27object\x27\x20?\x20(entry[1]?.state\x20??\x20JSON.stringify(entry[1]))\x20:\x20entry[1]\x20}}</span></div></each></div></if></if><if\x20:=\x22!meta\x22><div\x20class=\x22vd__empty\x22>No\x20meta\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Definition</div><if\x20:=\x22definition\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(definition)\x20}}</pre></if><if\x20:=\x22definition\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20definition\x20available</div></if></div></if></div>'};function _0x3fd7(){const _0xbcfa6e=['105AbusqU','error','creating','showDeleteConfirm','/views/','#fbbf24','$ok','showOrphanedIndexConfirm','8MfhXAO','Delete\x20failed','loading','668296eQqtmI','orphanedIndexes','result','#f44336','/meta','#4FC1FF','removed','$dispatch','data','unknown','stringify','all','#666','resetting','name','7880070wrbAxx','state','view-detail{gap:0;height:100%;overflow-y:auto}.vd,.vd__header,view-detail{display:flex;flex-direction:column}.vd{gap:20px;padding:20px\x2024px}.vd__header{gap:10px;padding-bottom:16px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.vd__title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vd__name,.vd__state-badge{font-weight:600;white-space:nowrap}.vd__name{font-size:20px;color:var(--okdb-app-fg-strong);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.vd__state-badge{display:inline-flex;align-items:center;gap:6px;padding:3px\x208px;border-radius:999px;border:1px\x20solid\x20var(--okdb-app-border);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.vd__state-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.vd__type-label{font-size:11px;color:var(--okdb-app-fg-subtle);font-family:monospace}.vd__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vd__btn{padding:5px\x2012px;border-radius:4px;font-size:12px;font-weight:600;border:1px\x20solid;background:0\x200;cursor:pointer;transition:all\x20.15s\x20ease}.vd__btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.vd__btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--warning{border-color:var(--okdb-warning);color:var(--okdb-warning)}.vd__btn--warning:hover{background:color-mix(in\x20srgb,var(--okdb-warning)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--danger{border-color:var(--okdb-danger);color:var(--okdb-danger)}.vd__btn--danger:hover{background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn:disabled{opacity:.4;cursor:not-allowed}.vd__delete-confirm{display:flex;align-items:center;gap:10px;padding:8px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:5px;font-size:12px;color:var(--okdb-danger);flex-wrap:wrap}.vd__delete-confirm-text{flex:1;min-width:0}.vd__delete-confirm-actions{display:flex;gap:6px}.vd__section{display:flex;flex-direction:column;gap:10px}.vd__section-title{font-size:11px;font-weight:600;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.05em}.vd__pre{font-family:monospace;font-size:12px;background:var(--okdb-app-bg-deep);border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;padding:12px\x2014px;overflow-x:auto;color:var(--okdb-app-fg);white-space:pre;margin:0;line-height:1.5}.vd__meta-grid{display:flex;flex-direction:column;gap:6px;font-size:12px}.vd__meta-row{display:flex;gap:8px}.vd__meta-key{color:var(--okdb-app-fg-subtle);width:80px;flex-shrink:0}.vd__meta-val{color:var(--okdb-app-fg);font-family:monospace;word-break:break-all}.vd__meta-val--error{color:var(--okdb-danger)}.vd__empty,.vd__error{font-size:12px;color:var(--okdb-app-fg-subtle)}.vd__error{color:var(--okdb-danger);padding:8px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2020%,transparent);border-radius:4px}.vd__loading{font-size:12px;opacity:.5;padding:40px;text-align:center}.vd__refs{display:flex;flex-direction:column;gap:4px;margin-top:4px}.vd__ref-row{display:flex;gap:8px;font-size:11px;padding:4px\x208px;background:var(--okdb-app-bg-deep);border-radius:3px;border:1px\x20solid\x20var(--okdb-app-border)}.vd__ref-name{color:var(--okdb-sky);font-family:monospace;flex:1}.vd__ref-state{color:var(--okdb-app-fg-subtle)}','stores','ready','catch','okdb','message','json','meta','148RHQeRj','VIEW_HAS_ORPHANED_INDEXES','$attr','239094fovkQn','state-changed','DELETE','5588uyYbHg','actionLoading','15qHYQee','\x20failed','definition','POST','apiBase','4308630chdWSJ','/definition','2376730boGara','view-detail','load','6800067HjnooB','#4caf50','output'];_0x3fd7=function(){return _0xbcfa6e;};return _0x3fd7();}
|
|
1
|
+
const _0x29d8c6=_0x4999;function _0x391e(){const _0xa15840=['resetting','/meta','details','stores','stringify','DELETE','message','/views/','#4FC1FF','635KcTqyt','definition','loading','$dispatch','91111nQEXYU','585141EHBTpt','output','data','result','4085325RuCIUu','view-detail{gap:0;height:100%;overflow-y:auto}.vd,.vd__header,view-detail{display:flex;flex-direction:column}.vd{gap:20px;padding:20px\x2024px}.vd__header{gap:10px;padding-bottom:16px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.vd__title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vd__name,.vd__state-badge{font-weight:600;white-space:nowrap}.vd__name{font-size:20px;color:var(--okdb-app-fg-strong);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.vd__state-badge{display:inline-flex;align-items:center;gap:6px;padding:3px\x208px;border-radius:999px;border:1px\x20solid\x20var(--okdb-app-border);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.vd__state-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.vd__type-label{font-size:11px;color:var(--okdb-app-fg-subtle);font-family:monospace}.vd__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vd__btn{padding:5px\x2012px;border-radius:4px;font-size:12px;font-weight:600;border:1px\x20solid;background:0\x200;cursor:pointer;transition:all\x20.15s\x20ease}.vd__btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.vd__btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--warning{border-color:var(--okdb-warning);color:var(--okdb-warning)}.vd__btn--warning:hover{background:color-mix(in\x20srgb,var(--okdb-warning)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--danger{border-color:var(--okdb-danger);color:var(--okdb-danger)}.vd__btn--danger:hover{background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn:disabled{opacity:.4;cursor:not-allowed}.vd__delete-confirm{display:flex;align-items:center;gap:10px;padding:8px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:5px;font-size:12px;color:var(--okdb-danger);flex-wrap:wrap}.vd__delete-confirm-text{flex:1;min-width:0}.vd__delete-confirm-actions{display:flex;gap:6px}.vd__section{display:flex;flex-direction:column;gap:10px}.vd__section-title{font-size:11px;font-weight:600;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.05em}.vd__pre{font-family:monospace;font-size:12px;background:var(--okdb-app-bg-deep);border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;padding:12px\x2014px;overflow-x:auto;color:var(--okdb-app-fg);white-space:pre;margin:0;line-height:1.5}.vd__meta-grid{display:flex;flex-direction:column;gap:6px;font-size:12px}.vd__meta-row{display:flex;gap:8px}.vd__meta-key{color:var(--okdb-app-fg-subtle);width:80px;flex-shrink:0}.vd__meta-val{color:var(--okdb-app-fg);font-family:monospace;word-break:break-all}.vd__meta-val--error{color:var(--okdb-danger)}.vd__empty,.vd__error{font-size:12px;color:var(--okdb-app-fg-subtle)}.vd__error{color:var(--okdb-danger);padding:8px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2020%,transparent);border-radius:4px}.vd__loading{font-size:12px;opacity:.5;padding:40px;text-align:center}.vd__refs{display:flex;flex-direction:column;gap:4px;margin-top:4px}.vd__ref-row{display:flex;gap:8px;font-size:11px;padding:4px\x208px;background:var(--okdb-app-bg-deep);border-radius:3px;border:1px\x20solid\x20var(--okdb-app-border)}.vd__ref-name{color:var(--okdb-sky);font-family:monospace;flex:1}.vd__ref-state{color:var(--okdb-app-fg-subtle)}','6333296UvpEMR','orphanedIndexes','view-detail','state-changed','name','removed','$ok','18QwLPeT','json','meta','okdb','showOrphanedIndexConfirm','9748uLXBHJ','#fbbf24','apiBase','1542wLOnDE','118090eTDpoA','actionLoading','14056CfuSGD','error','#666','halted','stopped','load','showDeleteConfirm','#4caf50','$attr','state','<div\x20class=\x22vd\x22><if\x20:=\x22loading\x22><div\x20class=\x22vd__loading\x22>Loading…</div></if><if\x20:=\x22!loading\x22><if\x20:=\x22error\x22><div\x20class=\x22vd__error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22vd__header\x22><div\x20class=\x22vd__title-row\x22><div\x20style=\x22flex:1;\x20min-width:0;\x20display:flex;\x20align-items:baseline;\x20gap:8px;\x20overflow:hidden;\x22><h2\x20class=\x22vd__name\x22>{{\x20$attr.name\x20}}</h2><if\x20:=\x22definition\x20!=\x20null\x20&&\x20definition.type\x20!=\x20null\x20&&\x20definition.type\x20!==\x20\x27\x27\x22><span\x20class=\x22vd__type-label\x22>{{\x20definition.type\x20}}</span></if></div><span\x20class=\x22vd__state-badge\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(state)\x22><span\x20class=\x22vd__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(state)\x22/>\x20{{\x20state\x20}}</span></div><div\x20class=\x22vd__actions\x22><if\x20:=\x22!isInProgress\x22><if\x20:=\x22state\x20===\x20\x27ready\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--warning\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27stop\x27)\x22>Stop</button></if><if\x20:=\x22state\x20===\x20\x27stopped\x27\x20||\x20state\x20===\x20\x27halted\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27start\x27)\x22>Start</button></if><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27rebuild\x27)\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20true\x22>Delete</button></if><if\x20:=\x22isInProgress\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Stop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20disabled=\x22disabled\x22>Delete</button></if></div><if\x20:=\x22showDeleteConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Delete\x20view\x20<strong>{{\x20$attr.name\x20}}</strong>?\x20This\x20cannot\x20be\x20undone.</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteView()\x22>Confirm</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20false\x22>Cancel</button></div></div></if><if\x20:=\x22showOrphanedIndexConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Deleting\x20this\x20view\x20will\x20orphan:\x20<strong>{{\x20orphanedIndexes.join(\x27,\x20\x27)\x20}}</strong>.\x20Drop\x20or\x20keep\x20these\x20indexes?</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27drop\x27)\x22>Drop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27keep\x27)\x22>Keep</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showOrphanedIndexConfirm\x20=\x20false\x22>Cancel</button></div></div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Output</div><if\x20:=\x22output\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(output)\x20}}</pre></if><if\x20:=\x22output\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20output\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Meta</div><if\x20:=\x22meta\x22><div\x20class=\x22vd__meta-grid\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>state</span>\x20<span\x20class=\x22vd__meta-val\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(meta.state)\x22>{{\x20meta.state\x20??\x20\x27—\x27\x20}}</span></div><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>clock</span>\x20<span\x20class=\x22vd__meta-val\x22>{{\x20meta.clock\x20??\x20\x27—\x27\x20}}</span></div><if\x20:=\x22meta.error\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>error</span>\x20<span\x20class=\x22vd__meta-val\x20vd__meta-val--error\x22>{{\x20meta.error\x20}}</span></div></if></div><if\x20:=\x22meta.refs\x20&&\x20Object.keys(meta.refs).length\x20>\x200\x22><div\x20class=\x22vd__section-title\x22\x20style=\x22margin-top:\x208px;\x22>Refs</div><div\x20class=\x22vd__refs\x22><each\x20:of=\x22Object.entries(meta.refs)\x22\x20let:item=\x22entry\x22><div\x20class=\x22vd__ref-row\x22><span\x20class=\x22vd__ref-name\x22>{{\x20entry[0]\x20}}</span>\x20<span\x20class=\x22vd__ref-state\x22>{{\x20typeof\x20entry[1]\x20===\x20\x27object\x27\x20?\x20(entry[1]?.state\x20??\x20JSON.stringify(entry[1]))\x20:\x20entry[1]\x20}}</span></div></each></div></if></if><if\x20:=\x22!meta\x22><div\x20class=\x22vd__empty\x22>No\x20meta\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Definition</div><if\x20:=\x22definition\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(definition)\x20}}</pre></if><if\x20:=\x22definition\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20definition\x20available</div></if></div></if></div>','all','catch','#f44336','POST','Delete\x20failed'];_0x391e=function(){return _0xa15840;};return _0x391e();}(function(_0x4e0034,_0x3a68ea){const _0x24cfcd=_0x4999,_0x2f2939=_0x4e0034();while(!![]){try{const _0x4008c8=-parseInt(_0x24cfcd(0x67))/0x1*(parseInt(_0x24cfcd(0x75))/0x2)+-parseInt(_0x24cfcd(0x68))/0x3+-parseInt(_0x24cfcd(0x7a))/0x4*(parseInt(_0x24cfcd(0x99))/0x5)+parseInt(_0x24cfcd(0x7d))/0x6*(parseInt(_0x24cfcd(0x80))/0x7)+parseInt(_0x24cfcd(0x6e))/0x8+parseInt(_0x24cfcd(0x6c))/0x9+parseInt(_0x24cfcd(0x7e))/0xa;if(_0x4008c8===_0x3a68ea)break;else _0x2f2939['push'](_0x2f2939['shift']());}catch(_0x58e47a){_0x2f2939['push'](_0x2f2939['shift']());}}}(_0x391e,0x6d98b));function _0x4999(_0x3f1ed4,_0x359165){_0x3f1ed4=_0x3f1ed4-0x66;const _0x391ed7=_0x391e();let _0x499980=_0x391ed7[_0x3f1ed4];return _0x499980;}export default{'tag':_0x29d8c6(0x70),'attr':{'name':{}},'context':_0x580abd=>({'output':null,'meta':null,'definition':null,'loading':!0x0,'error':null,'actionLoading':!0x1,'showDeleteConfirm':!0x1,'showOrphanedIndexConfirm':!0x1,'orphanedIndexes':[],async 'load'(){const _0x29ff4a=_0x29d8c6;this[_0x29ff4a(0x9b)]=!0x0,this[_0x29ff4a(0x81)]=null,this[_0x29ff4a(0x69)]=null,this[_0x29ff4a(0x77)]=null,this[_0x29ff4a(0x9a)]=null;try{const _0x401ae1=_0x580abd[_0x29ff4a(0x74)][_0x29ff4a(0x93)][_0x29ff4a(0x78)][_0x29ff4a(0x7c)],_0x214cbe=_0x580abd[_0x29ff4a(0x88)][_0x29ff4a(0x72)],[_0x9a3d68,_0x51eadf,_0x49a1d3]=await Promise[_0x29ff4a(0x8b)]([fetch(_0x401ae1+_0x29ff4a(0x97)+_0x214cbe),fetch(_0x401ae1+_0x29ff4a(0x97)+_0x214cbe+_0x29ff4a(0x91)),fetch(_0x401ae1+'/views/'+_0x214cbe+'/definition')]),_0xb1b896=_0x9a3d68['ok']?await _0x9a3d68[_0x29ff4a(0x76)]():null,_0x593177=_0x51eadf['ok']?await _0x51eadf[_0x29ff4a(0x76)]():null,_0x3dfd50=_0x49a1d3['ok']?await _0x49a1d3[_0x29ff4a(0x76)]():null;this[_0x29ff4a(0x69)]=_0xb1b896?.['data']??_0xb1b896?.[_0x29ff4a(0x6b)]??null,this[_0x29ff4a(0x77)]=_0x593177?.[_0x29ff4a(0x6a)]??_0x593177?.['result']??null,this[_0x29ff4a(0x9a)]=_0x3dfd50?.[_0x29ff4a(0x6a)]??_0x3dfd50?.[_0x29ff4a(0x6b)]??null;}catch(_0x5bf340){this[_0x29ff4a(0x81)]=_0x5bf340[_0x29ff4a(0x96)];}finally{this[_0x29ff4a(0x9b)]=!0x1;}},async 'doAction'(_0x192963){const _0x5c7600=_0x29d8c6;this['actionLoading']=!0x0;try{const _0x507a4d=_0x580abd['$ok']['stores']['okdb']['apiBase'],_0x2db12e=_0x580abd['$attr']['name'],_0x23f157=await fetch(_0x507a4d+_0x5c7600(0x97)+_0x2db12e+'/'+_0x192963,{'method':_0x5c7600(0x8e)});if(!_0x23f157['ok']){const _0x20807f=await _0x23f157[_0x5c7600(0x76)]()[_0x5c7600(0x8c)](()=>({}));throw new Error(_0x20807f?.[_0x5c7600(0x81)]?.['message']??_0x192963+'\x20failed');}await this['load'](),_0x580abd[_0x5c7600(0x66)](_0x5c7600(0x71));}catch(_0x41e428){this['error']=_0x41e428[_0x5c7600(0x96)];}finally{this[_0x5c7600(0x7f)]=!0x1;}},async 'deleteView'(){const _0x3f4e9a=_0x29d8c6;this[_0x3f4e9a(0x7f)]=!0x0;try{const _0x328ed4=_0x580abd[_0x3f4e9a(0x74)][_0x3f4e9a(0x93)][_0x3f4e9a(0x78)][_0x3f4e9a(0x7c)],_0x2e6870=_0x580abd[_0x3f4e9a(0x88)][_0x3f4e9a(0x72)],_0x574b78=await fetch(_0x328ed4+'/views/'+_0x2e6870,{'method':_0x3f4e9a(0x95)});if(!_0x574b78['ok']){const _0x3e28fa=await _0x574b78['json']()['catch'](()=>({})),_0x238513=_0x3e28fa?.[_0x3f4e9a(0x81)]?.['code'];if('VIEW_HAS_ORPHANED_INDEXES'===_0x238513)return this[_0x3f4e9a(0x6f)]=_0x3e28fa?.['error']?.[_0x3f4e9a(0x92)]?.['orphanedIndexes']??[],this['showDeleteConfirm']=!0x1,void(this[_0x3f4e9a(0x79)]=!0x0);throw new Error(_0x3e28fa?.[_0x3f4e9a(0x81)]?.['message']??_0x3f4e9a(0x8f));}_0x580abd['$dispatch']('removed');}catch(_0x69ddfa){this['error']=_0x69ddfa[_0x3f4e9a(0x96)];}finally{this['actionLoading']=!0x1,this[_0x3f4e9a(0x79)]||(this[_0x3f4e9a(0x86)]=!0x1);}},async 'deleteViewWithIndexes'(_0x31f584){const _0x38cd66=_0x29d8c6;this[_0x38cd66(0x7f)]=!0x0;try{const _0x5630e0=_0x580abd['$ok'][_0x38cd66(0x93)]['okdb']['apiBase'],_0xcabe2=_0x580abd[_0x38cd66(0x88)][_0x38cd66(0x72)],_0x1857b1=await fetch(_0x5630e0+_0x38cd66(0x97)+_0xcabe2,{'method':_0x38cd66(0x95),'headers':{'Content-Type':'application/json'},'body':JSON[_0x38cd66(0x94)]({'managedIndexes':_0x31f584})});if(!_0x1857b1['ok']){const _0x160ce7=await _0x1857b1[_0x38cd66(0x76)]()[_0x38cd66(0x8c)](()=>({}));throw new Error(_0x160ce7?.[_0x38cd66(0x81)]?.[_0x38cd66(0x96)]??_0x38cd66(0x8f));}_0x580abd[_0x38cd66(0x66)](_0x38cd66(0x73));}catch(_0x2b6c4d){this[_0x38cd66(0x81)]=_0x2b6c4d['message'];}finally{this['actionLoading']=!0x1,this['showOrphanedIndexConfirm']=!0x1,this[_0x38cd66(0x6f)]=[];}},'formatJson'(_0x72845d){const _0x4b64d8=_0x29d8c6;if(null==_0x72845d)return'';try{return JSON[_0x4b64d8(0x94)](_0x72845d,null,0x2);}catch{return String(_0x72845d);}},'stateColor'(_0x36ceb5){const _0x30724a=_0x29d8c6;switch(_0x36ceb5){case'ready':return _0x30724a(0x87);case'creating':case _0x30724a(0x90):return _0x30724a(0x98);case _0x30724a(0x83):return _0x30724a(0x8d);case _0x30724a(0x84):return _0x30724a(0x7b);default:return _0x30724a(0x82);}},get 'state'(){const _0x4f3d64=_0x29d8c6;return this[_0x4f3d64(0x77)]?.[_0x4f3d64(0x89)]??'unknown';},get 'isInProgress'(){const _0xd5026f=_0x29d8c6;return'creating'===this[_0xd5026f(0x89)]||'resetting'===this['state'];}}),'mount'(_0x2d1ab9){const _0x29d1f1=_0x29d8c6;_0x2d1ab9['$watch'](()=>_0x2d1ab9[_0x29d1f1(0x88)][_0x29d1f1(0x72)],()=>{const _0xcf1782=_0x29d1f1;this[_0xcf1782(0x9b)]=!0x0,this[_0xcf1782(0x69)]=null,this['meta']=null,this[_0xcf1782(0x9a)]=null,this[_0xcf1782(0x86)]=!0x1,this[_0xcf1782(0x79)]=!0x1,this[_0xcf1782(0x6f)]=[],this[_0xcf1782(0x85)]();}),this[_0x29d1f1(0x85)]();},'style':_0x29d8c6(0x6d),'template':_0x29d8c6(0x8a)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x420ebd=_0x2170;(function(_0x40bb6d,_0x56c7c){const _0x4476b0=_0x2170,_0x3daacd=_0x40bb6d();while(!![]){try{const _0x1fd093=parseInt(_0x4476b0(0x141))/0x1*(parseInt(_0x4476b0(0x145))/0x2)+-parseInt(_0x4476b0(0x14f))/0x3+parseInt(_0x4476b0(0x15a))/0x4+-parseInt(_0x4476b0(0x169))/0x5+-parseInt(_0x4476b0(0x142))/0x6*(-parseInt(_0x4476b0(0x151))/0x7)+-parseInt(_0x4476b0(0x156))/0x8*(parseInt(_0x4476b0(0x166))/0x9)+parseInt(_0x4476b0(0x152))/0xa*(-parseInt(_0x4476b0(0x15b))/0xb);if(_0x1fd093===_0x56c7c)break;else _0x3daacd['push'](_0x3daacd['shift']());}catch(_0x470340){_0x3daacd['push'](_0x3daacd['shift']());}}}(_0x903a,0xcdf9f));function _0x2170(_0xfc2652,_0x202617){_0xfc2652=_0xfc2652-0x13f;const _0x903a98=_0x903a();let _0x2170b9=_0x903a98[_0xfc2652];return _0x2170b9;}function _0x903a(){const _0x43aacb=['all','2204997yWXKKl','onCreate','7XCpnNK','14128460zzJfbY','okdb','#666','result','8qgFbGy','stopped','views','/meta','3031888pSCHVX','11SWrHGm','$attr','unknown','stores','Failed\x20to\x20load\x20views','resetting','type','state','#4FC1FF','selected','json','2726613IAHJXA','#4caf50','message','24630ynRoBO','/views/','apiBase','$ok','4vpgmcE','6801306DcWGxs','$dispatch','<if\x20:=\x22error\x20&&\x20!loading\x22><div\x20class=\x22vl__error\x22><span>{{\x20error\x20}}</span>\x20<button\x20class=\x22vl__error-retry\x22\x20@click=\x22load()\x22\x20title=\x22Retry\x22>↺</button></div></if><button\x20class=\x22vl__item\x22\x20:class=\x22selected\x20===\x20null\x20?\x20\x27vl__item--selected\x27\x20:\x20\x27\x27\x22\x20@click=\x22selectOverview()\x22\x20style=\x22margin-bottom:4px;\x22><span\x20style=\x22font-size:13px;opacity:.6;flex-shrink:0;line-height:1;\x22>⊞</span>\x20<span\x20class=\x22vl__name\x22\x20style=\x22font-family:inherit;\x22>Overview</span></button><div\x20style=\x22height:1px;\x20background:var(--okdb-app-surface-2);\x20margin:2px\x200\x206px;\x22/><button\x20class=\x22vl__add\x22\x20@click=\x22handleCreate()\x22>+\x20Create\x20View\x20({{\x20views.length\x20}})</button><if\x20:=\x22loading\x20&&\x20views.length\x20===\x200\x22><div\x20class=\x22vl__message\x22>Loading…</div></if><each\x20:of=\x22views\x22\x20let:item=\x22v\x22><button\x20class=\x22vl__item\x22\x20:class=\x22selected\x20===\x20v.name\x20?\x20\x27vl__item--selected\x27\x20:\x20\x27\x27\x22\x20@click=\x22selectView(v)\x22\x20:title=\x22v.name\x22><span\x20class=\x22vl__name\x22>{{\x20v.name\x20}}</span>\x20<span\x20class=\x22vl__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(v.state)\x22/></button></each><if\x20:=\x22!loading\x20&&\x20views.length\x20===\x200\x20&&\x20!error\x22><div\x20class=\x22vl__message\x22>No\x20views</div></if>','703942IhFKNh','halted','load','$watch','name','selectedEnv','#f44336','data','loading'];_0x903a=function(){return _0x43aacb;};return _0x903a();}export default{'tag':'views-list','attr':{'onCreate':{}},'context':_0x2e75fd=>({'views':[],'selected':null,'loading':!0x1,'error':null,async 'load'(){const _0x110fb4=_0x2170;this[_0x110fb4(0x14d)]=!0x0,this['error']=null;try{if(!_0x2e75fd['$ok'][_0x110fb4(0x15e)][_0x110fb4(0x153)][_0x110fb4(0x14a)])return void(this[_0x110fb4(0x158)]=[]);const _0x58f9ca=_0x2e75fd[_0x110fb4(0x140)][_0x110fb4(0x15e)][_0x110fb4(0x153)][_0x110fb4(0x13f)],_0x1dc4f4=await fetch(_0x58f9ca+'/views');if(!_0x1dc4f4['ok'])throw new Error(_0x110fb4(0x15f));const _0xbac27f=await _0x1dc4f4[_0x110fb4(0x165)](),_0x392a30=_0xbac27f[_0x110fb4(0x14c)]??_0xbac27f[_0x110fb4(0x155)]??[],_0x43ca09=await Promise[_0x110fb4(0x14e)](_0x392a30['map'](async _0x596306=>{const _0x14cba6=_0x110fb4,[_0x146c8a,_0x219fbd]=await Promise[_0x14cba6(0x14e)]([fetch(_0x58f9ca+_0x14cba6(0x16a)+_0x596306+_0x14cba6(0x159)),fetch(_0x58f9ca+_0x14cba6(0x16a)+_0x596306+'/definition')]),_0x29b306=_0x146c8a['ok']?await _0x146c8a['json']():{},_0x2c0793=_0x219fbd['ok']?await _0x219fbd[_0x14cba6(0x165)]():{},_0x120eee=_0x29b306[_0x14cba6(0x14c)]??_0x29b306['result']??{},_0x57f349=_0x2c0793[_0x14cba6(0x14c)]??_0x2c0793[_0x14cba6(0x155)]??{};return{'name':_0x596306,'state':_0x120eee?.[_0x14cba6(0x162)]??_0x14cba6(0x15d),'type':_0x57f349?.[_0x14cba6(0x161)]??'?'};}));this[_0x110fb4(0x158)]=_0x43ca09;}catch(_0x5893a5){this['error']=_0x5893a5[_0x110fb4(0x168)];}finally{this[_0x110fb4(0x14d)]=!0x1;}},'selectOverview'(){const _0x4ebaec=_0x2170;this[_0x4ebaec(0x164)]=null,_0x2e75fd[_0x4ebaec(0x143)](_0x4ebaec(0x164),null);},'selectView'(_0x18e82a){const _0x360f1d=_0x2170;this['selected']=_0x18e82a['name'],_0x2e75fd[_0x360f1d(0x143)](_0x360f1d(0x164),_0x18e82a[_0x360f1d(0x149)]);},'handleCreate'(){const _0x3cd064=_0x2170;_0x2e75fd[_0x3cd064(0x15c)][_0x3cd064(0x150)]?.();},'stateColor'(_0x165449){const _0x136ae8=_0x2170;switch(_0x165449){case'ready':return _0x136ae8(0x167);case'creating':case _0x136ae8(0x160):return _0x136ae8(0x163);case _0x136ae8(0x146):return _0x136ae8(0x14b);case _0x136ae8(0x157):return'#fbbf24';default:return _0x136ae8(0x154);}}}),'mount'(_0x55e673){const _0x45d6d8=_0x2170;_0x55e673[_0x45d6d8(0x148)](()=>_0x55e673[_0x45d6d8(0x140)]['stores']['okdb']['selectedEnv'],()=>this[_0x45d6d8(0x147)]()),this[_0x45d6d8(0x147)]();},'style':'views-list{position:relative;display:flex;flex-direction:column;gap:2px}views-list\x20button{text-align:left}.vl__add{font-size:12px;padding:7px\x2010px;margin-bottom:4px}.vl__item{display:flex;align-items:center;gap:6px;padding:6px\x2010px;font-size:12px;background:0\x200;border-color:transparent;color:var(--okdb-app-fg-muted);border-radius:7px;width:100%}.vl__item:hover{background:var(--okdb-app-surface-2);border-color:var(--okdb-app-border);color:var(--okdb-app-fg)}.vl__item--selected{background:var(--okdb-app-bg-deep)!important;border-color:color-mix(in\x20srgb,var(--okdb-accent)\x2027%,transparent)!important;color:var(--okdb-accent)!important}.vl__name{flex:1;font-family:monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vl__state-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.vl__error{display:flex;align-items:flex-start;gap:6px;padding:8px\x2010px;font-size:11px;color:var(--okdb-danger);background:rgba(255,60,60,.06);border:1px\x20solid\x20rgba(255,60,60,.18);border-radius:6px;line-height:1.4;word-break:break-word}.vl__error\x20span{flex:1}.vl__error-retry{flex-shrink:0;background:0\x200;border:0;color:var(--okdb-danger);cursor:pointer;font-size:14px;padding:0\x202px;opacity:.7}.vl__error-retry:hover{opacity:1}.vl__message{font-size:11px;opacity:.5;padding:8px;text-align:center;color:var(--okdb-app-fg-muted)}','template':_0x420ebd(0x144)};
|