@kedem/okdb 1.0.0 → 1.0.3
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/keys/public.pem +3 -0
- package/okdb.js +1 -1
- package/package.json +2 -2
- 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/vendor/okjs/ok.esm.min.js +1 -2
- package/public/vendor/okjs/toolkit/behavior/async.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-chart.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-doc-viewer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-marked.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-monaco.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-layer-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-layer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-overlay.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-sandbox.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/transition.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/virtualized.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-console-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-console.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-inspector-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-inspector.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-js-tree.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-timeline-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-timeline.ok.js +1 -1
- package/public/vendor/okjs/toolkit/docs/doc-viewer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-component.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-example.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-shell.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-dropdown.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-icon.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-select.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-table.ok.js +1 -1
- package/public/vendor/okjs/toolkit/errors/ok-crash-boundary.ok.js +1 -1
- package/public/vendor/okjs/toolkit/errors/ok-crash-info.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-editor-examples.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-key-editor-tips.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-key-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/ok-i18n.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-contextmenu.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-dismiss-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-draggable.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-flyover-panel.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-flyover.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-highlight-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-highlight.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-hotkeys-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-picker-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-popout-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-popout.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-portal-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-submenu.ok.js +1 -1
- package/public/vendor/okjs/toolkit/layout/ok-resizer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/manifest.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-modal-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-modal.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-toast-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-window.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/hash-router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/history-router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/sync/reactive-sync-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/sync/reactive-sync.js +1 -1
- package/public/vendor/okjs/toolkit/theming/blocks/ok-design-button.css.js +1 -1
- package/public/vendor/okjs/toolkit/theming/blocks/ok-design-input.css.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design-style.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design-vars.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-input.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-style.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-utils.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-variable.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-vm.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme.ok.js +1 -1
- package/public/view-models/type-query-vm.js +1 -1
- package/public/images/logo.png +0 -0
- package/public/images/logo.svg +0 -333
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x9de5a5=_0x46ba;(function(_0x1b09cc,_0x1cdf3d){const _0x2f1122=_0x46ba,_0x496639=_0x1b09cc();while(!![]){try{const _0x4777ea=-parseInt(_0x2f1122(0x85))/0x1*(parseInt(_0x2f1122(0xd2))/0x2)+-parseInt(_0x2f1122(0x87))/0x3+-parseInt(_0x2f1122(0xb2))/0x4+parseInt(_0x2f1122(0x7d))/0x5*(parseInt(_0x2f1122(0xcb))/0x6)+parseInt(_0x2f1122(0x83))/0x7+parseInt(_0x2f1122(0xae))/0x8*(-parseInt(_0x2f1122(0xc1))/0x9)+parseInt(_0x2f1122(0x8f))/0xa;if(_0x4777ea===_0x1cdf3d)break;else _0x496639['push'](_0x496639['shift']());}catch(_0xbdd110){_0x496639['push'](_0x496639['shift']());}}}(_0x1bcb,0x7aeba));function _0x46ba(_0x2c30f0,_0x162662){_0x2c30f0=_0x2c30f0-0x75;const _0x1bcb80=_0x1bcb();let _0x46ba36=_0x1bcb80[_0x2c30f0];return _0x46ba36;}function _0x1bcb(){const _0x3662d6=['Failed','application/json','map','error','/item/','/ttl','object','clock','var(--okdb-success)','stores','TTL\x20set\x20(','\x0a\x20\x20\x20\x20\x20\x20\x20\x20<transition\x20name=\x22grow\x22>\x0a\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<!--\x20Clock\x20+\x20TTL\x20badges\x20row\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:6px;\x20margin-bottom:8px;\x22>\x0a\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@click=\x22toggleClock()\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\x20style=\x22font-size:10px;\x20padding:1px\x207px;\x20border-radius:4px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20cursor:pointer;\x20font-family:monospace;\x20display:flex;\x20align-items:center;\x20gap:5px;\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\x20title=\x22Show\x20change\x20history\x20for\x20this\x20record\x22\x0a\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<if\x20:=\x22clockBusy\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>clock\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</if>\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:=\x22!clockBusy\x20&&\x20latestClock\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\x20\x20\x20\x20<span>clock:\x20{{\x20latestClock\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\x20<if\x20:=\x22latestTime\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\x20\x20\x20\x20<span\x20style=\x22opacity:.55;\x20font-family:sans-serif;\x20font-size:10px;\x22>·\x20{{\x20latestTime\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\x20</if>\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=\x22opacity:.4;\x22>{{\x20clockOpen\x20?\x20\x27▲\x27\x20:\x20\x27▼\x27\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</if>\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:=\x22!clockBusy\x20&&\x20latestClock\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\x20\x20\x20\x20<span\x20style=\x22opacity:.5;\x22>no\x20clock</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</button>\x0a\x0a\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@click=\x22ttlOpen\x20=\x20!ttlOpen\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:style=\x22\x27font-size:10px;\x20padding:1px\x207px;\x20border-radius:4px;\x20border:1px\x20solid\x20\x27\x20+\x20(ttlInfo\x20?\x20ttlBadgeColor\x20+\x20\x2755\x27\x20:\x20\x27var(--okdb-app-border)\x27)\x20+\x20\x27;\x20background:var(--okdb-app-bg-deep);\x20color:\x27\x20+\x20ttlBadgeColor\x20+\x20\x27;\x20cursor:pointer;\x20font-family:monospace;\x20display:flex;\x20align-items:center;\x20gap:5px;\x27\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\x20title=\x22TTL\x20(time-to-live)\x20for\x20this\x20record\x22\x0a\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<span>{{\x20ttlBadgeText\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<if\x20:=\x22ttlInfo\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=\x22opacity:.4;\x22>{{\x20ttlOpen\x20?\x20\x27▲\x27\x20:\x20\x27▼\x27\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</if>\x0a\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</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Changelog\x20+\x20time-travel\x20panel\x20(opens\x20when\x20clock\x20badge\x20clicked)\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22clockOpen\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-bottom:10px;\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<!--\x20Changelog\x20table\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<if\x20:=\x22clockEntries\x20&&\x20clockEntries.length\x20>\x200\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<div\x20style=\x22margin-bottom:8px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:6px;\x20overflow:hidden;\x20font-size:11px;\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\x20\x20\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:auto\x20auto\x201fr\x20auto;\x20gap:0;\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>clock</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>action</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>wall\x20time</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>origin</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22clockEntries\x22\x20let:item=\x22entry\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20font-family:monospace;\x20opacity:.8;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\x22>{{\x20entry.clock\x20??\x20\x27—\x27\x20}}</div>\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20(entry.action\x20===\x20\x27put\x27\x20?\x20\x27var(--okdb-success)\x27\x20:\x20entry.action\x20===\x20\x27remove\x27\x20?\x20\x27var(--okdb-danger)\x27\x20:\x20\x27var(--okdb-warning)\x27)\x22>{{\x20entry.action\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\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20opacity:.6;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\x20white-space:nowrap;\x22>{{\x20hlcToDate(entry.timestamp)\x20}}</div>\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20font-family:monospace;\x20opacity:.35;\x20font-size:10px;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\x20white-space:nowrap;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20max-width:120px;\x22\x20:title=\x22entry.origin\x22>{{\x20(entry.origin\x20||\x20\x27—\x27).slice(0,\x208)\x20}}</div>\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\x20\x20\x20\x20\x20\x20\x20\x20</each>\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\x20\x20\x20\x20</div>\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</div>\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\x20\x20\x20\x20<!--\x20Time-travel\x20scrubber\x20(sits\x20outside\x20overflow:hidden\x20so\x20tooltips\x20aren\x27t\x20clipped)\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<tm-timeline\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:type=\x22type\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:item-key=\x22key\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:env=\x22$ok.stores.okdb.selectedEnv\x20||\x20\x27default\x27\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:selected-clock=\x22tmSelectedClock\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@tm-clock-select=\x22onTMClockSelect($event.detail)\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@tm-diffs-loaded=\x22tmDiffs\x20=\x20$event.detail.diffs\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</div>\x0a\x20\x20\x20\x20\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\x20\x20\x20\x20<!--\x20TTL\x20detail\x20panel\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22ttlOpen\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-bottom:10px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:6px;\x20padding:10px;\x20font-size:11px;\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<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20margin-bottom:8px;\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-weight:600;\x20opacity:.6;\x22>Time-to-Live</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\x20<if\x20:=\x22ttlInfo\x20&&\x20ttlInfo.expiresAt\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\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20ttlBadgeColor\x20+\x20\x27;\x20font-family:monospace;\x27\x22>{{\x20fmtDuration(ttlInfo.remainingMs)\x20}}\x20remaining</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\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.35;\x20font-size:10px;\x22>·\x20expires\x20{{\x20new\x20Date(ttlInfo.expiresAt).toLocaleString()\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\x20</if>\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<if\x20:=\x22!ttlInfo\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\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>No\x20TTL\x20set\x20—\x20this\x20item\x20will\x20not\x20expire.</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\x20</if>\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</div>\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<div\x20style=\x22display:flex;\x20gap:6px;\x20align-items:center;\x20flex-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\x20\x20\x20\x20<select\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\x20\x20\x20\x20@change=\x22onTTLPresetChange($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\x20\x20\x20\x20style=\x22font-size:11px;\x20padding:2px\x206px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:4px;\x20color:var(--okdb-app-fg);\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>\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\x20\x20\x20\x20<option\x20value=\x22\x22>Custom…</option>\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\x20\x20\x20\x20<each\x20:of=\x22ttlPresets\x22\x20let:item=\x22p\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\x20\x20\x20\x20\x20\x20\x20\x20<option\x20:value=\x22String(p.ms)\x22\x20:selected=\x22ttlPreset\x20===\x20String(p.ms)\x22>{{\x20p.label\x20}}</option>\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\x20\x20\x20\x20</each>\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</select>\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\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\x20\x20\x20\x20type=\x22number\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\x20\x20\x20\x20!value=\x22ttlInputMs\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\x20\x20\x20\x20@input=\x22(ttlInputMs\x20=\x20$el.value,\x20ttlPreset\x20=\x20\x27\x27)\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\x20\x20\x20\x20placeholder=\x22ms\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\x20\x20\x20\x20style=\x22width:100px;\x20font-size:11px;\x20padding:2px\x206px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:4px;\x20color:var(--okdb-app-fg);\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/>\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<button\x20@click=\x22setItemTTL()\x22\x20:disabled=\x22ttlBusy\x20||\x20!ttlInputMs\x22\x20style=\x22font-size:11px;\x20padding:2px\x2010px;\x20color:var(--okdb-success);\x20border-color:color-mix(in\x20srgb,\x20var(--okdb-success)\x2033%,\x20transparent);\x22>Set\x20TTL</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\x20\x20\x20\x20<if\x20:=\x22ttlInfo\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\x20\x20\x20\x20<button\x20@click=\x22clearItemTTL()\x22\x20:disabled=\x22ttlBusy\x22\x20style=\x22font-size:11px;\x20padding:2px\x2010px;\x20color:var(--okdb-danger);\x20border-color:color-mix(in\x20srgb,\x20var(--okdb-danger)\x2033%,\x20transparent);\x22>Clear\x20TTL</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\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\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadTTL()\x22\x20:disabled=\x22ttlBusy\x22\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20opacity:.5;\x22\x20title=\x22Refresh\x20TTL\x20info\x22>↻</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</div>\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</if>\x0a\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\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20JSON\x20header\x20with\x20historical\x20clock\x20badge\x20+\x20prev/next\x20navigation\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;\x20align-items:center;\x20gap:5px;\x20margin-bottom:4px;\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<if\x20:=\x22tmSelectedClock\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\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\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22goPrev()\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\x20\x20\x20\x20:disabled=\x22!canGoPrev\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\x20\x20\x20\x20:style=\x22\x27font-size:12px;\x20padding:0\x206px;\x20height:20px;\x20line-height:1;\x20border-radius:4px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20cursor:pointer;\x20font-family:monospace;\x20opacity:\x27\x20+\x20(canGoPrev\x20?\x20\x271\x27\x20:\x20\x27.3\x27)\x20+\x20\x27;\x20transition:opacity\x20120ms;\x27\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\x20\x20\x20\x20title=\x22Previous\x20snapshot\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>←</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\x20\x20\x20\x20<span\x20style=\x22display:inline-flex;\x20align-items:center;\x20gap:6px;\x20font-size:10px;\x20padding:1px\x208px;\x20border-radius:4px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2012%,\x20transparent);\x20color:var(--okdb-accent);\x20font-family:monospace;\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\x20\x20\x20\x20<span>clock\x20{{\x20tmSelectedClock\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\x20\x20\x20\x20\x20<if\x20:=\x22tmSelectedTime\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\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.6;\x20font-family:sans-serif;\x20font-weight:400;\x22>{{\x20tmSelectedTime\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\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\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\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\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22goNext()\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\x20\x20\x20\x20:disabled=\x22!canGoNext\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\x20\x20\x20\x20:style=\x22\x27font-size:12px;\x20padding:0\x206px;\x20height:20px;\x20line-height:1;\x20border-radius:4px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20cursor:pointer;\x20font-family:monospace;\x20opacity:\x27\x20+\x20(canGoNext\x20?\x20\x271\x27\x20:\x20\x27.3\x27)\x20+\x20\x27;\x20transition:opacity\x20120ms;\x27\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\x20\x20\x20\x20title=\x22Next\x20snapshot\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>→</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>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22position:relative;\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<ok-json-input\x20ref=\x22editor\x22\x20:value=\x22tmSelectedClock\x20!==\x20null\x20?\x20tmValue\x20:\x20row\x22\x20@edit=\x22edited=$event.detail\x22\x20@parse-error=\x22jsonError=$event.detail\x22\x20style=\x22min-height:\x20300px\x22></ok-json-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<if\x20:=\x22tmFetchBusy\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<div\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\x20\x20\x20\x20style=\x22position:absolute;\x20inset:0;\x20background:var(--okdb-app-bg)88;\x20display:flex;\x20align-items:center;\x20justify-content:center;\x20border-radius:6px;\x20z-index:2;\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>\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\x20\x20\x20\x20<span\x20style=\x22font-size:12px;\x20opacity:.6;\x22>loading…</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\x20</div>\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\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:8px;\x20display:flex;\x20gap:8px;\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<button\x20@click=\x22reset\x22\x20:disabled=\x22!hasEditedValue\x22>Reset</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<button\x20@click=\x22save\x22\x20:disabled=\x22!hasEditedValue\x20||\x20busySave\x22>Save</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<button\x20@click=\x22remove\x22\x20:disabled=\x22busyRemove\x22>Delete</button>\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</transition>\x0a\x20\x20\x20\x20','toLocaleString','tmSelectedDiff','24\x20hr','no\x20ttl','var(--okdb-orange)','floor','DELETE','5\x20min','change','Save\x20failed','1\x20min','api','32axCbeS','key','catch','ttlInputMs','2716528cwitsQ','tmSelectedClock','value','ttlBusy','Remove\x20row\x20error','shared','edited','Save\x20row\x20error','canGoNext','ttlInfo','tmFetchBusy','tmDiffClocks','busyRemove','toast','$ok','1933407PUZNXv','var(--okdb-app-fg-muted)','parse','TTL\x20cleared','reset','numeric','ttlPreset','clockEntries','length','json','30buaqGt','$watch','busySave','all','clockOpen','remainingMs','loadClock','2MlQLLi','loadTTL','type','clockBusy','hlcToDate','tmCurrentIdx','find','dispatchEvent','tmValue','statusText','info','onTMClockSelect','fmtDuration','jsonError','7\x20days','row','422575PLzsoE','message','2-digit','remove','edit-row','15\x20min','4176242sanDkH','PUT','1005921CYXEJo','Failed\x20to\x20clear\x20TTL','2965797iQBAjV','/type/','var(--okdb-danger)','6\x20hr','tmDiffs','canGoPrev','string','data','30172450eVkWjT','Failed\x20to\x20set\x20TTL','timestamp','$el','$attr','result','$refs'];_0x1bcb=function(){return _0x3662d6;};return _0x1bcb();}import _0x3d64d1 from'../../../components/ok-json-input.ok.js';import _0x1e70b2 from'./tm-timeline.ok.js';function o(_0xf803a1){const _0x326e18=_0x46ba;return!!_0xf803a1&&_0x326e18(0x9c)==typeof _0xf803a1&&!Array['isArray'](_0xf803a1);}export default{'tag':_0x9de5a5(0x81),'dependencies':[_0x3d64d1,_0x1e70b2],'attr':{'type':{},'key':{},'row':{}},'context':_0x4ee3e3=>({get 'api'(){const _0x5f0112=_0x9de5a5;return _0x4ee3e3[_0x5f0112(0xc0)][_0x5f0112(0x9f)]['okdb']['apiBase'];},get 'type'(){const _0x41fec4=_0x9de5a5;return _0x4ee3e3[_0x41fec4(0x93)]['type'];},get 'key'(){const _0x167b31=_0x9de5a5;return _0x4ee3e3['$attr'][_0x167b31(0xaf)];},get 'row'(){const _0x3e88d6=_0x9de5a5;return _0x4ee3e3['$attr'][_0x3e88d6(0x7c)];},get 'hasEditedValue'(){const _0x406635=_0x9de5a5;return void 0x0!==this[_0x406635(0xb8)]&&!this['jsonError'];},'edited':void 0x0,'jsonError':!0x1,'busySave':!0x1,'busyRemove':!0x1,'tmSelectedClock':null,'tmFetchBusy':!0x1,'tmValue':null,'tmDiffs':[],get 'tmDiffClocks'(){const _0x49eaf2=_0x9de5a5;return this[_0x49eaf2(0x8b)][_0x49eaf2(0x98)](_0xca72=>_0xca72[_0x49eaf2(0x9d)]);},get 'tmSelectedDiff'(){const _0x49ce9a=_0x9de5a5;return null===this[_0x49ce9a(0xb3)]?null:this[_0x49ce9a(0x8b)][_0x49ce9a(0xd8)](_0x4e1644=>_0x4e1644[_0x49ce9a(0x9d)]===this[_0x49ce9a(0xb3)])??null;},get 'tmSelectedTime'(){const _0xb15307=_0x9de5a5,_0x34a8f7=this[_0xb15307(0xa3)]?.[_0xb15307(0x91)];return _0x34a8f7?new Date(_0x34a8f7)[_0xb15307(0xa2)]('en-GB',{'day':_0xb15307(0xc6),'month':'short','year':_0xb15307(0xc6),'hour':'2-digit','minute':'2-digit','second':_0xb15307(0x7f)}):null;},get 'tmCurrentIdx'(){const _0x1af87d=_0x9de5a5;return null===this[_0x1af87d(0xb3)]?-0x1:this[_0x1af87d(0xbd)]['indexOf'](this[_0x1af87d(0xb3)]);},get 'canGoPrev'(){return this['tmCurrentIdx']>0x0;},get 'canGoNext'(){const _0x500dba=_0x9de5a5;return-0x1!==this[_0x500dba(0xd7)]&&this[_0x500dba(0xd7)]<this[_0x500dba(0xbd)][_0x500dba(0xc9)]-0x1;},'goPrev'(){const _0x4eaeb1=_0x9de5a5;this[_0x4eaeb1(0x8c)]&&this['onTMClockSelect']({'clock':this[_0x4eaeb1(0xbd)][this[_0x4eaeb1(0xd7)]-0x1]});},'goNext'(){const _0xb8346c=_0x9de5a5;this[_0xb8346c(0xba)]&&this[_0xb8346c(0x78)]({'clock':this['tmDiffClocks'][this[_0xb8346c(0xd7)]+0x1]});},'clockOpen':!0x1,'clockBusy':!0x1,'clockEntries':null,'ttlInfo':null,'ttlBusy':!0x1,'ttlOpen':!0x1,'ttlInputMs':'','ttlPreset':'','ttlPresets':[{'label':_0x9de5a5(0xac),'ms':0xea60},{'label':_0x9de5a5(0xa9),'ms':0x493e0},{'label':_0x9de5a5(0x82),'ms':0xdbba0},{'label':'1\x20hr','ms':0x36ee80},{'label':_0x9de5a5(0x8a),'ms':0x1499700},{'label':_0x9de5a5(0xa4),'ms':0x5265c00},{'label':_0x9de5a5(0x7b),'ms':0x240c8400},{'label':'30\x20days','ms':0x9a7ec800}],async 'loadTTL'(){const _0x31779e=_0x9de5a5;if(!this[_0x31779e(0xb5)]){this[_0x31779e(0xb5)]=!0x0;try{const _0xf45927=await fetch(this[_0x31779e(0xad)]+_0x31779e(0x88)+encodeURIComponent(this[_0x31779e(0xd4)])+'/item/'+encodeURIComponent(this[_0x31779e(0xaf)])+_0x31779e(0x9b)),_0x3b262d=await _0xf45927[_0x31779e(0xca)](),_0x496805=_0x3b262d[_0x31779e(0x8e)]??_0x3b262d[_0x31779e(0x94)]??null;this['ttlInfo']=_0x496805||!0x1;}catch{this[_0x31779e(0xbb)]=!0x1;}finally{this[_0x31779e(0xb5)]=!0x1;}}},async 'setItemTTL'(){const _0x8e794=_0x9de5a5,_0x4ab082=parseInt(this['ttlInputMs']);if(_0x4ab082&&!(_0x4ab082<=0x0)){this[_0x8e794(0xb5)]=!0x0;try{const _0x13cdf4=await fetch(this['api']+_0x8e794(0x88)+encodeURIComponent(this[_0x8e794(0xd4)])+'/item/'+encodeURIComponent(this[_0x8e794(0xaf)])+'/ttl',{'method':_0x8e794(0x84),'headers':{'Content-Type':_0x8e794(0x97)},'body':JSON['stringify']({'ttl':_0x4ab082})});if(!_0x13cdf4['ok']){const _0x4c0850=await _0x13cdf4['json']()[_0x8e794(0xb0)](()=>({}));throw new Error(_0x4c0850?.[_0x8e794(0x99)]?.['message']||_0x13cdf4[_0x8e794(0x76)]);}_0x4ee3e3[_0x8e794(0xc0)][_0x8e794(0xb7)]?.[_0x8e794(0xbf)]?.[_0x8e794(0x77)]?.(_0x8e794(0xa0)+this[_0x8e794(0x79)](_0x4ab082)+')'),await this[_0x8e794(0xd3)]();}catch(_0x155140){_0x4ee3e3[_0x8e794(0xc0)][_0x8e794(0xb7)]?.[_0x8e794(0xbf)]?.[_0x8e794(0x99)]?.(_0x155140[_0x8e794(0x7e)]||_0x8e794(0x90));}finally{this[_0x8e794(0xb5)]=!0x1;}}},async 'clearItemTTL'(){const _0x27d9ad=_0x9de5a5;this[_0x27d9ad(0xb5)]=!0x0;try{const _0x5897fd=await fetch(this[_0x27d9ad(0xad)]+_0x27d9ad(0x88)+encodeURIComponent(this[_0x27d9ad(0xd4)])+_0x27d9ad(0x9a)+encodeURIComponent(this['key'])+_0x27d9ad(0x9b),{'method':_0x27d9ad(0xa8)});if(!_0x5897fd['ok'])throw new Error(_0x5897fd[_0x27d9ad(0x76)]);this[_0x27d9ad(0xbb)]=!0x1,this[_0x27d9ad(0xb1)]='',this['ttlPreset']='',_0x4ee3e3[_0x27d9ad(0xc0)]['shared']?.[_0x27d9ad(0xbf)]?.[_0x27d9ad(0x77)]?.(_0x27d9ad(0xc4));}catch(_0x2ab868){_0x4ee3e3[_0x27d9ad(0xc0)][_0x27d9ad(0xb7)]?.[_0x27d9ad(0xbf)]?.[_0x27d9ad(0x99)]?.(_0x2ab868[_0x27d9ad(0x7e)]||_0x27d9ad(0x86));}finally{this[_0x27d9ad(0xb5)]=!0x1;}},'onTTLPresetChange'(_0x1ea537){const _0x11cc5e=_0x9de5a5;this[_0x11cc5e(0xc7)]=_0x1ea537,_0x1ea537&&(this[_0x11cc5e(0xb1)]=_0x1ea537);},'fmtDuration'(_0x345a07){const _0x29f1e2=_0x9de5a5;if(null==_0x345a07)return'—';const _0x157401=Math[_0x29f1e2(0xa7)](_0x345a07/0x3e8);return _0x157401<0x3c?_0x157401+'s':_0x157401<0xe10?Math[_0x29f1e2(0xa7)](_0x157401/0x3c)+'m\x20'+_0x157401%0x3c+'s':_0x157401<0x15180?Math[_0x29f1e2(0xa7)](_0x157401/0xe10)+'h\x20'+Math[_0x29f1e2(0xa7)](_0x157401%0xe10/0x3c)+'m':Math['floor'](_0x157401/0x15180)+'d\x20'+Math[_0x29f1e2(0xa7)](_0x157401%0x15180/0xe10)+'h';},get 'ttlBadgeText'(){const _0x5e8d09=_0x9de5a5;return this[_0x5e8d09(0xb5)]?'ttl\x20…':this[_0x5e8d09(0xbb)]?this['ttlInfo']['remainingMs']<=0x0?'ttl:\x20expired':'ttl:\x20'+this[_0x5e8d09(0x79)](this[_0x5e8d09(0xbb)][_0x5e8d09(0xd0)]):_0x5e8d09(0xa5);},get 'ttlBadgeColor'(){const _0x335cc4=_0x9de5a5;return this[_0x335cc4(0xbb)]?this['ttlInfo'][_0x335cc4(0xd0)]<=0x0?_0x335cc4(0x89):this[_0x335cc4(0xbb)][_0x335cc4(0xd0)]<0xea60?_0x335cc4(0xa6):_0x335cc4(0x9e):_0x335cc4(0xc2);},'hlcToDate'(_0x3d5e9e){const _0x3b3ba5=Number(_0x3d5e9e)||0x0,_0x2a43e7=(_0x3b3ba5-_0x3b3ba5%0x400)/0x400;return _0x2a43e7?new Date(_0x2a43e7)['toLocaleString']():'—';},get 'latestClock'(){const _0x5efca2=_0x9de5a5;return this[_0x5efca2(0xc8)]?.['length']?this['clockEntries'][0x0][_0x5efca2(0x9d)]??null:null;},get 'latestTime'(){const _0xefb9f3=_0x9de5a5;if(!this[_0xefb9f3(0xc8)]?.[_0xefb9f3(0xc9)])return null;const _0xec1a3=this[_0xefb9f3(0xc8)][0x0][_0xefb9f3(0x91)];return _0xec1a3?this[_0xefb9f3(0xd6)](_0xec1a3):null;},async 'toggleClock'(){const _0x22e919=_0x9de5a5;this[_0x22e919(0xcf)]=!this[_0x22e919(0xcf)];},async 'loadClock'(){const _0x15604d=_0x9de5a5;if(!this[_0x15604d(0xd5)]){this['clockBusy']=!0x0;try{const _0x11bc12=await fetch(this[_0x15604d(0xad)]+'/type/'+encodeURIComponent(this[_0x15604d(0xd4)])+_0x15604d(0x9a)+encodeURIComponent(this['key'])+'/changelog?limit=20'),_0x204542=await _0x11bc12['json']();this[_0x15604d(0xc8)]=_0x204542[_0x15604d(0x8e)]??[];}catch{this[_0x15604d(0xc8)]=[];}finally{this[_0x15604d(0xd5)]=!0x1;}}},async 'onTMClockSelect'({clock:_0x21e3fe}){const _0x39e575=_0x9de5a5;if(this[_0x39e575(0xb3)]=_0x21e3fe,null===_0x21e3fe)return this['tmValue']=null,this['tmFetchBusy']=!0x1,void(this[_0x39e575(0xb8)]=void 0x0);this['tmFetchBusy']=!0x0;try{const _0x4c2389=await fetch(this[_0x39e575(0xad)]+'/time-machine/'+encodeURIComponent(this['type'])+'/'+encodeURIComponent(this[_0x39e575(0xaf)])+'/at/'+_0x21e3fe),_0x5591f1=await _0x4c2389[_0x39e575(0xca)]();if(!_0x4c2389['ok'])throw new Error(_0x5591f1?.[_0x39e575(0x99)]?.[_0x39e575(0x7e)]||_0x39e575(0x96));this[_0x39e575(0x75)]=_0x5591f1[_0x39e575(0x94)]?.[_0x39e575(0xb4)]??_0x5591f1[_0x39e575(0x8e)]?.[_0x39e575(0xb4)]??null,this[_0x39e575(0xb8)]=JSON[_0x39e575(0xc3)](JSON['stringify'](this[_0x39e575(0x75)]));}catch{this['tmSelectedClock']=null,this[_0x39e575(0x75)]=null;}finally{this[_0x39e575(0xbc)]=!0x1;}},'reset'(){const _0x289975=_0x9de5a5;this[_0x289975(0xb8)]=void 0x0,this[_0x289975(0x7a)]=!0x1,_0x4ee3e3[_0x289975(0x95)]['editor'][_0x289975(0xc5)]?.();},async 'save'(){const _0x4484a6=_0x9de5a5;if(void 0x0!==this[_0x4484a6(0xb8)]&&!this[_0x4484a6(0x7a)]){this[_0x4484a6(0xcd)]=!0x0;try{const _0x2737cc=this[_0x4484a6(0xb8)],_0x3a3654=await fetch(this['api']+_0x4484a6(0x88)+this['type']+_0x4484a6(0x9a)+this[_0x4484a6(0xaf)],{'method':_0x4484a6(0x84),'headers':{'Content-Type':_0x4484a6(0x97)},'body':JSON['stringify'](_0x2737cc)});if(!_0x3a3654['ok']){const _0x331fd6=await _0x3a3654['json']()[_0x4484a6(0xb0)](()=>({})),_0x4f70a7=_0x331fd6?.[_0x4484a6(0x99)]?.[_0x4484a6(0x7e)]||_0x331fd6?.[_0x4484a6(0x7e)]||_0x331fd6?.[_0x4484a6(0x99)]||_0x3a3654[_0x4484a6(0x76)];throw new Error(_0x4484a6(0x8d)==typeof _0x4f70a7?_0x4f70a7:_0x3a3654[_0x4484a6(0x76)]);}o(this['row'])&&o(_0x2737cc)&&(Object['keys'](this[_0x4484a6(0x7c)])['forEach'](_0x325b64=>delete this[_0x4484a6(0x7c)][_0x325b64]),Object['assign'](this[_0x4484a6(0x7c)],_0x2737cc)),_0x4ee3e3[_0x4484a6(0x92)][_0x4484a6(0xd9)](new CustomEvent(_0x4484a6(0xaa),{'detail':{'key':this[_0x4484a6(0xaf)],'value':_0x2737cc}})),this[_0x4484a6(0xc8)]=null,await this[_0x4484a6(0xd1)]();}catch(_0x1e2523){console['error'](_0x4484a6(0xb9),_0x1e2523),_0x4ee3e3[_0x4484a6(0xc0)]['shared']?.['toast']?.[_0x4484a6(0x99)]?.(_0x1e2523[_0x4484a6(0x7e)]||_0x4484a6(0xab));}finally{this[_0x4484a6(0xcd)]=!0x1;}}},async 'remove'(){const _0x111794=_0x9de5a5;this[_0x111794(0xbe)]=!0x0;try{const _0x4150a5=await fetch(this['api']+_0x111794(0x88)+this[_0x111794(0xd4)]+_0x111794(0x9a)+this[_0x111794(0xaf)],{'method':_0x111794(0xa8)});if(!_0x4150a5['ok'])throw new Error(_0x4150a5[_0x111794(0x76)]);_0x4ee3e3[_0x111794(0xc0)][_0x111794(0xb7)][_0x111794(0xbf)]?.[_0x111794(0x77)](this[_0x111794(0xaf)]+'\x20deleted'),_0x4ee3e3['$el'][_0x111794(0xd9)](new CustomEvent(_0x111794(0x80),{'detail':{'key':this[_0x111794(0xaf)],'value':this[_0x111794(0x7c)]}})),await _0x4ee3e3[_0x111794(0xc0)]['stores']['okdb']['reloadTypes']();}catch(_0x386f6d){console[_0x111794(0x99)](_0x111794(0xb6),_0x386f6d);}finally{this[_0x111794(0xbe)]=!0x1;}}}),async 'init'(_0x2e06c3){const _0x17bc13=_0x9de5a5;_0x2e06c3[_0x17bc13(0xcc)](()=>_0x2e06c3[_0x17bc13(0x93)][_0x17bc13(0xd4)]+'|'+_0x2e06c3['$attr'][_0x17bc13(0xaf)],()=>{const _0x42ce03=_0x17bc13;this[_0x42ce03(0xb3)]=null,this[_0x42ce03(0x75)]=null,this[_0x42ce03(0xbc)]=!0x1,this['tmDiffs']=[];}),await Promise[_0x17bc13(0xce)]([this['loadClock'](),this[_0x17bc13(0xd3)]()]);},'template':_0x9de5a5(0xa1)};
|
|
1
|
+
const _0x318bd3=_0x2017;(function(_0x34058a,_0x305263){const _0x1f7863=_0x2017,_0x547cc3=_0x34058a();while(!![]){try{const _0x46418b=-parseInt(_0x1f7863(0x17b))/0x1+parseInt(_0x1f7863(0x19b))/0x2+-parseInt(_0x1f7863(0x174))/0x3+-parseInt(_0x1f7863(0x179))/0x4+parseInt(_0x1f7863(0x1b3))/0x5+parseInt(_0x1f7863(0x1b9))/0x6+parseInt(_0x1f7863(0x1b8))/0x7*(-parseInt(_0x1f7863(0x1cf))/0x8);if(_0x46418b===_0x305263)break;else _0x547cc3['push'](_0x547cc3['shift']());}catch(_0x215366){_0x547cc3['push'](_0x547cc3['shift']());}}}(_0x1753,0x5e9d2));function _0x2017(_0x1d139f,_0x4fe8da){_0x1d139f=_0x1d139f-0x16a;const _0x17536e=_0x1753();let _0x201733=_0x17536e[_0x1d139f];return _0x201733;}import _0x1c3df9 from'../../../components/ok-json-input.ok.js';function _0x1753(){const _0x352d9c=['2-digit','jsonError','editor','clockBusy','tmSelectedClock','string','ttlBusy','info','var(--okdb-orange)','$refs','tmSelectedDiff','\x20deleted','parse','$ok','json','toLocaleString','api','2277245JKKMYB','result','onTMClockSelect','row','Failed\x20to\x20set\x20TTL','14cJcdmp','3934338jdKnrq','numeric','ttlInputMs','en-GB','30\x20days','/time-machine/','stringify','DELETE','fmtDuration','tmFetchBusy','remove','tmValue','Save\x20row\x20error','error','application/json','Save\x20failed','catch','all','tmCurrentIdx','clock','\x0a\x20\x20\x20\x20\x20\x20\x20\x20<transition\x20name=\x22grow\x22>\x0a\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<!--\x20Clock\x20+\x20TTL\x20badges\x20row\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:6px;\x20margin-bottom:8px;\x22>\x0a\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@click=\x22toggleClock()\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\x20style=\x22font-size:10px;\x20padding:1px\x207px;\x20border-radius:4px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20cursor:pointer;\x20font-family:monospace;\x20display:flex;\x20align-items:center;\x20gap:5px;\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\x20title=\x22Show\x20change\x20history\x20for\x20this\x20record\x22\x0a\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<if\x20:=\x22clockBusy\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>clock\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</if>\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:=\x22!clockBusy\x20&&\x20latestClock\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\x20\x20\x20\x20<span>clock:\x20{{\x20latestClock\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\x20<if\x20:=\x22latestTime\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\x20\x20\x20\x20<span\x20style=\x22opacity:.55;\x20font-family:sans-serif;\x20font-size:10px;\x22>·\x20{{\x20latestTime\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\x20</if>\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=\x22opacity:.4;\x22>{{\x20clockOpen\x20?\x20\x27▲\x27\x20:\x20\x27▼\x27\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</if>\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:=\x22!clockBusy\x20&&\x20latestClock\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\x20\x20\x20\x20<span\x20style=\x22opacity:.5;\x22>no\x20clock</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</button>\x0a\x0a\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@click=\x22ttlOpen\x20=\x20!ttlOpen\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:style=\x22\x27font-size:10px;\x20padding:1px\x207px;\x20border-radius:4px;\x20border:1px\x20solid\x20\x27\x20+\x20(ttlInfo\x20?\x20ttlBadgeColor\x20+\x20\x2755\x27\x20:\x20\x27var(--okdb-app-border)\x27)\x20+\x20\x27;\x20background:var(--okdb-app-bg-deep);\x20color:\x27\x20+\x20ttlBadgeColor\x20+\x20\x27;\x20cursor:pointer;\x20font-family:monospace;\x20display:flex;\x20align-items:center;\x20gap:5px;\x27\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\x20title=\x22TTL\x20(time-to-live)\x20for\x20this\x20record\x22\x0a\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<span>{{\x20ttlBadgeText\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<if\x20:=\x22ttlInfo\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=\x22opacity:.4;\x22>{{\x20ttlOpen\x20?\x20\x27▲\x27\x20:\x20\x27▼\x27\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</if>\x0a\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</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Changelog\x20+\x20time-travel\x20panel\x20(opens\x20when\x20clock\x20badge\x20clicked)\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22clockOpen\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-bottom:10px;\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<!--\x20Changelog\x20table\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<if\x20:=\x22clockEntries\x20&&\x20clockEntries.length\x20>\x200\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<div\x20style=\x22margin-bottom:8px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:6px;\x20overflow:hidden;\x20font-size:11px;\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\x20\x20\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:auto\x20auto\x201fr\x20auto;\x20gap:0;\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>clock</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>action</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>wall\x20time</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:4px\x2010px;\x20opacity:.4;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-weight:600;\x22>origin</div>\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\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22clockEntries\x22\x20let:item=\x22entry\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20font-family:monospace;\x20opacity:.8;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\x22>{{\x20entry.clock\x20??\x20\x27—\x27\x20}}</div>\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20(entry.action\x20===\x20\x27put\x27\x20?\x20\x27var(--okdb-success)\x27\x20:\x20entry.action\x20===\x20\x27remove\x27\x20?\x20\x27var(--okdb-danger)\x27\x20:\x20\x27var(--okdb-warning)\x27)\x22>{{\x20entry.action\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\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20opacity:.6;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\x20white-space:nowrap;\x22>{{\x20hlcToDate(entry.timestamp)\x20}}</div>\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\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:3px\x2010px;\x20font-family:monospace;\x20opacity:.35;\x20font-size:10px;\x20border-bottom:1px\x20solid\x20var(--okdb-app-surface);\x20white-space:nowrap;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20max-width:120px;\x22\x20:title=\x22entry.origin\x22>{{\x20(entry.origin\x20||\x20\x27—\x27).slice(0,\x208)\x20}}</div>\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\x20\x20\x20\x20\x20\x20\x20\x20</each>\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\x20\x20\x20\x20</div>\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</div>\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\x20\x20\x20\x20<!--\x20Time-travel\x20scrubber\x20(sits\x20outside\x20overflow:hidden\x20so\x20tooltips\x20aren\x27t\x20clipped)\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<tm-timeline\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:type=\x22type\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:item-key=\x22key\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:env=\x22$ok.stores.okdb.selectedEnv\x20||\x20\x27default\x27\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:selected-clock=\x22tmSelectedClock\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@tm-clock-select=\x22onTMClockSelect($event.detail)\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@tm-diffs-loaded=\x22tmDiffs\x20=\x20$event.detail.diffs\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</div>\x0a\x20\x20\x20\x20\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\x20\x20\x20\x20<!--\x20TTL\x20detail\x20panel\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22ttlOpen\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-bottom:10px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:6px;\x20padding:10px;\x20font-size:11px;\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<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20margin-bottom:8px;\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-weight:600;\x20opacity:.6;\x22>Time-to-Live</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\x20<if\x20:=\x22ttlInfo\x20&&\x20ttlInfo.expiresAt\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\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20ttlBadgeColor\x20+\x20\x27;\x20font-family:monospace;\x27\x22>{{\x20fmtDuration(ttlInfo.remainingMs)\x20}}\x20remaining</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\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.35;\x20font-size:10px;\x22>·\x20expires\x20{{\x20new\x20Date(ttlInfo.expiresAt).toLocaleString()\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\x20</if>\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<if\x20:=\x22!ttlInfo\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\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>No\x20TTL\x20set\x20—\x20this\x20item\x20will\x20not\x20expire.</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\x20</if>\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</div>\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<div\x20style=\x22display:flex;\x20gap:6px;\x20align-items:center;\x20flex-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\x20\x20\x20\x20<select\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\x20\x20\x20\x20@change=\x22onTTLPresetChange($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\x20\x20\x20\x20style=\x22font-size:11px;\x20padding:2px\x206px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:4px;\x20color:var(--okdb-app-fg);\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>\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\x20\x20\x20\x20<option\x20value=\x22\x22>Custom…</option>\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\x20\x20\x20\x20<each\x20:of=\x22ttlPresets\x22\x20let:item=\x22p\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\x20\x20\x20\x20\x20\x20\x20\x20<option\x20:value=\x22String(p.ms)\x22\x20:selected=\x22ttlPreset\x20===\x20String(p.ms)\x22>{{\x20p.label\x20}}</option>\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\x20\x20\x20\x20</each>\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</select>\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\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\x20\x20\x20\x20type=\x22number\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\x20\x20\x20\x20!value=\x22ttlInputMs\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\x20\x20\x20\x20@input=\x22(ttlInputMs\x20=\x20$el.value,\x20ttlPreset\x20=\x20\x27\x27)\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\x20\x20\x20\x20placeholder=\x22ms\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\x20\x20\x20\x20style=\x22width:100px;\x20font-size:11px;\x20padding:2px\x206px;\x20background:var(--okdb-app-bg-deep);\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:4px;\x20color:var(--okdb-app-fg);\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/>\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<button\x20@click=\x22setItemTTL()\x22\x20:disabled=\x22ttlBusy\x20||\x20!ttlInputMs\x22\x20style=\x22font-size:11px;\x20padding:2px\x2010px;\x20color:var(--okdb-success);\x20border-color:color-mix(in\x20srgb,\x20var(--okdb-success)\x2033%,\x20transparent);\x22>Set\x20TTL</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\x20\x20\x20\x20<if\x20:=\x22ttlInfo\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\x20\x20\x20\x20<button\x20@click=\x22clearItemTTL()\x22\x20:disabled=\x22ttlBusy\x22\x20style=\x22font-size:11px;\x20padding:2px\x2010px;\x20color:var(--okdb-danger);\x20border-color:color-mix(in\x20srgb,\x20var(--okdb-danger)\x2033%,\x20transparent);\x22>Clear\x20TTL</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\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\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadTTL()\x22\x20:disabled=\x22ttlBusy\x22\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20opacity:.5;\x22\x20title=\x22Refresh\x20TTL\x20info\x22>↻</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</div>\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</if>\x0a\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\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20JSON\x20header\x20with\x20historical\x20clock\x20badge\x20+\x20prev/next\x20navigation\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;\x20align-items:center;\x20gap:5px;\x20margin-bottom:4px;\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<if\x20:=\x22tmSelectedClock\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\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\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22goPrev()\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\x20\x20\x20\x20:disabled=\x22!canGoPrev\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\x20\x20\x20\x20:style=\x22\x27font-size:12px;\x20padding:0\x206px;\x20height:20px;\x20line-height:1;\x20border-radius:4px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20cursor:pointer;\x20font-family:monospace;\x20opacity:\x27\x20+\x20(canGoPrev\x20?\x20\x271\x27\x20:\x20\x27.3\x27)\x20+\x20\x27;\x20transition:opacity\x20120ms;\x27\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\x20\x20\x20\x20title=\x22Previous\x20snapshot\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>←</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\x20\x20\x20\x20<span\x20style=\x22display:inline-flex;\x20align-items:center;\x20gap:6px;\x20font-size:10px;\x20padding:1px\x208px;\x20border-radius:4px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2012%,\x20transparent);\x20color:var(--okdb-accent);\x20font-family:monospace;\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\x20\x20\x20\x20<span>clock\x20{{\x20tmSelectedClock\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\x20\x20\x20\x20\x20<if\x20:=\x22tmSelectedTime\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\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.6;\x20font-family:sans-serif;\x20font-weight:400;\x22>{{\x20tmSelectedTime\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\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\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\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\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22goNext()\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\x20\x20\x20\x20:disabled=\x22!canGoNext\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\x20\x20\x20\x20:style=\x22\x27font-size:12px;\x20padding:0\x206px;\x20height:20px;\x20line-height:1;\x20border-radius:4px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20cursor:pointer;\x20font-family:monospace;\x20opacity:\x27\x20+\x20(canGoNext\x20?\x20\x271\x27\x20:\x20\x27.3\x27)\x20+\x20\x27;\x20transition:opacity\x20120ms;\x27\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\x20\x20\x20\x20title=\x22Next\x20snapshot\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>→</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>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\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\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22position:relative;\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<ok-json-input\x20ref=\x22editor\x22\x20:value=\x22tmSelectedClock\x20!==\x20null\x20?\x20tmValue\x20:\x20row\x22\x20@edit=\x22edited=$event.detail\x22\x20@parse-error=\x22jsonError=$event.detail\x22\x20style=\x22min-height:\x20300px\x22></ok-json-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<if\x20:=\x22tmFetchBusy\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<div\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\x20\x20\x20\x20style=\x22position:absolute;\x20inset:0;\x20background:var(--okdb-app-bg)88;\x20display:flex;\x20align-items:center;\x20justify-content:center;\x20border-radius:6px;\x20z-index:2;\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>\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\x20\x20\x20\x20<span\x20style=\x22font-size:12px;\x20opacity:.6;\x22>loading…</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\x20</div>\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\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:8px;\x20display:flex;\x20gap:8px;\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<button\x20@click=\x22reset\x22\x20:disabled=\x22!hasEditedValue\x22>Reset</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<button\x20@click=\x22save\x22\x20:disabled=\x22!hasEditedValue\x20||\x20busySave\x22>Save</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<button\x20@click=\x22remove\x22\x20:disabled=\x22busyRemove\x22>Delete</button>\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</transition>\x0a\x20\x20\x20\x20','reset','351752TRjuNu','ttlInfo','message','24\x20hr','no\x20ttl','dispatchEvent','toast','apiBase','Failed','data','/changelog?limit=20','reloadTypes','remainingMs','998982hxvhdy','tmDiffClocks','ttlPreset','1\x20hr','map','1959208PWZMke','indexOf','252953agBNgW','$el','length','canGoNext','var(--okdb-success)','PUT','isArray','busySave','/item/','loadClock','/ttl','loadTTL','1\x20min','edited','key','$watch','tmDiffs','TTL\x20cleared','statusText','$attr','ttl\x20…','clockEntries','shared','stores','floor','6\x20hr','find','var(--okdb-danger)','short','busyRemove','value','ttl:\x20','880106xJStgb','okdb','/type/','type','clockOpen','canGoPrev','keys'];_0x1753=function(){return _0x352d9c;};return _0x1753();}import _0x45658d from'./tm-timeline.ok.js';function o(_0x3b88d9){const _0x42b801=_0x2017;return!!_0x3b88d9&&'object'==typeof _0x3b88d9&&!Array[_0x42b801(0x181)](_0x3b88d9);}export default{'tag':'edit-row','dependencies':[_0x1c3df9,_0x45658d],'attr':{'type':{},'key':{},'row':{}},'context':_0x3fa758=>({get 'api'(){const _0x189b92=_0x2017;return _0x3fa758[_0x189b92(0x1af)]['stores'][_0x189b92(0x19c)][_0x189b92(0x16e)];},get 'type'(){const _0xf5d670=_0x2017;return _0x3fa758[_0xf5d670(0x18e)][_0xf5d670(0x19e)];},get 'key'(){const _0x470a3a=_0x2017;return _0x3fa758[_0x470a3a(0x18e)]['key'];},get 'row'(){const _0x136715=_0x2017;return _0x3fa758[_0x136715(0x18e)][_0x136715(0x1b6)];},get 'hasEditedValue'(){const _0x2578d5=_0x2017;return void 0x0!==this[_0x2578d5(0x188)]&&!this[_0x2578d5(0x1a3)];},'edited':void 0x0,'jsonError':!0x1,'busySave':!0x1,'busyRemove':!0x1,'tmSelectedClock':null,'tmFetchBusy':!0x1,'tmValue':null,'tmDiffs':[],get 'tmDiffClocks'(){const _0xda9153=_0x2017;return this[_0xda9153(0x18b)][_0xda9153(0x178)](_0x30e508=>_0x30e508[_0xda9153(0x1cc)]);},get 'tmSelectedDiff'(){const _0x275d22=_0x2017;return null===this[_0x275d22(0x1a6)]?null:this['tmDiffs'][_0x275d22(0x195)](_0x21ec17=>_0x21ec17[_0x275d22(0x1cc)]===this[_0x275d22(0x1a6)])??null;},get 'tmSelectedTime'(){const _0x415c23=_0x2017,_0x445c3e=this[_0x415c23(0x1ac)]?.['timestamp'];return _0x445c3e?new Date(_0x445c3e)[_0x415c23(0x1b1)](_0x415c23(0x1bc),{'day':_0x415c23(0x1ba),'month':_0x415c23(0x197),'year':_0x415c23(0x1ba),'hour':_0x415c23(0x1a2),'minute':_0x415c23(0x1a2),'second':_0x415c23(0x1a2)}):null;},get 'tmCurrentIdx'(){const _0xd2d152=_0x2017;return null===this[_0xd2d152(0x1a6)]?-0x1:this['tmDiffClocks'][_0xd2d152(0x17a)](this['tmSelectedClock']);},get 'canGoPrev'(){const _0x5b50d8=_0x2017;return this[_0x5b50d8(0x1cb)]>0x0;},get 'canGoNext'(){const _0x5bd5db=_0x2017;return-0x1!==this[_0x5bd5db(0x1cb)]&&this[_0x5bd5db(0x1cb)]<this['tmDiffClocks']['length']-0x1;},'goPrev'(){const _0x4dd3ad=_0x2017;this[_0x4dd3ad(0x1a0)]&&this[_0x4dd3ad(0x1b5)]({'clock':this[_0x4dd3ad(0x175)][this['tmCurrentIdx']-0x1]});},'goNext'(){const _0x5b1b7a=_0x2017;this[_0x5b1b7a(0x17e)]&&this['onTMClockSelect']({'clock':this[_0x5b1b7a(0x175)][this['tmCurrentIdx']+0x1]});},'clockOpen':!0x1,'clockBusy':!0x1,'clockEntries':null,'ttlInfo':null,'ttlBusy':!0x1,'ttlOpen':!0x1,'ttlInputMs':'','ttlPreset':'','ttlPresets':[{'label':_0x318bd3(0x187),'ms':0xea60},{'label':'5\x20min','ms':0x493e0},{'label':'15\x20min','ms':0xdbba0},{'label':_0x318bd3(0x177),'ms':0x36ee80},{'label':_0x318bd3(0x194),'ms':0x1499700},{'label':_0x318bd3(0x16a),'ms':0x5265c00},{'label':'7\x20days','ms':0x240c8400},{'label':_0x318bd3(0x1bd),'ms':0x9a7ec800}],async 'loadTTL'(){const _0xf1c9ad=_0x318bd3;if(!this[_0xf1c9ad(0x1a8)]){this['ttlBusy']=!0x0;try{const _0x180085=await fetch(this[_0xf1c9ad(0x1b2)]+_0xf1c9ad(0x19d)+encodeURIComponent(this[_0xf1c9ad(0x19e)])+_0xf1c9ad(0x183)+encodeURIComponent(this[_0xf1c9ad(0x189)])+_0xf1c9ad(0x185)),_0x4ca5c8=await _0x180085[_0xf1c9ad(0x1b0)](),_0x21057b=_0x4ca5c8['data']??_0x4ca5c8[_0xf1c9ad(0x1b4)]??null;this[_0xf1c9ad(0x1d0)]=_0x21057b||!0x1;}catch{this[_0xf1c9ad(0x1d0)]=!0x1;}finally{this['ttlBusy']=!0x1;}}},async 'setItemTTL'(){const _0x2e4311=_0x318bd3,_0x26dd8e=parseInt(this[_0x2e4311(0x1bb)]);if(_0x26dd8e&&!(_0x26dd8e<=0x0)){this[_0x2e4311(0x1a8)]=!0x0;try{const _0x83417f=await fetch(this['api']+_0x2e4311(0x19d)+encodeURIComponent(this[_0x2e4311(0x19e)])+_0x2e4311(0x183)+encodeURIComponent(this['key'])+_0x2e4311(0x185),{'method':'PUT','headers':{'Content-Type':_0x2e4311(0x1c7)},'body':JSON[_0x2e4311(0x1bf)]({'ttl':_0x26dd8e})});if(!_0x83417f['ok']){const _0x47ceb4=await _0x83417f[_0x2e4311(0x1b0)]()[_0x2e4311(0x1c9)](()=>({}));throw new Error(_0x47ceb4?.[_0x2e4311(0x1c6)]?.[_0x2e4311(0x1d1)]||_0x83417f[_0x2e4311(0x18d)]);}_0x3fa758[_0x2e4311(0x1af)]['shared']?.[_0x2e4311(0x16d)]?.[_0x2e4311(0x1a9)]?.('TTL\x20set\x20('+this[_0x2e4311(0x1c1)](_0x26dd8e)+')'),await this[_0x2e4311(0x186)]();}catch(_0x27a9cc){_0x3fa758['$ok'][_0x2e4311(0x191)]?.[_0x2e4311(0x16d)]?.[_0x2e4311(0x1c6)]?.(_0x27a9cc[_0x2e4311(0x1d1)]||_0x2e4311(0x1b7));}finally{this['ttlBusy']=!0x1;}}},async 'clearItemTTL'(){const _0x2a22b6=_0x318bd3;this[_0x2a22b6(0x1a8)]=!0x0;try{const _0x502573=await fetch(this[_0x2a22b6(0x1b2)]+_0x2a22b6(0x19d)+encodeURIComponent(this[_0x2a22b6(0x19e)])+_0x2a22b6(0x183)+encodeURIComponent(this[_0x2a22b6(0x189)])+_0x2a22b6(0x185),{'method':_0x2a22b6(0x1c0)});if(!_0x502573['ok'])throw new Error(_0x502573['statusText']);this[_0x2a22b6(0x1d0)]=!0x1,this[_0x2a22b6(0x1bb)]='',this[_0x2a22b6(0x176)]='',_0x3fa758[_0x2a22b6(0x1af)]['shared']?.[_0x2a22b6(0x16d)]?.['info']?.(_0x2a22b6(0x18c));}catch(_0x128af2){_0x3fa758['$ok'][_0x2a22b6(0x191)]?.[_0x2a22b6(0x16d)]?.[_0x2a22b6(0x1c6)]?.(_0x128af2[_0x2a22b6(0x1d1)]||'Failed\x20to\x20clear\x20TTL');}finally{this[_0x2a22b6(0x1a8)]=!0x1;}},'onTTLPresetChange'(_0x37fd15){const _0x32d084=_0x318bd3;this[_0x32d084(0x176)]=_0x37fd15,_0x37fd15&&(this['ttlInputMs']=_0x37fd15);},'fmtDuration'(_0x282146){const _0x1549fe=_0x318bd3;if(null==_0x282146)return'—';const _0x393d54=Math[_0x1549fe(0x193)](_0x282146/0x3e8);return _0x393d54<0x3c?_0x393d54+'s':_0x393d54<0xe10?Math[_0x1549fe(0x193)](_0x393d54/0x3c)+'m\x20'+_0x393d54%0x3c+'s':_0x393d54<0x15180?Math[_0x1549fe(0x193)](_0x393d54/0xe10)+'h\x20'+Math[_0x1549fe(0x193)](_0x393d54%0xe10/0x3c)+'m':Math[_0x1549fe(0x193)](_0x393d54/0x15180)+'d\x20'+Math['floor'](_0x393d54%0x15180/0xe10)+'h';},get 'ttlBadgeText'(){const _0x5a42f5=_0x318bd3;return this['ttlBusy']?_0x5a42f5(0x18f):this[_0x5a42f5(0x1d0)]?this[_0x5a42f5(0x1d0)][_0x5a42f5(0x173)]<=0x0?'ttl:\x20expired':_0x5a42f5(0x19a)+this[_0x5a42f5(0x1c1)](this['ttlInfo'][_0x5a42f5(0x173)]):_0x5a42f5(0x16b);},get 'ttlBadgeColor'(){const _0x298d43=_0x318bd3;return this[_0x298d43(0x1d0)]?this['ttlInfo'][_0x298d43(0x173)]<=0x0?_0x298d43(0x196):this['ttlInfo']['remainingMs']<0xea60?_0x298d43(0x1aa):_0x298d43(0x17f):'var(--okdb-app-fg-muted)';},'hlcToDate'(_0x951a1c){const _0xbacf2e=_0x318bd3,_0x16353b=Number(_0x951a1c)||0x0,_0x2512e0=(_0x16353b-_0x16353b%0x400)/0x400;return _0x2512e0?new Date(_0x2512e0)[_0xbacf2e(0x1b1)]():'—';},get 'latestClock'(){const _0x119ef3=_0x318bd3;return this[_0x119ef3(0x190)]?.[_0x119ef3(0x17d)]?this[_0x119ef3(0x190)][0x0][_0x119ef3(0x1cc)]??null:null;},get 'latestTime'(){const _0x257dd4=_0x318bd3;if(!this[_0x257dd4(0x190)]?.[_0x257dd4(0x17d)])return null;const _0x46b61f=this[_0x257dd4(0x190)][0x0]['timestamp'];return _0x46b61f?this['hlcToDate'](_0x46b61f):null;},async 'toggleClock'(){const _0x42c202=_0x318bd3;this[_0x42c202(0x19f)]=!this[_0x42c202(0x19f)];},async 'loadClock'(){const _0x4ffbef=_0x318bd3;if(!this[_0x4ffbef(0x1a5)]){this[_0x4ffbef(0x1a5)]=!0x0;try{const _0x4ead53=await fetch(this[_0x4ffbef(0x1b2)]+'/type/'+encodeURIComponent(this[_0x4ffbef(0x19e)])+'/item/'+encodeURIComponent(this[_0x4ffbef(0x189)])+_0x4ffbef(0x171)),_0x2d72b6=await _0x4ead53[_0x4ffbef(0x1b0)]();this['clockEntries']=_0x2d72b6[_0x4ffbef(0x170)]??[];}catch{this[_0x4ffbef(0x190)]=[];}finally{this[_0x4ffbef(0x1a5)]=!0x1;}}},async 'onTMClockSelect'({clock:_0x3adc38}){const _0x1384fe=_0x318bd3;if(this[_0x1384fe(0x1a6)]=_0x3adc38,null===_0x3adc38)return this[_0x1384fe(0x1c4)]=null,this[_0x1384fe(0x1c2)]=!0x1,void(this[_0x1384fe(0x188)]=void 0x0);this[_0x1384fe(0x1c2)]=!0x0;try{const _0x6f3bdd=await fetch(this['api']+_0x1384fe(0x1be)+encodeURIComponent(this[_0x1384fe(0x19e)])+'/'+encodeURIComponent(this[_0x1384fe(0x189)])+'/at/'+_0x3adc38),_0x3fe961=await _0x6f3bdd[_0x1384fe(0x1b0)]();if(!_0x6f3bdd['ok'])throw new Error(_0x3fe961?.[_0x1384fe(0x1c6)]?.[_0x1384fe(0x1d1)]||_0x1384fe(0x16f));this[_0x1384fe(0x1c4)]=_0x3fe961[_0x1384fe(0x1b4)]?.['value']??_0x3fe961[_0x1384fe(0x170)]?.[_0x1384fe(0x199)]??null,this[_0x1384fe(0x188)]=JSON[_0x1384fe(0x1ae)](JSON['stringify'](this[_0x1384fe(0x1c4)]));}catch{this[_0x1384fe(0x1a6)]=null,this[_0x1384fe(0x1c4)]=null;}finally{this[_0x1384fe(0x1c2)]=!0x1;}},'reset'(){const _0x5a07b=_0x318bd3;this['edited']=void 0x0,this[_0x5a07b(0x1a3)]=!0x1,_0x3fa758[_0x5a07b(0x1ab)][_0x5a07b(0x1a4)][_0x5a07b(0x1ce)]?.();},async 'save'(){const _0x48add0=_0x318bd3;if(void 0x0!==this[_0x48add0(0x188)]&&!this[_0x48add0(0x1a3)]){this['busySave']=!0x0;try{const _0x33fec5=this[_0x48add0(0x188)],_0x117874=await fetch(this[_0x48add0(0x1b2)]+'/type/'+this[_0x48add0(0x19e)]+'/item/'+this['key'],{'method':_0x48add0(0x180),'headers':{'Content-Type':_0x48add0(0x1c7)},'body':JSON[_0x48add0(0x1bf)](_0x33fec5)});if(!_0x117874['ok']){const _0x35959e=await _0x117874[_0x48add0(0x1b0)]()[_0x48add0(0x1c9)](()=>({})),_0x3ebf54=_0x35959e?.['error']?.[_0x48add0(0x1d1)]||_0x35959e?.[_0x48add0(0x1d1)]||_0x35959e?.['error']||_0x117874[_0x48add0(0x18d)];throw new Error(_0x48add0(0x1a7)==typeof _0x3ebf54?_0x3ebf54:_0x117874[_0x48add0(0x18d)]);}o(this[_0x48add0(0x1b6)])&&o(_0x33fec5)&&(Object[_0x48add0(0x1a1)](this[_0x48add0(0x1b6)])['forEach'](_0x4f8098=>delete this[_0x48add0(0x1b6)][_0x4f8098]),Object['assign'](this[_0x48add0(0x1b6)],_0x33fec5)),_0x3fa758['$el'][_0x48add0(0x16c)](new CustomEvent('change',{'detail':{'key':this[_0x48add0(0x189)],'value':_0x33fec5}})),this[_0x48add0(0x190)]=null,await this['loadClock']();}catch(_0x1c1727){console[_0x48add0(0x1c6)](_0x48add0(0x1c5),_0x1c1727),_0x3fa758[_0x48add0(0x1af)][_0x48add0(0x191)]?.[_0x48add0(0x16d)]?.['error']?.(_0x1c1727[_0x48add0(0x1d1)]||_0x48add0(0x1c8));}finally{this[_0x48add0(0x182)]=!0x1;}}},async 'remove'(){const _0x5ac6dd=_0x318bd3;this[_0x5ac6dd(0x198)]=!0x0;try{const _0x3b8c1d=await fetch(this[_0x5ac6dd(0x1b2)]+_0x5ac6dd(0x19d)+this[_0x5ac6dd(0x19e)]+_0x5ac6dd(0x183)+this['key'],{'method':_0x5ac6dd(0x1c0)});if(!_0x3b8c1d['ok'])throw new Error(_0x3b8c1d[_0x5ac6dd(0x18d)]);_0x3fa758['$ok'][_0x5ac6dd(0x191)]['toast']?.[_0x5ac6dd(0x1a9)](this[_0x5ac6dd(0x189)]+_0x5ac6dd(0x1ad)),_0x3fa758[_0x5ac6dd(0x17c)][_0x5ac6dd(0x16c)](new CustomEvent(_0x5ac6dd(0x1c3),{'detail':{'key':this[_0x5ac6dd(0x189)],'value':this[_0x5ac6dd(0x1b6)]}})),await _0x3fa758[_0x5ac6dd(0x1af)][_0x5ac6dd(0x192)][_0x5ac6dd(0x19c)][_0x5ac6dd(0x172)]();}catch(_0x334dab){console[_0x5ac6dd(0x1c6)]('Remove\x20row\x20error',_0x334dab);}finally{this[_0x5ac6dd(0x198)]=!0x1;}}}),async 'init'(_0x508235){const _0x2264f8=_0x318bd3;_0x508235[_0x2264f8(0x18a)](()=>_0x508235[_0x2264f8(0x18e)][_0x2264f8(0x19e)]+'|'+_0x508235[_0x2264f8(0x18e)][_0x2264f8(0x189)],()=>{const _0x4270f3=_0x2264f8;this[_0x4270f3(0x1a6)]=null,this['tmValue']=null,this[_0x4270f3(0x1c2)]=!0x1,this['tmDiffs']=[];}),await Promise[_0x2264f8(0x1ca)]([this[_0x2264f8(0x184)](),this[_0x2264f8(0x186)]()]);},'template':_0x318bd3(0x1cd)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x14187e=_0x1f1c;(function(_0x31f8fa,_0x26e1ae){const _0x4c5961=_0x1f1c,_0x396264=_0x31f8fa();while(!![]){try{const _0x5e4c3f=parseInt(_0x4c5961(0x1de))/0x1+-parseInt(_0x4c5961(0x1ab))/0x2*(parseInt(_0x4c5961(0x19d))/0x3)+-parseInt(_0x4c5961(0x1ec))/0x4+parseInt(_0x4c5961(0x196))/0x5*(-parseInt(_0x4c5961(0x1ad))/0x6)+-parseInt(_0x4c5961(0x1c2))/0x7*(parseInt(_0x4c5961(0x199))/0x8)+-parseInt(_0x4c5961(0x198))/0x9+parseInt(_0x4c5961(0x1a7))/0xa;if(_0x5e4c3f===_0x26e1ae)break;else _0x396264['push'](_0x396264['shift']());}catch(_0x1c8089){_0x396264['push'](_0x396264['shift']());}}}(_0x3660,0x1ba49));function _0x1f1c(_0x5bc6e0,_0x4eef27){_0x5bc6e0=_0x5bc6e0-0x18e;const _0x366052=_0x3660();let _0x1f1ce4=_0x366052[_0x5bc6e0];return _0x1f1ce4;}import _0x494815 from'@toolkit/elements/ok-icon.ok.js';function _0x3660(){const _0x4e255a=['API','\x20*\x20(100%\x20-\x2012px))','width:16px','left:clamp(40px,\x20calc(6px\x20+\x20','6px','transition:width\x20100ms\x20ease,height\x20100ms\x20ease,background\x20100ms\x20ease,opacity\x20100ms\x20ease','delete','preventDefault','pointer-events:none','display:none','height:16px','height:','querySelector','mouseup','max','type','$el','transition:left\x2070ms\x20cubic-bezier(0.25,0.1,0.25,1)','length','border-radius:50%','dotFraction','push','opacity:','10px','isDragging','124455FVSXKk','numeric','env','left:calc(6px\x20+\x20','border:1px\x20solid\x20var(--okdb-app-border)','set','$attr','join','hoverClock','tm-clock-select','\x0a<if\x20:=\x22diffs.length\x20>\x200\x22>\x0a<div>\x0a\x0a\x20\x20<!--\x20Header:\x20label\x20+\x20\x22back\x20to\x20live\x22\x20button\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20margin-bottom:7px;\x22>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:10px;\x20font-family:monospace;\x20letter-spacing:.05em;\x20text-transform:uppercase;\x20opacity:.38;\x20user-select:none;\x22>\x0a\x20\x20\x20\x20\x20\x20time\x20travel\x20·\x20{{\x20diffs.length\x20}}\x20snapshot{{\x20diffs.length\x20===\x201\x20?\x20\x27\x27\x20:\x20\x27s\x27\x20}}\x0a\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20<if\x20:=\x22selectedClock\x20!==\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22selectCurrent()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-size:10px;\x20padding:1px\x208px;\x20border-radius:4px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2035%,\x20transparent);\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x208%,\x20transparent);\x20color:var(--okdb-accent);\x20cursor:pointer;\x20font-family:monospace;\x20line-height:1.6;\x22\x0a\x20\x20\x20\x20\x20\x20>←\x20live</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Scrubber:\x20capped\x20width\x20so\x20it\x20never\x20fills\x20a\x20wide\x20table\x20-->\x0a\x20\x20<div\x20style=\x22max-width:480px;\x20padding-bottom:10px;\x22>\x0a\x20\x20\x20\x20<div\x0a\x20\x20\x20\x20\x20\x20data-track\x0a\x20\x20\x20\x20\x20\x20style=\x22position:relative;\x20height:26px;\x20width:100%;\x20user-select:none;\x22\x0a\x20\x20\x20\x20\x20\x20:style=\x22\x27cursor:\x27\x20+\x20(isDragging\x20?\x20\x27grabbing\x27\x20:\x20\x27ew-resize\x27)\x22\x0a\x20\x20\x20\x20\x20\x20@mousedown=\x22startDrag($event)\x22\x0a\x20\x20\x20\x20>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Track\x20line\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22position:absolute;\x20left:6px;\x20right:6px;\x20top:50%;\x20height:2px;\x20transform:translateY(-50%);\x20background:var(--okdb-app-border);\x20border-radius:1px;\x20pointer-events:none;\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Diff\x20dots\x20+\x20tooltips\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20as=\x22repeat\x22\x20:of=\x22diffs\x22\x20let:item=\x22diff\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Tooltip\x20(above\x20track,\x20shown\x20on\x20hover\x20or\x20drag-snap)\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22activeTooltipClock\x20===\x20diff.clock\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20:style=\x22tooltipStyle(diff)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:5px;\x20margin-bottom:3px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22clock\x22\x20style=\x22width:10px;height:10px;opacity:.5;flex-shrink:0;\x22></ok-icon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;\x20color:var(--okdb-accent);\x20font-size:10px;\x22>clock\x20{{\x20diff.clock\x20}}</span>\x0a\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\x20:=\x22wallTime(diff)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.7;\x20font-size:11px;\x22>{{\x20wallTime(diff)\x20}}</div>\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<div\x20style=\x22opacity:.4;\x20margin-top:3px;\x20font-size:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fieldsChanged(diff)\x20}}\x20field{{\x20fieldsChanged(diff)\x20===\x201\x20?\x20\x27\x27\x20:\x20\x27s\x27\x20}}\x20changed\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Dot\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22dotStyle(diff)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@mouseenter=\x22!isDragging\x20&&\x20(hoverClock\x20=\x20diff.clock)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@mouseleave=\x22!isDragging\x20&&\x20(hoverClock\x20=\x20null)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22!isDragging\x20&&\x20selectDot(diff.clock)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20></div>\x0a\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Snapping\x20ring:\x20jumps\x20to\x20nearest\x20clock\x20with\x20CSS\x20transition\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20:style=\x22dragRingStyle()\x22\x20style=\x22pointer-events:none;\x22></div>\x0a\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a</div>\x0a</if>\x0a','json','clientX','dispatchEvent','275408tLbyfI','forEach','[data-track]','cursor:','padding:6px\x2010px','z-index:3','top:50%','mousemove','width:','_cappedFractions','get','background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2010%,\x20transparent)','diffs','5dDESWH','var(--okdb-app-fg)','1674090QBPyby','9992jUdHwG','load','8px','bottom:calc(100%\x20+\x208px)','11307mxsOaX','abs','addEventListener','left','pointer','map','keys','selectDot','removeEventListener','short','5899310ovXxUy','clock','box-shadow:0\x202px\x2010px\x20color-mix(in\x20srgb,\x20#000\x2025%,\x20transparent)','min','62fOuXnC','var(--okdb-accent)','919626UxONfo','z-index:10','2-digit','background:var(--okdb-app-bg-deep)','/history','\x20*\x20(100%\x20-\x2012px)),\x20calc(100%\x20-\x2040px))','put','floor','data','fracFromEvent','busy','sort','/time-machine/','border-radius:6px','en-GB','.75','toLocaleString','dragClock','transform:translate(-50%,-50%)','white-space:nowrap','position:absolute','427ZRhEwC','itemKey','timestamp'];_0x3660=function(){return _0x4e255a;};return _0x3660();}export default{'tag':'tm-timeline','components':[_0x494815],'attr':{'type':{},'itemKey':{},'env':{},'selectedClock':{}},'context':_0x24a289=>({'busy':!0x1,'diffs':[],'hoverClock':null,'isDragging':!0x1,'dragClock':null,get 'type'(){const _0x4fc543=_0x1f1c;return _0x24a289[_0x4fc543(0x1e4)][_0x4fc543(0x1d4)];},get 'itemKey'(){const _0x563942=_0x1f1c;return _0x24a289[_0x563942(0x1e4)][_0x563942(0x1c3)];},get 'env'(){const _0x30c6cc=_0x1f1c;return _0x24a289[_0x30c6cc(0x1e4)]['env'];},get 'selectedClock'(){const _0x5679e1=_0x1f1c,_0x32dc8c=_0x24a289[_0x5679e1(0x1e4)]['selectedClock'];return null!=_0x32dc8c?Number(_0x32dc8c):null;},get '_cappedFractions'(){const _0x5a47fe=_0x1f1c,_0x47816f=this[_0x5a47fe(0x195)][_0x5a47fe(0x1d7)];if(0x0===_0x47816f)return new Map();if(0x1===_0x47816f)return new Map([[this[_0x5a47fe(0x195)][0x0][_0x5a47fe(0x1a8)],0.5]]);const _0x48fa85=this[_0x5a47fe(0x195)][_0x5a47fe(0x1a2)](_0x531a49=>_0x531a49[_0x5a47fe(0x1a8)]),_0x2d2c0d=[];for(let _0x2e59b6=0x1;_0x2e59b6<_0x47816f;_0x2e59b6++)_0x2d2c0d[_0x5a47fe(0x1da)](_0x48fa85[_0x2e59b6]-_0x48fa85[_0x2e59b6-0x1]);const _0x20bccb=[..._0x2d2c0d][_0x5a47fe(0x1b8)]((_0x34472d,_0x53fd06)=>_0x34472d-_0x53fd06),_0x4c683d=0x4*_0x20bccb[Math[_0x5a47fe(0x1b4)](_0x20bccb[_0x5a47fe(0x1d7)]/0x2)],_0x43ccb8=_0x2d2c0d[_0x5a47fe(0x1a2)](_0x3a1ff1=>Math['min'](_0x3a1ff1,_0x4c683d)),_0x48a152=[0x0];for(const _0x53f621 of _0x43ccb8)_0x48a152[_0x5a47fe(0x1da)](_0x48a152[_0x48a152[_0x5a47fe(0x1d7)]-0x1]+_0x53f621);const _0x93bb74=_0x48a152[_0x48a152[_0x5a47fe(0x1d7)]-0x1],_0x49f3de=new Map();return _0x48fa85[_0x5a47fe(0x1ed)]((_0x1cd7ba,_0x11c6af)=>_0x49f3de[_0x5a47fe(0x1e3)](_0x1cd7ba,_0x93bb74?_0x48a152[_0x11c6af]/_0x93bb74:0x0)),_0x49f3de;},'dotFraction'(_0x534b8c){const _0x4a2cf5=_0x1f1c;return this[_0x4a2cf5(0x192)][_0x4a2cf5(0x193)](_0x534b8c)??0.5;},'fieldsChanged':_0x19db5e=>Object[_0x14187e(0x1a3)](_0x19db5e[_0x14187e(0x1b3)]||{})['length']+(_0x19db5e[_0x14187e(0x1cb)]||[])[_0x14187e(0x1d7)],'wallTime':_0x5f0454=>_0x5f0454[_0x14187e(0x1c4)]?new Date(_0x5f0454[_0x14187e(0x1c4)])[_0x14187e(0x1bd)](_0x14187e(0x1bb),{'day':_0x14187e(0x1df),'month':_0x14187e(0x1a6),'year':_0x14187e(0x1df),'hour':_0x14187e(0x1af),'minute':'2-digit','second':_0x14187e(0x1af)}):null,get 'activeTooltipClock'(){const _0x4cb385=_0x14187e;return this[_0x4cb385(0x1dd)]?this[_0x4cb385(0x1be)]:this[_0x4cb385(0x1e6)];},async 'load'(){const _0x352620=_0x14187e;if(this[_0x352620(0x1d4)]&&this[_0x352620(0x1c3)]&&this['env']){this[_0x352620(0x1b7)]=!0x0;try{const _0x1361fc=__ENV__[_0x352620(0x1c5)]+'/env/'+encodeURIComponent(this[_0x352620(0x1e0)])+_0x352620(0x1b9)+encodeURIComponent(this[_0x352620(0x1d4)])+'/'+encodeURIComponent(this['itemKey'])+_0x352620(0x1b1),_0x4aa9c5=await fetch(_0x1361fc);if(!_0x4aa9c5['ok'])return void(this[_0x352620(0x195)]=[]);const _0xf4a0b1=await _0x4aa9c5[_0x352620(0x1e9)]();this[_0x352620(0x195)]=_0xf4a0b1[_0x352620(0x1b5)]?.[_0x352620(0x195)]||[];}catch{this[_0x352620(0x195)]=[];}finally{this['busy']=!0x1;}_0x24a289[_0x352620(0x1d5)][_0x352620(0x1eb)](new CustomEvent('tm-diffs-loaded',{'detail':{'diffs':this[_0x352620(0x195)]},'bubbles':!0x0}));}},'selectDot'(_0x8a1cef){const _0x38067d=_0x14187e;_0x24a289[_0x38067d(0x1d5)][_0x38067d(0x1eb)](new CustomEvent(_0x38067d(0x1e7),{'detail':{'clock':_0x8a1cef},'bubbles':!0x0}));},'selectCurrent'(){const _0x4ec51e=_0x14187e;_0x24a289['$el'][_0x4ec51e(0x1eb)](new CustomEvent(_0x4ec51e(0x1e7),{'detail':{'clock':null},'bubbles':!0x0}));},'nearestClockForFrac'(_0x4d2365){const _0x33d2e1=_0x14187e;if(!this[_0x33d2e1(0x195)][_0x33d2e1(0x1d7)])return null;const _0x2268bf=this[_0x33d2e1(0x192)];let _0x17762a=this[_0x33d2e1(0x195)][0x0],_0x48bb67=0x1/0x0;for(const _0x3655da of this[_0x33d2e1(0x195)]){const _0x5b4773=Math[_0x33d2e1(0x19e)]((_0x2268bf[_0x33d2e1(0x193)](_0x3655da[_0x33d2e1(0x1a8)])??0x0)-_0x4d2365);_0x5b4773<_0x48bb67&&(_0x48bb67=_0x5b4773,_0x17762a=_0x3655da);}return _0x17762a[_0x33d2e1(0x1a8)];},'fracFromEvent'(_0x515824){const _0x5607d2=_0x14187e,_0x17f6ec=_0x24a289[_0x5607d2(0x1d5)][_0x5607d2(0x1d1)](_0x5607d2(0x1ee));if(!_0x17f6ec)return null;const _0x3590b9=_0x17f6ec['getBoundingClientRect']();return Math[_0x5607d2(0x1d3)](0x0,Math[_0x5607d2(0x1aa)](0x1,(_0x515824[_0x5607d2(0x1ea)]-_0x3590b9[_0x5607d2(0x1a0)])/_0x3590b9['width']));},'startDrag'(_0xad8a80){const _0x468896=_0x14187e;_0xad8a80[_0x468896(0x1cc)]();const _0x2103d6=this[_0x468896(0x1b6)](_0xad8a80);if(null===_0x2103d6)return;this[_0x468896(0x1dd)]=!0x0,this['dragClock']=this['nearestClockForFrac'](_0x2103d6);const _0x508e6e=_0x4a8d60=>{const _0x1d3463=_0x468896,_0x2ce9ed=this[_0x1d3463(0x1b6)](_0x4a8d60);null!==_0x2ce9ed&&(this[_0x1d3463(0x1be)]=this['nearestClockForFrac'](_0x2ce9ed));},_0x2a2496=()=>{const _0x3c5cbf=_0x468896;document[_0x3c5cbf(0x1a5)](_0x3c5cbf(0x190),_0x508e6e),document['removeEventListener'](_0x3c5cbf(0x1d2),_0x2a2496),this[_0x3c5cbf(0x1dd)]=!0x1;const _0x316f48=this['dragClock'];this[_0x3c5cbf(0x1be)]=null,null!==_0x316f48&&(this[_0x3c5cbf(0x1a4)](_0x316f48),this['hoverClock']=_0x316f48);};document[_0x468896(0x19f)](_0x468896(0x190),_0x508e6e),document[_0x468896(0x19f)]('mouseup',_0x2a2496);},'dotStyle'(_0x536fe){const _0x1a4bc3=_0x14187e,_0x5a5246=this[_0x1a4bc3(0x1d9)](_0x536fe[_0x1a4bc3(0x1a8)]),_0x2e1fbc=!this[_0x1a4bc3(0x1dd)]&&this[_0x1a4bc3(0x1e6)]===_0x536fe[_0x1a4bc3(0x1a8)],_0x444279=this[_0x1a4bc3(0x1dd)]&&this['dragClock']===_0x536fe[_0x1a4bc3(0x1a8)];let _0x3a9ab5=_0x1a4bc3(0x1c9),_0x5f47f0='var(--okdb-app-fg-muted)',_0x2a910e='.55';return this['selectedClock']===_0x536fe[_0x1a4bc3(0x1a8)]?(_0x3a9ab5=_0x1a4bc3(0x1dc),_0x5f47f0=_0x1a4bc3(0x1ac),_0x2a910e='1'):_0x444279?(_0x3a9ab5=_0x1a4bc3(0x19b),_0x5f47f0=_0x1a4bc3(0x1ac),_0x2a910e=_0x1a4bc3(0x1bc)):_0x2e1fbc&&(_0x3a9ab5=_0x1a4bc3(0x1dc),_0x5f47f0=_0x1a4bc3(0x197),_0x2a910e='.9'),[_0x1a4bc3(0x1c1),'left:calc(6px\x20+\x20'+_0x5a5246+'\x20*\x20(100%\x20-\x2012px))',_0x1a4bc3(0x18f),'transform:translate(-50%,-50%)',_0x1a4bc3(0x191)+_0x3a9ab5,_0x1a4bc3(0x1d0)+_0x3a9ab5,'border-radius:50%','background:'+_0x5f47f0,_0x1a4bc3(0x1db)+_0x2a910e,_0x1a4bc3(0x1ca),_0x1a4bc3(0x1ef)+(this[_0x1a4bc3(0x1dd)]?'grabbing':_0x1a4bc3(0x1a1)),_0x1a4bc3(0x18e)][_0x1a4bc3(0x1e5)](';');},'dragRingStyle'(){const _0x5ddecc=_0x14187e;return this[_0x5ddecc(0x1dd)]&&null!==this[_0x5ddecc(0x1be)]?[_0x5ddecc(0x1c1),_0x5ddecc(0x1e1)+this['dotFraction'](this[_0x5ddecc(0x1be)])+_0x5ddecc(0x1c6),_0x5ddecc(0x18f),_0x5ddecc(0x1bf),_0x5ddecc(0x1c7),_0x5ddecc(0x1cf),_0x5ddecc(0x1d8),'border:2px\x20solid\x20var(--okdb-accent)',_0x5ddecc(0x194),_0x5ddecc(0x1cd),'z-index:4',_0x5ddecc(0x1d6)][_0x5ddecc(0x1e5)](';'):_0x5ddecc(0x1ce);},'tooltipStyle'(_0x8cf1d8){const _0x33e892=_0x14187e;return[_0x33e892(0x1c1),_0x33e892(0x1c8)+this[_0x33e892(0x1d9)](_0x8cf1d8[_0x33e892(0x1a8)])+_0x33e892(0x1b2),_0x33e892(0x19c),'transform:translateX(-50%)',_0x33e892(0x1b0),_0x33e892(0x1e2),_0x33e892(0x1ba),_0x33e892(0x1f0),'font-size:11px',_0x33e892(0x1c0),'pointer-events:none',_0x33e892(0x1ae),'color:var(--okdb-app-fg)',_0x33e892(0x1a9)]['join'](';');}}),async 'init'(_0x3d32d8){const _0x2956a8=_0x14187e;_0x3d32d8['$watch'](()=>_0x3d32d8[_0x2956a8(0x1e4)][_0x2956a8(0x1d4)]+'|'+_0x3d32d8[_0x2956a8(0x1e4)][_0x2956a8(0x1c3)]+'|'+_0x3d32d8[_0x2956a8(0x1e4)][_0x2956a8(0x1e0)],()=>{const _0x14ab3b=_0x2956a8;this['diffs']=[],this[_0x14ab3b(0x19a)]();}),await this[_0x2956a8(0x19a)]();},'template':_0x14187e(0x1e8),'style':''};
|
|
1
|
+
const _0x5be261=_0x41be;function _0x249a(){const _0x5b041a=['9739251QzDYMc','short','fracFromEvent','busy','6044MZmxPS','border-radius:6px','join','dispatchEvent','dragClock','box-shadow:0\x202px\x2010px\x20color-mix(in\x20srgb,\x20#000\x2025%,\x20transparent)','dotFraction','2-digit','background:var(--okdb-app-bg-deep)','mouseup','var(--okdb-accent)','clientX','tm-diffs-loaded','\x20*\x20(100%\x20-\x2012px))','push','addEventListener','4857TAWnrl','border-radius:50%','384xuHMJS','top:50%','1428SHgHkW','6px','$attr','left:clamp(40px,\x20calc(6px\x20+\x20','9252285Daosjx','padding:6px\x2010px','querySelector','.75','clock','/time-machine/','put','diffs','set','height:','var(--okdb-app-fg-muted)','$el','floor','map','selectDot','opacity:','isDragging','grabbing','transform:translateX(-50%)','nearestClockForFrac','itemKey','preventDefault','max','background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2010%,\x20transparent)','\x0a<if\x20:=\x22diffs.length\x20>\x200\x22>\x0a<div>\x0a\x0a\x20\x20<!--\x20Header:\x20label\x20+\x20\x22back\x20to\x20live\x22\x20button\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20margin-bottom:7px;\x22>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:10px;\x20font-family:monospace;\x20letter-spacing:.05em;\x20text-transform:uppercase;\x20opacity:.38;\x20user-select:none;\x22>\x0a\x20\x20\x20\x20\x20\x20time\x20travel\x20·\x20{{\x20diffs.length\x20}}\x20snapshot{{\x20diffs.length\x20===\x201\x20?\x20\x27\x27\x20:\x20\x27s\x27\x20}}\x0a\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20<if\x20:=\x22selectedClock\x20!==\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22selectCurrent()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-size:10px;\x20padding:1px\x208px;\x20border-radius:4px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2035%,\x20transparent);\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x208%,\x20transparent);\x20color:var(--okdb-accent);\x20cursor:pointer;\x20font-family:monospace;\x20line-height:1.6;\x22\x0a\x20\x20\x20\x20\x20\x20>←\x20live</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Scrubber:\x20capped\x20width\x20so\x20it\x20never\x20fills\x20a\x20wide\x20table\x20-->\x0a\x20\x20<div\x20style=\x22max-width:480px;\x20padding-bottom:10px;\x22>\x0a\x20\x20\x20\x20<div\x0a\x20\x20\x20\x20\x20\x20data-track\x0a\x20\x20\x20\x20\x20\x20style=\x22position:relative;\x20height:26px;\x20width:100%;\x20user-select:none;\x22\x0a\x20\x20\x20\x20\x20\x20:style=\x22\x27cursor:\x27\x20+\x20(isDragging\x20?\x20\x27grabbing\x27\x20:\x20\x27ew-resize\x27)\x22\x0a\x20\x20\x20\x20\x20\x20@mousedown=\x22startDrag($event)\x22\x0a\x20\x20\x20\x20>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Track\x20line\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22position:absolute;\x20left:6px;\x20right:6px;\x20top:50%;\x20height:2px;\x20transform:translateY(-50%);\x20background:var(--okdb-app-border);\x20border-radius:1px;\x20pointer-events:none;\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Diff\x20dots\x20+\x20tooltips\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20as=\x22repeat\x22\x20:of=\x22diffs\x22\x20let:item=\x22diff\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Tooltip\x20(above\x20track,\x20shown\x20on\x20hover\x20or\x20drag-snap)\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22activeTooltipClock\x20===\x20diff.clock\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20:style=\x22tooltipStyle(diff)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:5px;\x20margin-bottom:3px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22clock\x22\x20style=\x22width:10px;height:10px;opacity:.5;flex-shrink:0;\x22></ok-icon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;\x20color:var(--okdb-accent);\x20font-size:10px;\x22>clock\x20{{\x20diff.clock\x20}}</span>\x0a\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\x20:=\x22wallTime(diff)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.7;\x20font-size:11px;\x22>{{\x20wallTime(diff)\x20}}</div>\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<div\x20style=\x22opacity:.4;\x20margin-top:3px;\x20font-size:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fieldsChanged(diff)\x20}}\x20field{{\x20fieldsChanged(diff)\x20===\x201\x20?\x20\x27\x27\x20:\x20\x27s\x27\x20}}\x20changed\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Dot\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22dotStyle(diff)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@mouseenter=\x22!isDragging\x20&&\x20(hoverClock\x20=\x20diff.clock)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@mouseleave=\x22!isDragging\x20&&\x20(hoverClock\x20=\x20null)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22!isDragging\x20&&\x20selectDot(diff.clock)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20></div>\x0a\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Snapping\x20ring:\x20jumps\x20to\x20nearest\x20clock\x20with\x20CSS\x20transition\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20:style=\x22dragRingStyle()\x22\x20style=\x22pointer-events:none;\x22></div>\x0a\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a</div>\x0a</if>\x0a','left:calc(6px\x20+\x20','get','[data-track]','type','mousemove','env','10px','height:16px','z-index:10','.55','2280265CTKSTF','width','json','sort','numeric','/env/','tm-clock-select','forEach','removeEventListener','12568600tFrxjY','pointer-events:none','pointer','/history','selectedClock','cursor:','font-size:11px','load','min','8RCbRSJ','transform:translate(-50%,-50%)','color:var(--okdb-app-fg)','display:none','API','\x20*\x20(100%\x20-\x2012px)),\x20calc(100%\x20-\x2040px))','bottom:calc(100%\x20+\x208px)','z-index:3','width:16px','transition:width\x20100ms\x20ease,height\x20100ms\x20ease,background\x20100ms\x20ease,opacity\x20100ms\x20ease','6nsHJLg','length','timestamp','en-GB','1444124feyXTo','97HhHOpt','white-space:nowrap'];_0x249a=function(){return _0x5b041a;};return _0x249a();}(function(_0x2313c2,_0x6ac52f){const _0x2446f4=_0x41be,_0x3a9929=_0x2313c2();while(!![]){try{const _0x2db22f=-parseInt(_0x2446f4(0x12c))/0x1*(-parseInt(_0x2446f4(0x132))/0x2)+parseInt(_0x2446f4(0x142))/0x3*(-parseInt(_0x2446f4(0x146))/0x4)+parseInt(_0x2446f4(0x10b))/0x5*(parseInt(_0x2446f4(0x127))/0x6)+-parseInt(_0x2446f4(0x14a))/0x7*(parseInt(_0x2446f4(0x11d))/0x8)+-parseInt(_0x2446f4(0x12e))/0x9+-parseInt(_0x2446f4(0x114))/0xa+parseInt(_0x2446f4(0x12b))/0xb*(parseInt(_0x2446f4(0x144))/0xc);if(_0x2db22f===_0x6ac52f)break;else _0x3a9929['push'](_0x3a9929['shift']());}catch(_0x156f9b){_0x3a9929['push'](_0x3a9929['shift']());}}}(_0x249a,0xadb72));import _0x4b44e8 from'@toolkit/elements/ok-icon.ok.js';function _0x41be(_0x212886,_0x37578c){_0x212886=_0x212886-0xf9;const _0x249afc=_0x249a();let _0x41beaf=_0x249afc[_0x212886];return _0x41beaf;}export default{'tag':'tm-timeline','components':[_0x4b44e8],'attr':{'type':{},'itemKey':{},'env':{},'selectedClock':{}},'context':_0x20432f=>({'busy':!0x1,'diffs':[],'hoverClock':null,'isDragging':!0x1,'dragClock':null,get 'type'(){const _0x1b9ab6=_0x41be;return _0x20432f[_0x1b9ab6(0x148)][_0x1b9ab6(0x104)];},get 'itemKey'(){const _0x39aeab=_0x41be;return _0x20432f[_0x39aeab(0x148)][_0x39aeab(0xfc)];},get 'env'(){const _0x2bd0bc=_0x41be;return _0x20432f['$attr'][_0x2bd0bc(0x106)];},get 'selectedClock'(){const _0x4df212=_0x41be,_0x4a0476=_0x20432f[_0x4df212(0x148)][_0x4df212(0x118)];return null!=_0x4a0476?Number(_0x4a0476):null;},get '_cappedFractions'(){const _0x4a40ac=_0x41be,_0x24723c=this[_0x4a40ac(0x151)][_0x4a40ac(0x128)];if(0x0===_0x24723c)return new Map();if(0x1===_0x24723c)return new Map([[this[_0x4a40ac(0x151)][0x0][_0x4a40ac(0x14e)],0.5]]);const _0x4176a4=this['diffs']['map'](_0x343186=>_0x343186[_0x4a40ac(0x14e)]),_0x71951a=[];for(let _0x360568=0x1;_0x360568<_0x24723c;_0x360568++)_0x71951a[_0x4a40ac(0x140)](_0x4176a4[_0x360568]-_0x4176a4[_0x360568-0x1]);const _0x30bcd5=[..._0x71951a][_0x4a40ac(0x10e)]((_0x3eaeeb,_0x376b30)=>_0x3eaeeb-_0x376b30),_0x23773a=0x4*_0x30bcd5[Math[_0x4a40ac(0x156)](_0x30bcd5[_0x4a40ac(0x128)]/0x2)],_0x1fc3d5=_0x71951a[_0x4a40ac(0x157)](_0x3801cc=>Math[_0x4a40ac(0x11c)](_0x3801cc,_0x23773a)),_0x5ee148=[0x0];for(const _0x61e26c of _0x1fc3d5)_0x5ee148[_0x4a40ac(0x140)](_0x5ee148[_0x5ee148[_0x4a40ac(0x128)]-0x1]+_0x61e26c);const _0x36f4b1=_0x5ee148[_0x5ee148['length']-0x1],_0x43c243=new Map();return _0x4176a4[_0x4a40ac(0x112)]((_0x304e12,_0x32e63e)=>_0x43c243[_0x4a40ac(0x152)](_0x304e12,_0x36f4b1?_0x5ee148[_0x32e63e]/_0x36f4b1:0x0)),_0x43c243;},'dotFraction'(_0x4d7d0d){const _0x4a221d=_0x41be;return this['_cappedFractions'][_0x4a221d(0x102)](_0x4d7d0d)??0.5;},'fieldsChanged':_0x5ebac9=>Object['keys'](_0x5ebac9[_0x5be261(0x150)]||{})[_0x5be261(0x128)]+(_0x5ebac9['delete']||[])[_0x5be261(0x128)],'wallTime':_0x219e49=>_0x219e49[_0x5be261(0x129)]?new Date(_0x219e49['timestamp'])['toLocaleString'](_0x5be261(0x12a),{'day':'numeric','month':_0x5be261(0x12f),'year':_0x5be261(0x10f),'hour':_0x5be261(0x139),'minute':_0x5be261(0x139),'second':_0x5be261(0x139)}):null,get 'activeTooltipClock'(){const _0x1c8770=_0x5be261;return this['isDragging']?this[_0x1c8770(0x136)]:this['hoverClock'];},async 'load'(){const _0xbfb322=_0x5be261;if(this[_0xbfb322(0x104)]&&this[_0xbfb322(0xfc)]&&this[_0xbfb322(0x106)]){this[_0xbfb322(0x131)]=!0x0;try{const _0x1ccbf5=__ENV__[_0xbfb322(0x121)]+_0xbfb322(0x110)+encodeURIComponent(this[_0xbfb322(0x106)])+_0xbfb322(0x14f)+encodeURIComponent(this['type'])+'/'+encodeURIComponent(this[_0xbfb322(0xfc)])+_0xbfb322(0x117),_0x4476de=await fetch(_0x1ccbf5);if(!_0x4476de['ok'])return void(this[_0xbfb322(0x151)]=[]);const _0x5e30f3=await _0x4476de[_0xbfb322(0x10d)]();this[_0xbfb322(0x151)]=_0x5e30f3['data']?.['diffs']||[];}catch{this['diffs']=[];}finally{this[_0xbfb322(0x131)]=!0x1;}_0x20432f[_0xbfb322(0x155)][_0xbfb322(0x135)](new CustomEvent(_0xbfb322(0x13e),{'detail':{'diffs':this[_0xbfb322(0x151)]},'bubbles':!0x0}));}},'selectDot'(_0x5c32f4){const _0x483bb3=_0x5be261;_0x20432f[_0x483bb3(0x155)][_0x483bb3(0x135)](new CustomEvent(_0x483bb3(0x111),{'detail':{'clock':_0x5c32f4},'bubbles':!0x0}));},'selectCurrent'(){const _0xef1009=_0x5be261;_0x20432f[_0xef1009(0x155)][_0xef1009(0x135)](new CustomEvent(_0xef1009(0x111),{'detail':{'clock':null},'bubbles':!0x0}));},'nearestClockForFrac'(_0x1b2cdb){const _0x714bcf=_0x5be261;if(!this[_0x714bcf(0x151)][_0x714bcf(0x128)])return null;const _0x13ddca=this['_cappedFractions'];let _0x1d8e36=this[_0x714bcf(0x151)][0x0],_0x9e2981=0x1/0x0;for(const _0x5ecf88 of this[_0x714bcf(0x151)]){const _0x45f71=Math['abs']((_0x13ddca[_0x714bcf(0x102)](_0x5ecf88[_0x714bcf(0x14e)])??0x0)-_0x1b2cdb);_0x45f71<_0x9e2981&&(_0x9e2981=_0x45f71,_0x1d8e36=_0x5ecf88);}return _0x1d8e36[_0x714bcf(0x14e)];},'fracFromEvent'(_0x284fd6){const _0x2151be=_0x5be261,_0x854bb8=_0x20432f[_0x2151be(0x155)][_0x2151be(0x14c)](_0x2151be(0x103));if(!_0x854bb8)return null;const _0x3bf7a7=_0x854bb8['getBoundingClientRect']();return Math[_0x2151be(0xfe)](0x0,Math[_0x2151be(0x11c)](0x1,(_0x284fd6[_0x2151be(0x13d)]-_0x3bf7a7['left'])/_0x3bf7a7[_0x2151be(0x10c)]));},'startDrag'(_0x42b4a8){const _0x7967fb=_0x5be261;_0x42b4a8[_0x7967fb(0xfd)]();const _0x3a69c3=this[_0x7967fb(0x130)](_0x42b4a8);if(null===_0x3a69c3)return;this[_0x7967fb(0x15a)]=!0x0,this[_0x7967fb(0x136)]=this[_0x7967fb(0xfb)](_0x3a69c3);const _0x31fea7=_0x526ab1=>{const _0x426615=_0x7967fb,_0x56cc86=this[_0x426615(0x130)](_0x526ab1);null!==_0x56cc86&&(this[_0x426615(0x136)]=this[_0x426615(0xfb)](_0x56cc86));},_0x4e4351=()=>{const _0x49dbea=_0x7967fb;document[_0x49dbea(0x113)](_0x49dbea(0x105),_0x31fea7),document['removeEventListener'](_0x49dbea(0x13b),_0x4e4351),this['isDragging']=!0x1;const _0x450270=this[_0x49dbea(0x136)];this[_0x49dbea(0x136)]=null,null!==_0x450270&&(this[_0x49dbea(0x158)](_0x450270),this['hoverClock']=_0x450270);};document[_0x7967fb(0x141)]('mousemove',_0x31fea7),document[_0x7967fb(0x141)](_0x7967fb(0x13b),_0x4e4351);},'dotStyle'(_0x234967){const _0x4f16ed=_0x5be261,_0x2fe441=this[_0x4f16ed(0x138)](_0x234967[_0x4f16ed(0x14e)]),_0xb19c83=!this[_0x4f16ed(0x15a)]&&this['hoverClock']===_0x234967[_0x4f16ed(0x14e)],_0x3b2e7e=this[_0x4f16ed(0x15a)]&&this['dragClock']===_0x234967[_0x4f16ed(0x14e)];let _0x1a4d70=_0x4f16ed(0x147),_0x35db02=_0x4f16ed(0x154),_0x435eb8=_0x4f16ed(0x10a);return this[_0x4f16ed(0x118)]===_0x234967[_0x4f16ed(0x14e)]?(_0x1a4d70=_0x4f16ed(0x107),_0x35db02=_0x4f16ed(0x13c),_0x435eb8='1'):_0x3b2e7e?(_0x1a4d70='8px',_0x35db02=_0x4f16ed(0x13c),_0x435eb8=_0x4f16ed(0x14d)):_0xb19c83&&(_0x1a4d70=_0x4f16ed(0x107),_0x35db02='var(--okdb-app-fg)',_0x435eb8='.9'),['position:absolute',_0x4f16ed(0x101)+_0x2fe441+_0x4f16ed(0x13f),_0x4f16ed(0x145),_0x4f16ed(0x11e),'width:'+_0x1a4d70,_0x4f16ed(0x153)+_0x1a4d70,_0x4f16ed(0x143),'background:'+_0x35db02,_0x4f16ed(0x159)+_0x435eb8,_0x4f16ed(0x126),_0x4f16ed(0x119)+(this['isDragging']?_0x4f16ed(0xf9):_0x4f16ed(0x116)),_0x4f16ed(0x124)][_0x4f16ed(0x134)](';');},'dragRingStyle'(){const _0x21f1a3=_0x5be261;return this['isDragging']&&null!==this[_0x21f1a3(0x136)]?['position:absolute',_0x21f1a3(0x101)+this[_0x21f1a3(0x138)](this[_0x21f1a3(0x136)])+_0x21f1a3(0x13f),_0x21f1a3(0x145),_0x21f1a3(0x11e),_0x21f1a3(0x125),_0x21f1a3(0x108),_0x21f1a3(0x143),'border:2px\x20solid\x20var(--okdb-accent)',_0x21f1a3(0xff),_0x21f1a3(0x115),'z-index:4','transition:left\x2070ms\x20cubic-bezier(0.25,0.1,0.25,1)'][_0x21f1a3(0x134)](';'):_0x21f1a3(0x120);},'tooltipStyle'(_0x2ef963){const _0x19afbc=_0x5be261;return['position:absolute',_0x19afbc(0x149)+this['dotFraction'](_0x2ef963[_0x19afbc(0x14e)])+_0x19afbc(0x122),_0x19afbc(0x123),_0x19afbc(0xfa),_0x19afbc(0x13a),'border:1px\x20solid\x20var(--okdb-app-border)',_0x19afbc(0x133),_0x19afbc(0x14b),_0x19afbc(0x11a),_0x19afbc(0x12d),_0x19afbc(0x115),_0x19afbc(0x109),_0x19afbc(0x11f),_0x19afbc(0x137)][_0x19afbc(0x134)](';');}}),async 'init'(_0xe06faf){const _0x324a04=_0x5be261;_0xe06faf['$watch'](()=>_0xe06faf[_0x324a04(0x148)][_0x324a04(0x104)]+'|'+_0xe06faf[_0x324a04(0x148)][_0x324a04(0xfc)]+'|'+_0xe06faf[_0x324a04(0x148)]['env'],()=>{const _0x57457e=_0x324a04;this[_0x57457e(0x151)]=[],this[_0x57457e(0x11b)]();}),await this[_0x324a04(0x11b)]();},'template':_0x5be261(0x100),'style':''};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x1733(){const _0x4bec6d=['m\x20ago','limit','trim','replace','6ztqRno','Failed','var(--okdb-success)','h\x20ago','423511zurWBt','/changelog?','oldestClock','dropType','message','error','shortKey','511158YfiWPx','stores','dropFts','registerType','toUpperCase','81955YtigQq','timemachine','just\x20now','put','#6ee7b7','resetFts','2LMeiZn','var(--okdb-app-fg-muted)','$watch','now','toLocaleDateString','8028BjsQKB','set','/env/','var(--okdb-indigo)','$ok','fts','slice','data','5394072QwEvVq','selectedEnv','var(--okdb-accent)','registerIndex','var(--okdb-orange)','default','$attr','resetIndex','length','394704gRkyXT','changes','clock','s\x20ago','var(--okdb-purple)','busy','round','.ch-th{text-align:left;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.ch-td,.ch-th{padding:5px\x208px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.ch-row:hover\x20.ch-td{background:#ffffff06}','type','meta','load','var(--okdb-warning)','3363871gplODk','index','okdb','type-changelog'];_0x1733=function(){return _0x4bec6d;};return _0x1733();}const _0xe78cbb=_0x4eb7;function _0x4eb7(_0x572333,_0x5018b9){_0x572333=_0x572333-0x190;const _0x1733a8=_0x1733();let _0x4eb747=_0x1733a8[_0x572333];return _0x4eb747;}(function(_0x38efdc,_0x3e4dff){const _0x16203a=_0x4eb7,_0x126be7=_0x38efdc();while(!![]){try{const _0x90ffb7=parseInt(_0x16203a(0x19d))/0x1+parseInt(_0x16203a(0x1af))/0x2*(-parseInt(_0x16203a(0x1a4))/0x3)+parseInt(_0x16203a(0x1c5))/0x4+-parseInt(_0x16203a(0x1a9))/0x5+-parseInt(_0x16203a(0x199))/0x6*(parseInt(_0x16203a(0x191))/0x7)+parseInt(_0x16203a(0x1bc))/0x8+-parseInt(_0x16203a(0x1b4))/0x9;if(_0x90ffb7===_0x3e4dff)break;else _0x126be7['push'](_0x126be7['shift']());}catch(_0x17b2ce){_0x126be7['push'](_0x126be7['shift']());}}}(_0x1733,0x80f60));export default{'tag':_0xe78cbb(0x194),'attr':{'type':{}},'context':_0x487466=>({'busy':!0x1,'error':null,'changes':[],'clock':null,'limit':0x64,'before':null,get 'type'(){const _0xef2de2=_0xe78cbb;return _0x487466[_0xef2de2(0x1c2)][_0xef2de2(0x1cd)];},async 'load'(_0x2020e6=null){const _0x1e1081=_0xe78cbb;if(this[_0x1e1081(0x1cd)]){this[_0x1e1081(0x1ca)]=!0x0,this[_0x1e1081(0x1a2)]=null;try{const _0x561dae=new URLSearchParams({'limit':this[_0x1e1081(0x196)],'annotate':_0x1e1081(0x1aa)});null!=_0x2020e6&&_0x561dae[_0x1e1081(0x1b5)]('before',_0x2020e6);const _0x7085f5=_0x487466[_0x1e1081(0x1b8)][_0x1e1081(0x1a5)][_0x1e1081(0x193)][_0x1e1081(0x1bd)]||_0x1e1081(0x1c1),_0x377355=await fetch(__ENV__['API']+_0x1e1081(0x1b6)+encodeURIComponent(_0x7085f5)+'/type/'+encodeURIComponent(this[_0x1e1081(0x1cd)])+_0x1e1081(0x19e)+_0x561dae),_0x184477=await _0x377355['json']();if(!_0x377355['ok'])throw new Error(_0x184477?.[_0x1e1081(0x1a2)]?.[_0x1e1081(0x1a1)]||_0x1e1081(0x19a));this['changes']=_0x184477[_0x1e1081(0x1bb)]??[],this[_0x1e1081(0x1c7)]=_0x184477[_0x1e1081(0x1ce)]??null,this['before']=_0x2020e6;}catch(_0x48e4ec){this['error']=_0x48e4ec?.[_0x1e1081(0x1a1)]||String(_0x48e4ec),this[_0x1e1081(0x1c6)]=[];}finally{this[_0x1e1081(0x1ca)]=!0x1;}}},get 'hasOlder'(){const _0x35bfd3=_0xe78cbb;return this[_0x35bfd3(0x1c6)][_0x35bfd3(0x1c4)]===this[_0x35bfd3(0x196)];},get 'oldestClock'(){const _0x5c4843=_0xe78cbb;return this[_0x5c4843(0x1c6)]['length']?this['changes'][this[_0x5c4843(0x1c6)]['length']-0x1][_0x5c4843(0x1c7)]:null;},'loadOlder'(){const _0x47d5ed=_0xe78cbb;null!=this[_0x47d5ed(0x19f)]&&this[_0x47d5ed(0x1cf)](this['oldestClock']-0x1);},'loadLatest'(){const _0x47b6f9=_0xe78cbb;this[_0x47b6f9(0x1cf)](null);},'actionColor'(_0x4c2988){const _0x22bde5=_0xe78cbb;switch(_0x4c2988){case _0x22bde5(0x1ac):case'registerFts':return _0x22bde5(0x19b);case'remove':case _0x22bde5(0x1a0):return'var(--okdb-danger)';case _0x22bde5(0x1a7):return _0x22bde5(0x1be);case _0x22bde5(0x1bf):return _0x22bde5(0x1c9);case'dropIndex':return _0x22bde5(0x190);case _0x22bde5(0x1c3):return _0x22bde5(0x1b7);case _0x22bde5(0x1a6):return _0x22bde5(0x1c0);case _0x22bde5(0x1ae):return _0x22bde5(0x1ad);default:return _0x22bde5(0x1b0);}},'actionLabel':_0x31c33b=>_0x31c33b?_0x31c33b[_0xe78cbb(0x198)](/([A-Z])/g,'\x20$1')['replace'](/_/g,'\x20')[_0xe78cbb(0x1a8)]()[_0xe78cbb(0x197)]():'','displayKey'(_0x2a6540){const _0x3b0e85=_0xe78cbb,_0xbe1df4=_0x2a6540['key']||_0x2a6540[_0x3b0e85(0x192)]||_0x2a6540[_0x3b0e85(0x1b9)]||null;return this[_0x3b0e85(0x1a3)](_0xbe1df4);},'shortKey':_0x517a44=>_0x517a44?_0x517a44[_0xe78cbb(0x1c4)]<=0x18?_0x517a44:_0x517a44[_0xe78cbb(0x1ba)](0x0,0xa)+'…'+_0x517a44[_0xe78cbb(0x1ba)](-0x6):'—','relTime'(_0x222f78){const _0x4f7fee=_0xe78cbb;if(!_0x222f78)return'—';const _0x16812f=Date[_0x4f7fee(0x1b2)]()-_0x222f78;return _0x16812f<0x1388?_0x4f7fee(0x1ab):_0x16812f<0xea60?Math[_0x4f7fee(0x1cb)](_0x16812f/0x3e8)+_0x4f7fee(0x1c8):_0x16812f<0x36ee80?Math[_0x4f7fee(0x1cb)](_0x16812f/0xea60)+_0x4f7fee(0x195):_0x16812f<0x5265c00?Math['round'](_0x16812f/0x36ee80)+_0x4f7fee(0x19c):new Date(_0x222f78)[_0x4f7fee(0x1b3)]();}}),async 'init'(_0x3a6286){const _0x5728d4=_0xe78cbb;_0x3a6286[_0x5728d4(0x1b1)](()=>_0x3a6286[_0x5728d4(0x1c2)][_0x5728d4(0x1cd)],()=>{const _0x3f1d0a=_0x5728d4;this[_0x3f1d0a(0x1c6)]=[],this[_0x3f1d0a(0x1cf)]();}),await this[_0x5728d4(0x1cf)]();},'template':'\x0a<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:10px;\x20height:100%;\x20min-height:0;\x22>\x0a\x0a\x20\x20<!--\x20Toolbar\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22font-size:13px;\x20opacity:.7;\x22>Change\x20log\x20for\x20<b>{{type}}</b></div>\x0a\x20\x20\x20\x20<div\x20style=\x22margin-left:auto;\x20display:flex;\x20gap:6px;\x20align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22before\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadLatest()\x22\x20style=\x22font-size:12px;\x20opacity:.8;\x22>↑\x20Latest</button>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22load(before)\x22\x20:disabled=\x22busy\x22\x20style=\x22font-size:12px;\x20opacity:.8;\x22>↻</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x22>{{error}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22!busy\x20&&\x20changes.length\x20===\x200\x20&&\x20!error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22opacity:.5;\x20font-size:13px;\x22>No\x20changes\x20recorded\x20yet.</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20Table\x20-->\x0a\x20\x20<div\x20style=\x22flex:1;\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20<table\x20style=\x22width:100%;\x20border-collapse:collapse;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20<thead\x20style=\x22position:sticky;\x20top:0;\x20z-index:1;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22text-align:right;\x20width:70px;\x22>Clock</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22width:110px;\x22>Action</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22>Key</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22width:90px;\x22>Origin</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22width:90px;\x20text-align:right;\x22>When</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20\x20\x20</thead>\x0a\x20\x20\x20\x20\x20\x20<tbody>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<tr\x20as=\x22repeat\x22\x20:of=\x22changes\x22\x20let:item=\x22ch\x22\x20class=\x22ch-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22text-align:right;\x20font-family:monospace;\x20opacity:.6;\x22>{{ch.clock}}</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27font-size:10px;\x20padding:2px\x206px;\x20border-radius:4px;\x20border:1px\x20solid;\x20color:\x27\x20+\x20actionColor(ch.action)\x20+\x20\x27;\x20border-color:\x27\x20+\x20actionColor(ch.action)\x20+\x20\x2744;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{actionLabel(ch.action)}}\x0a\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<if\x20:=\x22ch.tmDiff\x22>\x0a\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\x20style=\x22font-size:9px;\x20padding:1px\x205px;\x20border-radius:3px;\x20border:1px\x20solid\x20var(--okdb-accent)44;\x20color:var(--okdb-accent);\x20opacity:.7;\x20font-family:monospace;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Time-machine\x20snapshot\x20available\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>TM</span>\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</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22font-family:monospace;\x20max-width:220px;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20white-space:nowrap;\x22\x20:title=\x22ch.key\x20||\x20ch.index\x20||\x20ch.fts\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{displayKey(ch)}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22font-family:monospace;\x20font-size:11px;\x20opacity:.6;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20white-space:nowrap;\x22\x20:title=\x22ch.origin\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{ch.origin\x20?\x20ch.origin.slice(0,8)\x20:\x20\x27—\x27}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22text-align:right;\x20opacity:.6;\x20white-space:nowrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{relTime(ch.timestamp)}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20\x20\x20</tbody>\x0a\x20\x20\x20\x20</table>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Pagination\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x20align-items:center;\x20padding-top:4px;\x20border-top:1px\x20solid\x20var(--okdb-app-border);\x22>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:12px;\x20opacity:.55;\x22>{{changes.length}}\x20entries</span>\x0a\x20\x20\x20\x20<if\x20:=\x22hasOlder\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadOlder()\x22\x20:disabled=\x22busy\x22\x20style=\x22font-size:12px;\x20margin-left:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Load\x20older\x20▼\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a</div>\x0a','style':_0xe78cbb(0x1cc)};
|
|
1
|
+
function _0x550d(_0x1b249d,_0xefecab){_0x1b249d=_0x1b249d-0xd3;const _0x114e21=_0x114e();let _0x550d5e=_0x114e21[_0x1b249d];return _0x550d5e;}const _0x137f4b=_0x550d;(function(_0x4297ce,_0x1415bf){const _0x554c80=_0x550d,_0x4c64f1=_0x4297ce();while(!![]){try{const _0x1eddf6=parseInt(_0x554c80(0x107))/0x1*(parseInt(_0x554c80(0xf1))/0x2)+-parseInt(_0x554c80(0xe8))/0x3*(-parseInt(_0x554c80(0x108))/0x4)+parseInt(_0x554c80(0xe1))/0x5+-parseInt(_0x554c80(0xff))/0x6+parseInt(_0x554c80(0xf5))/0x7+parseInt(_0x554c80(0x100))/0x8+-parseInt(_0x554c80(0x10e))/0x9;if(_0x1eddf6===_0x1415bf)break;else _0x4c64f1['push'](_0x4c64f1['shift']());}catch(_0xb3683){_0x4c64f1['push'](_0x4c64f1['shift']());}}}(_0x114e,0x9cd91));export default{'tag':_0x137f4b(0xe2),'attr':{'type':{}},'context':_0x455493=>({'busy':!0x1,'error':null,'changes':[],'clock':null,'limit':0x64,'before':null,get 'type'(){const _0x1c1d24=_0x137f4b;return _0x455493[_0x1c1d24(0xea)][_0x1c1d24(0x10b)];},async 'load'(_0x516daf=null){const _0x203a26=_0x137f4b;if(this[_0x203a26(0x10b)]){this[_0x203a26(0xd4)]=!0x0,this[_0x203a26(0xdc)]=null;try{const _0x1393d9=new URLSearchParams({'limit':this[_0x203a26(0x112)],'annotate':'timemachine'});null!=_0x516daf&&_0x1393d9[_0x203a26(0xed)](_0x203a26(0xe7),_0x516daf);const _0xfc793c=_0x455493[_0x203a26(0xfb)][_0x203a26(0x113)][_0x203a26(0x10d)][_0x203a26(0x105)]||_0x203a26(0xf7),_0x4202b2=await fetch(__ENV__[_0x203a26(0xf3)]+_0x203a26(0xe5)+encodeURIComponent(_0xfc793c)+_0x203a26(0xf8)+encodeURIComponent(this[_0x203a26(0x10b)])+_0x203a26(0x115)+_0x1393d9),_0x398558=await _0x4202b2[_0x203a26(0x116)]();if(!_0x4202b2['ok'])throw new Error(_0x398558?.[_0x203a26(0xdc)]?.[_0x203a26(0x10a)]||_0x203a26(0x10c));this[_0x203a26(0x104)]=_0x398558[_0x203a26(0xf2)]??[],this[_0x203a26(0xf6)]=_0x398558[_0x203a26(0xfc)]??null,this[_0x203a26(0xe7)]=_0x516daf;}catch(_0x292193){this[_0x203a26(0xdc)]=_0x292193?.[_0x203a26(0x10a)]||String(_0x292193),this['changes']=[];}finally{this[_0x203a26(0xd4)]=!0x1;}}},get 'hasOlder'(){const _0x270b91=_0x137f4b;return this[_0x270b91(0x104)]['length']===this[_0x270b91(0x112)];},get 'oldestClock'(){const _0x27fbe5=_0x137f4b;return this[_0x27fbe5(0x104)][_0x27fbe5(0x10f)]?this[_0x27fbe5(0x104)][this['changes'][_0x27fbe5(0x10f)]-0x1][_0x27fbe5(0xf6)]:null;},'loadOlder'(){const _0x5d331a=_0x137f4b;null!=this[_0x5d331a(0xde)]&&this['load'](this[_0x5d331a(0xde)]-0x1);},'loadLatest'(){const _0xcac83c=_0x137f4b;this[_0xcac83c(0x102)](null);},'actionColor'(_0x591cef){const _0x46bb42=_0x137f4b;switch(_0x591cef){case'put':case _0x46bb42(0xfd):return _0x46bb42(0x111);case _0x46bb42(0xf0):case _0x46bb42(0x109):return _0x46bb42(0xef);case _0x46bb42(0x106):return _0x46bb42(0xe9);case _0x46bb42(0xd9):return'var(--okdb-purple)';case _0x46bb42(0xe4):return'var(--okdb-warning)';case _0x46bb42(0xe3):return _0x46bb42(0x103);case _0x46bb42(0xd3):return _0x46bb42(0xdb);case _0x46bb42(0xdd):return _0x46bb42(0xdf);default:return _0x46bb42(0x114);}},'actionLabel':_0xdf2b27=>_0xdf2b27?_0xdf2b27['replace'](/([A-Z])/g,_0x137f4b(0xfe))['replace'](/_/g,'\x20')[_0x137f4b(0xda)]()[_0x137f4b(0xfa)]():'','displayKey'(_0x11f786){const _0x42199a=_0x137f4b,_0xfe82e1=_0x11f786[_0x42199a(0xd8)]||_0x11f786[_0x42199a(0xe6)]||_0x11f786[_0x42199a(0xd6)]||null;return this[_0x42199a(0xf4)](_0xfe82e1);},'shortKey':_0x14e6f4=>_0x14e6f4?_0x14e6f4['length']<=0x18?_0x14e6f4:_0x14e6f4[_0x137f4b(0x110)](0x0,0xa)+'…'+_0x14e6f4[_0x137f4b(0x110)](-0x6):'—','relTime'(_0x1e0031){const _0x4f00f3=_0x137f4b;if(!_0x1e0031)return'—';const _0x16d4c8=Date[_0x4f00f3(0xd5)]()-_0x1e0031;return _0x16d4c8<0x1388?_0x4f00f3(0xee):_0x16d4c8<0xea60?Math[_0x4f00f3(0xe0)](_0x16d4c8/0x3e8)+'s\x20ago':_0x16d4c8<0x36ee80?Math[_0x4f00f3(0xe0)](_0x16d4c8/0xea60)+_0x4f00f3(0xec):_0x16d4c8<0x5265c00?Math[_0x4f00f3(0xe0)](_0x16d4c8/0x36ee80)+_0x4f00f3(0xd7):new Date(_0x1e0031)[_0x4f00f3(0xeb)]();}}),async 'init'(_0x3dc6c9){const _0x5c699d=_0x137f4b;_0x3dc6c9[_0x5c699d(0x101)](()=>_0x3dc6c9[_0x5c699d(0xea)][_0x5c699d(0x10b)],()=>{const _0x490a9a=_0x5c699d;this[_0x490a9a(0x104)]=[],this['load']();}),await this[_0x5c699d(0x102)]();},'template':_0x137f4b(0xf9),'style':'.ch-th{text-align:left;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.ch-td,.ch-th{padding:5px\x208px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.ch-row:hover\x20.ch-td{background:#ffffff06}'};function _0x114e(){const _0xed3ecd=['3778932JwSnpB','228056CaoOJr','$watch','load','var(--okdb-indigo)','changes','selectedEnv','registerType','6NCNYnL','5102804AYVRpQ','dropType','message','type','Failed','okdb','18633942jSBItm','length','slice','var(--okdb-success)','limit','stores','var(--okdb-app-fg-muted)','/changelog?','json','dropFts','busy','now','fts','h\x20ago','key','registerIndex','toUpperCase','var(--okdb-orange)','error','resetFts','oldestClock','#6ee7b7','round','3406525adpNLe','type-changelog','resetIndex','dropIndex','/env/','index','before','3orWEES','var(--okdb-accent)','$attr','toLocaleDateString','m\x20ago','set','just\x20now','var(--okdb-danger)','remove','28348vLGIyv','data','API','shortKey','8905064eSyIwx','clock','default','/type/','\x0a<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:10px;\x20height:100%;\x20min-height:0;\x22>\x0a\x0a\x20\x20<!--\x20Toolbar\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22font-size:13px;\x20opacity:.7;\x22>Change\x20log\x20for\x20<b>{{type}}</b></div>\x0a\x20\x20\x20\x20<div\x20style=\x22margin-left:auto;\x20display:flex;\x20gap:6px;\x20align-items:center;\x22>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22before\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadLatest()\x22\x20style=\x22font-size:12px;\x20opacity:.8;\x22>↑\x20Latest</button>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22load(before)\x22\x20:disabled=\x22busy\x22\x20style=\x22font-size:12px;\x20opacity:.8;\x22>↻</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x22>{{error}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22!busy\x20&&\x20changes.length\x20===\x200\x20&&\x20!error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22opacity:.5;\x20font-size:13px;\x22>No\x20changes\x20recorded\x20yet.</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20Table\x20-->\x0a\x20\x20<div\x20style=\x22flex:1;\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20<table\x20style=\x22width:100%;\x20border-collapse:collapse;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20<thead\x20style=\x22position:sticky;\x20top:0;\x20z-index:1;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22text-align:right;\x20width:70px;\x22>Clock</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22width:110px;\x22>Action</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22>Key</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22width:90px;\x22>Origin</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<th\x20class=\x22ch-th\x22\x20style=\x22width:90px;\x20text-align:right;\x22>When</th>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20\x20\x20</thead>\x0a\x20\x20\x20\x20\x20\x20<tbody>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<tr\x20as=\x22repeat\x22\x20:of=\x22changes\x22\x20let:item=\x22ch\x22\x20class=\x22ch-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22text-align:right;\x20font-family:monospace;\x20opacity:.6;\x22>{{ch.clock}}</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27font-size:10px;\x20padding:2px\x206px;\x20border-radius:4px;\x20border:1px\x20solid;\x20color:\x27\x20+\x20actionColor(ch.action)\x20+\x20\x27;\x20border-color:\x27\x20+\x20actionColor(ch.action)\x20+\x20\x2744;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{actionLabel(ch.action)}}\x0a\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<if\x20:=\x22ch.tmDiff\x22>\x0a\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\x20style=\x22font-size:9px;\x20padding:1px\x205px;\x20border-radius:3px;\x20border:1px\x20solid\x20var(--okdb-accent)44;\x20color:var(--okdb-accent);\x20opacity:.7;\x20font-family:monospace;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Time-machine\x20snapshot\x20available\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>TM</span>\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</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22font-family:monospace;\x20max-width:220px;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20white-space:nowrap;\x22\x20:title=\x22ch.key\x20||\x20ch.index\x20||\x20ch.fts\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{displayKey(ch)}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22font-family:monospace;\x20font-size:11px;\x20opacity:.6;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20white-space:nowrap;\x22\x20:title=\x22ch.origin\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{ch.origin\x20?\x20ch.origin.slice(0,8)\x20:\x20\x27—\x27}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<td\x20class=\x22ch-td\x22\x20style=\x22text-align:right;\x20opacity:.6;\x20white-space:nowrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{relTime(ch.timestamp)}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20\x20\x20</tbody>\x0a\x20\x20\x20\x20</table>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Pagination\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x20align-items:center;\x20padding-top:4px;\x20border-top:1px\x20solid\x20var(--okdb-app-border);\x22>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:12px;\x20opacity:.55;\x22>{{changes.length}}\x20entries</span>\x0a\x20\x20\x20\x20<if\x20:=\x22hasOlder\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadOlder()\x22\x20:disabled=\x22busy\x22\x20style=\x22font-size:12px;\x20margin-left:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Load\x20older\x20▼\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a</div>\x0a','trim','$ok','meta','registerFts','\x20$1'];_0x114e=function(){return _0xed3ecd;};return _0x114e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x528f92=_0x203e;function _0x23a9(){const _0x260d4b=['prompt','selected','2LwTSVr','select','22772620IAxJLi','length','message','1595616QGEuEm','Name\x20is\x20required','startsWith','type','$watch','index:drop','reloadInfo','$dispatch','Failed\x20to\x20register\x20type','269742ZenWNG','8784mcZLVG','error','shared','1249441EYpxrW','951000dhswtm','registerType','stores','busy','_unsubs','index:registered','find','okdb','$ok','trim','toast','modal','222416NxQXbM','types','type:registered','type-list','105KuujMt','loaded','allItems','\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22busy\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-overlay>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22loader-center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22loader\x22\x20class=\x22spin\x22\x20style=\x22width:32px;height:32px;\x22></ok-icon>\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</ok-overlay>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22loadError\x20&&\x20!busy\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22type-list__error\x22\x20:title=\x22loadError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22alert-circle\x22\x20style=\x22width:13px;height:13px;flex-shrink:0;opacity:.7;\x22></ok-icon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20loadError\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22type-list__error-retry\x22\x20@click=\x22load()\x22\x20title=\x22Retry\x22>↺</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!loadError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Overview\x20shortcut\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22type-list__item\x20type-list__overview\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22selected\x20==\x20null\x20?\x20\x27type-list__item--selected\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22select(null)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-bottom:4px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22home\x22\x20style=\x22width:13px;height:13px;opacity:.6;flex-shrink:0;\x22></ok-icon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tl-name\x22>Overview</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22height:1px;\x20background:var(--okdb-app-surface-2);\x20margin:2px\x200\x206px;\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22type-list__add\x22\x20@click=\x22openAddModal\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20Register\x20Type\x20({{\x20items.length\x20}})\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22items\x22\x20let:item=\x22t\x22>\x0a\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:class=\x22[\x27type-list__item\x27,\x20selected\x20===\x20t\x20?\x20\x27type-list__item--selected\x27\x20:\x20\x27\x27]\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22select(t)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tl-name\x22>{{\x20t.type\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tl-count\x22>{{\x20t.count\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22systemCount\x20>\x200\x22>\x0a\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\x20class=\x22type-list__system-toggle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22showSystem\x20=\x20!showSystem\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22showSystem\x20?\x20\x27Hide\x20system\x20types\x27\x20:\x20\x27Show\x20system\x20types\x27\x22\x0a\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{{\x20showSystem\x20?\x20\x27▴\x20hide\x20system\x20(\x27\x20+\x20systemCount\x20+\x20\x27)\x27\x20:\x20\x27⚙\x20system\x20(\x27\x20+\x20systemCount\x20+\x20\x27)\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20','load','e.g.\x20user,\x20product,\x20event','filter','loadError','Register','showSystem','243gABWcL','items','selectedEnv'];_0x23a9=function(){return _0x260d4b;};return _0x23a9();}(function(_0x422171,_0x822aad){const _0x74847=_0x203e,_0x5aca53=_0x422171();while(!![]){try{const _0x331104=-parseInt(_0x74847(0x141))/0x1*(parseInt(_0x74847(0x12f))/0x2)+-parseInt(_0x74847(0x13e))/0x3+-parseInt(_0x74847(0x134))/0x4+parseInt(_0x74847(0x142))/0x5+-parseInt(_0x74847(0x13d))/0x6*(parseInt(_0x74847(0x120))/0x7)+parseInt(_0x74847(0x11c))/0x8*(parseInt(_0x74847(0x12a))/0x9)+parseInt(_0x74847(0x131))/0xa;if(_0x331104===_0x822aad)break;else _0x5aca53['push'](_0x5aca53['shift']());}catch(_0x2c29fb){_0x5aca53['push'](_0x5aca53['shift']());}}}(_0x23a9,0xd9e48));function _0x203e(_0x3813e5,_0x1a00f9){_0x3813e5=_0x3813e5-0x11c;const _0x23a990=_0x23a9();let _0x203ebd=_0x23a990[_0x3813e5];return _0x203ebd;}import _0x38ac5c from'@toolkit/elements/ok-icon.ok.js';import _0x3a09fc from'@toolkit/core/ok-overlay.ok.js';import _0x2fedda from'../../../stores/events-store.js';export default{'tag':_0x528f92(0x11f),'dependencies':[_0x3a09fc,_0x38ac5c],'context':_0x530c34=>({'busy':!0x1,'loadError':null,'showSystem':!0x1,'_unsubs':[],get 'allItems'(){const _0x429f65=_0x528f92;return _0x530c34[_0x429f65(0x14a)][_0x429f65(0x144)][_0x429f65(0x149)][_0x429f65(0x11d)]||[];},get 'items'(){const _0x7a246d=_0x528f92;return this[_0x7a246d(0x129)]?this[_0x7a246d(0x122)]:this[_0x7a246d(0x122)]['filter'](_0x46d578=>!_0x46d578[_0x7a246d(0x137)][_0x7a246d(0x136)]('~'));},get 'systemCount'(){const _0x4a3647=_0x528f92;return this[_0x4a3647(0x122)][_0x4a3647(0x126)](_0x57a78e=>_0x57a78e[_0x4a3647(0x137)][_0x4a3647(0x136)]('~'))[_0x4a3647(0x132)];},'selected':null,async 'load'(){const _0x5bf612=_0x528f92;this[_0x5bf612(0x127)]=null;try{this[_0x5bf612(0x145)]=!0x0,await _0x530c34[_0x5bf612(0x14a)][_0x5bf612(0x144)][_0x5bf612(0x149)]['reloadTypes'](),await _0x530c34['$ok'][_0x5bf612(0x144)][_0x5bf612(0x149)][_0x5bf612(0x13a)]();}catch(_0x29e130){this[_0x5bf612(0x127)]=_0x29e130?.[_0x5bf612(0x133)]||'Failed\x20to\x20load\x20types',console['error']('Error\x20fetching\x20types',_0x29e130);}this[_0x5bf612(0x145)]=!0x1,_0x530c34[_0x5bf612(0x13b)](_0x5bf612(0x121),this[_0x5bf612(0x12b)]);},'select'(_0xcb6a43){const _0x266d1e=_0x528f92;this['selected']=_0xcb6a43??null,_0x530c34[_0x266d1e(0x13b)](_0x266d1e(0x12e),_0xcb6a43??null);},async 'openAddModal'(){const _0x426611=_0x528f92,_0x18918c=await _0x530c34[_0x426611(0x14a)]['shared'][_0x426611(0x14d)][_0x426611(0x12d)]('Type\x20name',{'title':'Register\x20Type','placeholder':_0x426611(0x125),'confirmText':_0x426611(0x128),'validate':_0xb9defb=>!(!_0xb9defb||!_0xb9defb['trim']())||_0x426611(0x135)});if(_0x18918c)try{await _0x530c34['$ok'][_0x426611(0x144)][_0x426611(0x149)][_0x426611(0x143)](_0x18918c[_0x426611(0x14b)]());const _0x58b8ff=this[_0x426611(0x12b)][_0x426611(0x148)](_0x2c77cb=>_0x2c77cb[_0x426611(0x137)]===_0x18918c[_0x426611(0x14b)]());_0x58b8ff&&this[_0x426611(0x130)](_0x58b8ff);}catch(_0x4b5235){_0x530c34['$ok'][_0x426611(0x140)]?.[_0x426611(0x14c)]?.[_0x426611(0x13f)]?.(_0x4b5235?.[_0x426611(0x133)]||_0x426611(0x13c)),console[_0x426611(0x13f)]('registerType\x20error',_0x4b5235);}}}),'mount'(_0x2105e6){const _0x321e47=_0x528f92,_0x5a98cd=()=>this['load']();this[_0x321e47(0x146)]=[_0x2fedda['on'](_0x321e47(0x11e),_0x5a98cd),_0x2fedda['on']('type:drop',_0x5a98cd),_0x2fedda['on'](_0x321e47(0x147),_0x5a98cd),_0x2fedda['on'](_0x321e47(0x139),_0x5a98cd)],_0x2105e6[_0x321e47(0x138)](()=>_0x2105e6[_0x321e47(0x14a)][_0x321e47(0x144)][_0x321e47(0x149)][_0x321e47(0x12c)],()=>this[_0x321e47(0x124)]()),this[_0x321e47(0x124)]();},'unmount'(){const _0x530e3a=_0x528f92;for(const _0xe685b2 of this['_unsubs'])_0xe685b2();this[_0x530e3a(0x146)]=[];},'style':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20type-list\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x202px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20type-list\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20left;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__add\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x207px\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-bottom:\x204px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x206px\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x207px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-surface-2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20var(--okdb-app-border);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-app-fg);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item\x20.tl-name\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20monospace;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item\x20.tl-count\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item--selected\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-bg-deep)\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent)\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-accent)\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item--selected\x20.tl-count\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__system-toggle\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x204px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x200.45;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20inherit;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x203px\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__system-toggle:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x200.8;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20flex-start;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(255,60,60,.06);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20rgba(255,60,60,.18);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20line-height:\x201.4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20word-break:\x20break-word;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error\x20span\x20{\x20flex:\x201;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error-retry\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200\x202px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error-retry:hover\x20{\x20opacity:\x201;\x20}\x0a\x20\x20\x20\x20','template':_0x528f92(0x123)};
|
|
1
|
+
function _0x2aea(_0x23aa6e,_0x122e62){_0x23aa6e=_0x23aa6e-0xd9;const _0x18802c=_0x1880();let _0x2aeaec=_0x18802c[_0x23aa6e];return _0x2aeaec;}const _0x1149a9=_0x2aea;(function(_0x3773a6,_0x1281bf){const _0x3e0cde=_0x2aea,_0x4bac73=_0x3773a6();while(!![]){try{const _0x4aa79a=-parseInt(_0x3e0cde(0xef))/0x1+-parseInt(_0x3e0cde(0xe6))/0x2*(-parseInt(_0x3e0cde(0xdc))/0x3)+-parseInt(_0x3e0cde(0xf6))/0x4+parseInt(_0x3e0cde(0xde))/0x5*(parseInt(_0x3e0cde(0xeb))/0x6)+-parseInt(_0x3e0cde(0xe3))/0x7+-parseInt(_0x3e0cde(0xff))/0x8*(parseInt(_0x3e0cde(0xfe))/0x9)+parseInt(_0x3e0cde(0xe7))/0xa;if(_0x4aa79a===_0x1281bf)break;else _0x4bac73['push'](_0x4bac73['shift']());}catch(_0x1a1820){_0x4bac73['push'](_0x4bac73['shift']());}}}(_0x1880,0xa3ac3));import _0x280c56 from'@toolkit/elements/ok-icon.ok.js';function _0x1880(){const _0x57e647=['error','4678500QPFTjw','okdb','Failed\x20to\x20register\x20type','busy','registerType\x20error','modal','find','load','180wRFpfs','84608rYBcRy','Type\x20name','trim','allItems','loaded','selected','type-list','Register','$watch','index:drop','type:registered','$ok','filter','$dispatch','shared','selectedEnv','212349gCnAUE','Failed\x20to\x20load\x20types','75CYwBlf','loadError','Error\x20fetching\x20types','\x0a\x20\x20\x20\x20\x20\x20\x20\x20type-list\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x202px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20type-list\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20text-align:\x20left;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__add\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x207px\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-bottom:\x204px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x206px\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x207px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-surface-2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20var(--okdb-app-border);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-app-fg);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item\x20.tl-name\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20monospace;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item\x20.tl-count\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item--selected\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-bg-deep)\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent)\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-accent)\x20!important;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__item--selected\x20.tl-count\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__system-toggle\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x204px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x200.45;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20inherit;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x203px\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__system-toggle:hover\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x200.8;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20flex-start;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(255,60,60,.06);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20rgba(255,60,60,.18);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20line-height:\x201.4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20word-break:\x20break-word;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error\x20span\x20{\x20flex:\x201;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error-retry\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200\x202px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.7;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.type-list__error-retry:hover\x20{\x20opacity:\x201;\x20}\x0a\x20\x20\x20\x20','registerType','8166501ktOost','items','prompt','10yNQGMX','35721190cOIgZA','e.g.\x20user,\x20product,\x20event','types','showSystem','185142kmfGYF','message','toast','stores','1170698bBxEDU','Name\x20is\x20required','Register\x20Type','type','startsWith','_unsubs'];_0x1880=function(){return _0x57e647;};return _0x1880();}import _0x19017b from'@toolkit/core/ok-overlay.ok.js';import _0x247e2c from'../../../stores/events-store.js';export default{'tag':_0x1149a9(0x105),'dependencies':[_0x19017b,_0x280c56],'context':_0x4e4996=>({'busy':!0x1,'loadError':null,'showSystem':!0x1,'_unsubs':[],get 'allItems'(){const _0x5c2ef2=_0x1149a9;return _0x4e4996[_0x5c2ef2(0x10a)][_0x5c2ef2(0xee)]['okdb'][_0x5c2ef2(0xe9)]||[];},get 'items'(){const _0x4af8f6=_0x1149a9;return this[_0x4af8f6(0xea)]?this['allItems']:this['allItems'][_0x4af8f6(0x10b)](_0xb9b210=>!_0xb9b210[_0x4af8f6(0xf2)][_0x4af8f6(0xf3)]('~'));},get 'systemCount'(){const _0x12b7ca=_0x1149a9;return this[_0x12b7ca(0x102)]['filter'](_0x4e8c17=>_0x4e8c17['type'][_0x12b7ca(0xf3)]('~'))['length'];},'selected':null,async 'load'(){const _0x41d180=_0x1149a9;this['loadError']=null;try{this[_0x41d180(0xf9)]=!0x0,await _0x4e4996['$ok']['stores'][_0x41d180(0xf7)]['reloadTypes'](),await _0x4e4996[_0x41d180(0x10a)][_0x41d180(0xee)]['okdb']['reloadInfo']();}catch(_0x2307ac){this[_0x41d180(0xdf)]=_0x2307ac?.[_0x41d180(0xec)]||_0x41d180(0xdd),console['error'](_0x41d180(0xe0),_0x2307ac);}this['busy']=!0x1,_0x4e4996[_0x41d180(0xd9)](_0x41d180(0x103),this[_0x41d180(0xe4)]);},'select'(_0x13a068){const _0x49565f=_0x1149a9;this[_0x49565f(0x104)]=_0x13a068??null,_0x4e4996[_0x49565f(0xd9)]('selected',_0x13a068??null);},async 'openAddModal'(){const _0x1cde4c=_0x1149a9,_0x59f93d=await _0x4e4996[_0x1cde4c(0x10a)][_0x1cde4c(0xda)][_0x1cde4c(0xfb)][_0x1cde4c(0xe5)](_0x1cde4c(0x100),{'title':_0x1cde4c(0xf1),'placeholder':_0x1cde4c(0xe8),'confirmText':_0x1cde4c(0x106),'validate':_0x5871e5=>!(!_0x5871e5||!_0x5871e5[_0x1cde4c(0x101)]())||_0x1cde4c(0xf0)});if(_0x59f93d)try{await _0x4e4996['$ok']['stores']['okdb'][_0x1cde4c(0xe2)](_0x59f93d['trim']());const _0x5c44f2=this[_0x1cde4c(0xe4)][_0x1cde4c(0xfc)](_0x39e323=>_0x39e323['type']===_0x59f93d[_0x1cde4c(0x101)]());_0x5c44f2&&this['select'](_0x5c44f2);}catch(_0x2c37ed){_0x4e4996[_0x1cde4c(0x10a)]['shared']?.[_0x1cde4c(0xed)]?.[_0x1cde4c(0xf5)]?.(_0x2c37ed?.[_0x1cde4c(0xec)]||_0x1cde4c(0xf8)),console[_0x1cde4c(0xf5)](_0x1cde4c(0xfa),_0x2c37ed);}}}),'mount'(_0x398738){const _0x1dc7fc=_0x1149a9,_0x3244fc=()=>this['load']();this['_unsubs']=[_0x247e2c['on'](_0x1dc7fc(0x109),_0x3244fc),_0x247e2c['on']('type:drop',_0x3244fc),_0x247e2c['on']('index:registered',_0x3244fc),_0x247e2c['on'](_0x1dc7fc(0x108),_0x3244fc)],_0x398738[_0x1dc7fc(0x107)](()=>_0x398738[_0x1dc7fc(0x10a)][_0x1dc7fc(0xee)]['okdb'][_0x1dc7fc(0xdb)],()=>this['load']()),this[_0x1dc7fc(0xfd)]();},'unmount'(){const _0x5aebde=_0x1149a9;for(const _0x444790 of this[_0x5aebde(0xf4)])_0x444790();this[_0x5aebde(0xf4)]=[];},'style':_0x1149a9(0xe1),'template':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22busy\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-overlay>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22loader-center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22loader\x22\x20class=\x22spin\x22\x20style=\x22width:32px;height:32px;\x22></ok-icon>\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</ok-overlay>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22loadError\x20&&\x20!busy\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22type-list__error\x22\x20:title=\x22loadError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22alert-circle\x22\x20style=\x22width:13px;height:13px;flex-shrink:0;opacity:.7;\x22></ok-icon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20loadError\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22type-list__error-retry\x22\x20@click=\x22load()\x22\x20title=\x22Retry\x22>↺</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!loadError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Overview\x20shortcut\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22type-list__item\x20type-list__overview\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22selected\x20==\x20null\x20?\x20\x27type-list__item--selected\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22select(null)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-bottom:4px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22home\x22\x20style=\x22width:13px;height:13px;opacity:.6;flex-shrink:0;\x22></ok-icon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tl-name\x22>Overview</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22height:1px;\x20background:var(--okdb-app-surface-2);\x20margin:2px\x200\x206px;\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22type-list__add\x22\x20@click=\x22openAddModal\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20Register\x20Type\x20({{\x20items.length\x20}})\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22items\x22\x20let:item=\x22t\x22>\x0a\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:class=\x22[\x27type-list__item\x27,\x20selected\x20===\x20t\x20?\x20\x27type-list__item--selected\x27\x20:\x20\x27\x27]\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22select(t)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tl-name\x22>{{\x20t.type\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tl-count\x22>{{\x20t.count\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22systemCount\x20>\x200\x22>\x0a\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\x20class=\x22type-list__system-toggle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22showSystem\x20=\x20!showSystem\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22showSystem\x20?\x20\x27Hide\x20system\x20types\x27\x20:\x20\x27Show\x20system\x20types\x27\x22\x0a\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{{\x20showSystem\x20?\x20\x27▴\x20hide\x20system\x20(\x27\x20+\x20systemCount\x20+\x20\x27)\x27\x20:\x20\x27⚙\x20system\x20(\x27\x20+\x20systemCount\x20+\x20\x27)\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20'};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x473e2f=_0x2df3;function _0x2df3(_0x1923b4,_0x11c79b){_0x1923b4=_0x1923b4-0xc5;const _0x1a6f37=_0x1a6f();let _0x2df322=_0x1a6f37[_0x1923b4];return _0x2df322;}(function(_0x30b67c,_0x11e375){const _0x43c60d=_0x2df3,_0x32374f=_0x30b67c();while(!![]){try{const _0x1b1f41=parseInt(_0x43c60d(0x101))/0x1+parseInt(_0x43c60d(0xcb))/0x2*(parseInt(_0x43c60d(0x10a))/0x3)+parseInt(_0x43c60d(0xfa))/0x4+parseInt(_0x43c60d(0xea))/0x5+-parseInt(_0x43c60d(0xe3))/0x6+parseInt(_0x43c60d(0x107))/0x7+-parseInt(_0x43c60d(0xd5))/0x8;if(_0x1b1f41===_0x11e375)break;else _0x32374f['push'](_0x32374f['shift']());}catch(_0x645528){_0x32374f['push'](_0x32374f['shift']());}}}(_0x1a6f,0xdcb0f));function _0x1a6f(){const _0x51e86b=['load','mode','34389zkqidi','error','engine:uninstalled','Failed\x20to\x20load\x20env\x20pipelines','trim','$router','/pipelines','$watch','running','Failed\x20to\x20load\x20embedders','stopped','embedPipelines','embedEngines','274oPghOo','/embeddings/embedders','type','_unsubs','then','sourceType','currentmode','normalizeStatus','open','all','11249968SkOHNt','API','$vars','data','rejected','busy','_search','resolve','/env/','embeddings:pipeline:ready','pipeline:stop','value','$ok','fulfilled','10405122lapvMM','type-pipelines-tab','json','env','stores','Create\x20Pipeline\x20·\x20','_anchor','4736610vnXbQs','engineType','catch','includes','modal','okdb','/engines','engine:started','/db','envName','pipeline','message','search','length','push','focusedPipelineName','1876544cjhEWB','pipelines','Failed\x20to\x20load\x20env\x20engines','name','engines','default','replace','430818EbdKgv','$attr','focusedpipeline','updateFocusedPipeline','status','selectedEnv','4386739tngeUh'];_0x1a6f=function(){return _0x51e86b;};return _0x1a6f();}import _0x442dec from'../../embeddings/parts/engines-overview.ok.js';import _0x146d95 from'../modals/create-pipeline-modal.ok.js';import _0x5fa5f2 from'../../../stores/events-store.js';export default{'tag':_0x473e2f(0xe4),'dependencies':[_0x442dec,_0x146d95],'attr':{'type':{},'focusedpipeline':{},'currentmode':{}},'context':_0x464af9=>({'busy':!0x1,'error':null,'embedEngines':[],'embedPipelines':[],'search':'','status':'all','engineType':'','emptyFileEngines':{'extractors':[],'collections':[],'workers':[]},'_unsubs':[],get 'sourceType'(){const _0x47cc89=_0x473e2f;return _0x464af9[_0x47cc89(0x102)][_0x47cc89(0xcd)]||'';},get 'envName'(){const _0x3d84b4=_0x473e2f;return _0x464af9['$ok'][_0x3d84b4(0xe7)][_0x3d84b4(0xef)][_0x3d84b4(0x106)]||_0x3d84b4(0xff);},get 'mode'(){const _0x526b44=_0x473e2f;return _0x526b44(0xfb)===_0x464af9['$attr'][_0x526b44(0xd1)]?_0x526b44(0xfb):_0x526b44(0xfe);},get 'focusedPipelineName'(){const _0x3b3224=_0x473e2f;return String(_0x464af9[_0x3b3224(0x102)][_0x3b3224(0x103)]||'')[_0x3b3224(0x10e)]();},'normalizeStatus':_0x13bc8c=>[_0x473e2f(0xd4),_0x473e2f(0xc6),'attention',_0x473e2f(0xc8)][_0x473e2f(0xed)](_0x13bc8c)?_0x13bc8c:'all',get 'availableEngineTypes'(){const _0xce0380=_0x473e2f,_0x3e548f=new Set();for(const _0x202e73 of this['embedEngines']??[])_0x202e73?.[_0xce0380(0xcd)]&&_0x3e548f['add'](_0x202e73[_0xce0380(0xcd)]);return[..._0x3e548f]['sort']();},get 'hasWorkspaceData'(){const _0x5cbccf=_0x473e2f;return(this[_0x5cbccf(0xca)]?.[_0x5cbccf(0xf7)]??0x0)>0x0||(this[_0x5cbccf(0xc9)]?.[_0x5cbccf(0xf7)]??0x0)>0x0;},async 'load'(){const _0x48f516=_0x473e2f;if(!this[_0x48f516(0xd0)])return this['embedEngines']=[],this[_0x48f516(0xc9)]=[],this[_0x48f516(0x10b)]=null,void(this[_0x48f516(0xda)]=!0x1);this[_0x48f516(0xda)]=!0x0,this['error']=null;try{const [_0x3cbdc7,_0x56bb11,_0x1da054]=await Promise['allSettled']([fetch(__ENV__[_0x48f516(0xd6)]+_0x48f516(0xdd)+encodeURIComponent(this[_0x48f516(0xf3)])+_0x48f516(0xf0))['then'](async _0x5321ef=>{const _0x1376b6=_0x48f516,_0x3cca2f=await _0x5321ef[_0x1376b6(0xe5)]()[_0x1376b6(0xec)](()=>({}));if(!_0x5321ef['ok'])throw new Error(_0x3cca2f?.[_0x1376b6(0x10b)]?.[_0x1376b6(0xf5)]||_0x1376b6(0xfc));return _0x3cca2f;}),fetch(__ENV__['API']+_0x48f516(0xcc))['then'](async _0x3a96ac=>{const _0x5b74b1=_0x48f516,_0x438d09=await _0x3a96ac[_0x5b74b1(0xe5)]()[_0x5b74b1(0xec)](()=>({}));if(!_0x3a96ac['ok'])throw new Error(_0x438d09?.[_0x5b74b1(0x10b)]?.['message']||_0x5b74b1(0xc7));return _0x438d09;}),fetch(__ENV__['API']+_0x48f516(0xdd)+encodeURIComponent(this[_0x48f516(0xf3)])+_0x48f516(0x110))[_0x48f516(0xcf)](async _0x4ad253=>{const _0x2fa3fc=_0x48f516,_0x4c2454=await _0x4ad253['json']()['catch'](()=>({}));if(!_0x4ad253['ok'])throw new Error(_0x4c2454?.[_0x2fa3fc(0x10b)]?.[_0x2fa3fc(0xf5)]||_0x2fa3fc(0x10d));return _0x4c2454;})]);if(_0x48f516(0xd9)===_0x3cbdc7[_0x48f516(0x105)])throw _0x3cbdc7['reason'];if(_0x48f516(0xd9)===_0x1da054[_0x48f516(0x105)])throw _0x1da054['reason'];const _0x15d43a=_0x3cbdc7['value']?.[_0x48f516(0xd8)]??[],_0x4f4181=_0x48f516(0xe2)===_0x56bb11[_0x48f516(0x105)]?_0x56bb11[_0x48f516(0xe0)]?.['data']??[]:[],_0x561fdc=_0x1da054['value']?.[_0x48f516(0xd8)]??[];this['embedPipelines']=_0x561fdc,this[_0x48f516(0xca)]=[..._0x15d43a,..._0x4f4181];}catch(_0x2254f2){this[_0x48f516(0x10b)]=_0x2254f2?.['message']||String(_0x2254f2),this[_0x48f516(0xc9)]=[],this[_0x48f516(0xca)]=[];}finally{this[_0x48f516(0xda)]=!0x1;}},'setSearchTerm'(_0x515705){const _0x197262=_0x473e2f;this[_0x197262(0xf6)]=String(_0x515705??'');},'setStatusFilter'(_0x255e77){const _0x3128eb=_0x473e2f;this[_0x3128eb(0x105)]=this[_0x3128eb(0xd2)](_0x255e77);},'setEngineTypeFilter'(_0x27fc49){const _0x342ba5=_0x473e2f;this[_0x342ba5(0xeb)]=String(_0x27fc49??'')[_0x342ba5(0x10e)]();},'setMode'(_0x4f8ca6){const _0x260c31=_0x473e2f,_0x155800=_0x464af9[_0x260c31(0xd7)]?.['$router'];if(!_0x155800?.['resolve']||!_0x155800?.[_0x260c31(0x100)])return;const _0x4552af={..._0x155800['_search']||{},'env':this[_0x260c31(0xf3)],'type':this[_0x260c31(0xd0)],'tab':_0x260c31(0xfe),'mode':'pipelines'===_0x4f8ca6?_0x260c31(0xfb):'engines'};this[_0x260c31(0xf9)]?_0x4552af[_0x260c31(0xf4)]=this[_0x260c31(0xf9)]:delete _0x4552af[_0x260c31(0xf4)],_0x155800[_0x260c31(0x100)](_0x155800[_0x260c31(0xdc)](_0x260c31(0xf2),_0x4552af,_0x155800['_anchor']||''));},'clearFilters'(){const _0x4d0ed9=_0x473e2f;this[_0x4d0ed9(0xf6)]='',this[_0x4d0ed9(0x105)]=_0x4d0ed9(0xd4),this['engineType']='';},'updateFocusedPipeline'(_0x49cec9=''){const _0x15baa4=_0x473e2f,_0xe08e50=_0x464af9[_0x15baa4(0xd7)]?.[_0x15baa4(0x10f)];if(!_0xe08e50?.[_0x15baa4(0xdc)]||!_0xe08e50?.['replace'])return;const _0x51db55={..._0xe08e50[_0x15baa4(0xdb)]||{},'env':this[_0x15baa4(0xf3)],'type':this[_0x15baa4(0xd0)],'tab':'engines','mode':this['mode']},_0x3b75b5=String(_0x49cec9||'')[_0x15baa4(0x10e)]();_0x3b75b5?_0x51db55[_0x15baa4(0xf4)]=_0x3b75b5:delete _0x51db55[_0x15baa4(0xf4)],_0xe08e50[_0x15baa4(0x100)](_0xe08e50[_0x15baa4(0xdc)]('/db',_0x51db55,_0xe08e50[_0x15baa4(0xe9)]||''));},'handleOverviewSelect'(_0x31b0fa=null){const _0x1df47c=_0x473e2f;this[_0x1df47c(0x104)](_0x31b0fa?.[_0x1df47c(0xfd)]||'');},'goToType'(_0x1f9cc6=null){const _0x25ad87=_0x473e2f,_0x2c9949=_0x1f9cc6?.[_0x25ad87(0xcd)];if(!_0x2c9949)return;const _0x35890b=_0x1f9cc6?.[_0x25ad87(0xe6)]||this[_0x25ad87(0xf3)],_0x57c7d8=_0x464af9[_0x25ad87(0xd7)]?.[_0x25ad87(0x10f)];_0x57c7d8?.[_0x25ad87(0xdc)]&&_0x57c7d8?.[_0x25ad87(0xf8)]&&_0x57c7d8['push'](_0x57c7d8['resolve'](_0x25ad87(0xf2),{'env':_0x35890b,'type':_0x2c9949,'tab':'engines','mode':_0x25ad87(0xfb)}));},'openGlobalWorkspace'(){const _0x3315d8=_0x473e2f,_0x3c2794=_0x464af9[_0x3315d8(0xd7)]?.['$router'];if(!_0x3c2794?.[_0x3315d8(0xdc)]||!_0x3c2794?.[_0x3315d8(0xf8)])return;const _0x2c2036={'env':this[_0x3315d8(0xf3)],'sourceType':this[_0x3315d8(0xd0)],'mode':this['mode']};_0x3315d8(0xfe)===this[_0x3315d8(0x109)]&&this[_0x3315d8(0xeb)]&&(_0x2c2036[_0x3315d8(0xeb)]=this[_0x3315d8(0xeb)]),this['focusedPipelineName']&&(_0x2c2036[_0x3315d8(0xf4)]=this['focusedPipelineName']),_0x3315d8(0xd4)!==this[_0x3315d8(0x105)]&&(_0x2c2036['status']=this[_0x3315d8(0x105)]),this[_0x3315d8(0xf6)][_0x3315d8(0x10e)]()&&(_0x2c2036['search']=this['search'][_0x3315d8(0x10e)]()),_0x3c2794[_0x3315d8(0xf8)](_0x3c2794[_0x3315d8(0xdc)](_0x3315d8(0xf0),_0x2c2036));},async 'openCreatePipeline'(){const _0x42e4ec=_0x473e2f;this[_0x42e4ec(0xd0)]&&await _0x464af9[_0x42e4ec(0xe1)]['shared'][_0x42e4ec(0xee)][_0x42e4ec(0xd3)]({'owner':_0x464af9,'title':_0x42e4ec(0xe8)+this[_0x42e4ec(0xd0)],'canDrag':!0x0,'content':'<create-pipeline-modal\x20:modal=\x22modal\x22\x20:type=\x22type\x22\x20:env=\x22envName\x22\x20:on-done=\x22onDone\x22\x20/>','context':_0x2e6961=>({'modal':_0x2e6961,'type':this['sourceType'],'envName':this[_0x42e4ec(0xf3)],'onDone':async()=>{const _0x35ec85=_0x42e4ec;await this[_0x35ec85(0x108)]();}})});}}),async 'init'(_0x4ba9f0){const _0x3a0691=_0x473e2f;_0x4ba9f0[_0x3a0691(0xc5)](()=>_0x4ba9f0[_0x3a0691(0x102)]['type'],()=>this[_0x3a0691(0x108)]()),_0x4ba9f0[_0x3a0691(0xc5)](()=>_0x4ba9f0[_0x3a0691(0xe1)][_0x3a0691(0xe7)]['okdb'][_0x3a0691(0x106)],()=>this[_0x3a0691(0x108)]()),await this[_0x3a0691(0x108)]();const _0x33e690=()=>this[_0x3a0691(0x108)]();this[_0x3a0691(0xce)]=[_0x5fa5f2['on'](_0x3a0691(0xf1),_0x33e690),_0x5fa5f2['on']('engine:stopped',_0x33e690),_0x5fa5f2['on']('engine:error',_0x33e690),_0x5fa5f2['on']('engine:installed',_0x33e690),_0x5fa5f2['on'](_0x3a0691(0x10c),_0x33e690),_0x5fa5f2['on'](_0x3a0691(0xde),_0x33e690),_0x5fa5f2['on']('pipeline:start',_0x33e690),_0x5fa5f2['on'](_0x3a0691(0xdf),_0x33e690),_0x5fa5f2['on']('pipeline:delete',_0x33e690)];},'unmount'(){const _0x41a54a=_0x473e2f;for(const _0x3e65d1 of this[_0x41a54a(0xce)])_0x3e65d1();this['_unsubs']=[];},'template':'\x0a<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:12px;\x20flex:1;\x20min-height:0;\x20overflow:auto;\x20padding-right:4px;\x22>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22font-weight:600;\x20font-size:15px;\x22>Engines</div>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20border-radius:999px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20color:#cbd5e1;\x20background:var(--okdb-app-bg-deep);\x22>type:\x20{{\x20sourceType\x20}}</span>\x0a\x20\x20\x20\x20<if\x20:=\x22focusedPipelineName\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20border-radius:999px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-indigo)\x2027%,\x20transparent);\x20color:var(--okdb-indigo);\x20background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x22>pipeline:\x20{{\x20focusedPipelineName\x20}}</span>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<div\x20style=\x22margin-left:auto;\x20display:flex;\x20gap:6px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22load()\x22\x20:disabled=\x22busy\x22\x20style=\x22font-size:11px;\x20padding:3px\x2010px;\x22>↻</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openGlobalWorkspace()\x22\x20style=\x22font-size:11px;\x20padding:3px\x2010px;\x20border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x20color:var(--okdb-accent);\x22>Open\x20Global\x20→</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openCreatePipeline()\x22\x20style=\x22background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2013%,\x20transparent);\x20border-color:var(--okdb-accent);\x20color:var(--okdb-accent);\x20font-weight:600;\x20padding:5px\x2014px;\x20font-size:12px;\x22>+\x20Create\x20Pipeline</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x20align-items:end;\x20flex-wrap:wrap;\x20padding:10px\x2012px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:170px;\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>View</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:4px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22setMode(\x27pipelines\x27)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22mode\x20===\x20\x27pipelines\x27\x20?\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-indigo);\x20color:var(--okdb-indigo);\x20background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x20cursor:pointer;\x27\x20:\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20color:var(--okdb-app-fg-muted);\x20background:var(--okdb-app-bg-deep);\x20cursor:pointer;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20>Pipelines</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22setMode(\x27engines\x27)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22mode\x20===\x20\x27engines\x27\x20?\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-purple);\x20color:var(--okdb-purple);\x20background:color-mix(in\x20srgb,\x20var(--okdb-purple)\x207%,\x20transparent);\x20cursor:pointer;\x27\x20:\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20color:var(--okdb-app-fg-muted);\x20background:var(--okdb-app-bg-deep);\x20cursor:pointer;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20>Engines</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:200px;\x20flex:1;\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Search</span>\x0a\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@input:debounce.200=\x22setSearchTerm($event.target.value)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:placeholder=\x22mode\x20===\x20\x27engines\x27\x20?\x20\x27Search\x20engines…\x27\x20:\x20\x27Search\x20pipelines…\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22width:100%;\x20box-sizing:border-box;\x22\x0a\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20</label>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:150px;\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Status</span>\x0a\x20\x20\x20\x20\x20\x20<select\x20@change=\x22setStatusFilter($event.target.value)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22all\x22\x20:selected=\x22status\x20===\x20\x27all\x27\x22>Any</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22running\x22\x20:selected=\x22status\x20===\x20\x27running\x27\x22>Running</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22attention\x22\x20:selected=\x22status\x20===\x20\x27attention\x27\x22>Needs\x20attention</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22stopped\x22\x20:selected=\x22status\x20===\x20\x27stopped\x27\x22>Stopped</option>\x0a\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20</label>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22mode\x20===\x20\x27engines\x27\x20&&\x20availableEngineTypes.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:170px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Engine\x20Type</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<select\x20@change=\x22setEngineTypeFilter($event.target.value)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22\x22\x20:selected=\x22!engineType\x22>All\x20engines</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22availableEngineTypes\x22\x20let:item=\x22engineKind\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20:value=\x22engineKind\x22\x20:selected=\x22engineType\x20===\x20engineKind\x22>{{\x20engineKind\x20}}</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22embedPipelines.length\x20>\x201\x22>\x0a\x20\x20\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:190px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Pipeline</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<select\x20@change=\x22updateFocusedPipeline($event.target.value)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22\x22\x20:selected=\x22!focusedPipelineName\x22>All\x20pipelines</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22embedPipelines\x22\x20let:item=\x22pipeline\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20:value=\x22pipeline.name\x20||\x20pipeline.pipeline\x20||\x20pipeline.storage_key\x22\x20:selected=\x22focusedPipelineName\x20===\x20(pipeline.name\x20||\x20pipeline.pipeline\x20||\x20pipeline.storage_key)\x22>{{\x20pipeline.meta?.label\x20||\x20pipeline.meta?.pipeline\x20||\x20pipeline.pipeline\x20||\x20pipeline.name\x20||\x20pipeline.storage_key\x20}}</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22focusedPipelineName\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22updateFocusedPipeline(\x27\x27)\x22\x20style=\x22font-size:11px;\x20padding:4px\x2010px;\x22>Clear\x20focus</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<if\x20:=\x22search\x20||\x20status\x20!==\x20\x27all\x27\x20||\x20engineType\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22clearFilters()\x22\x20style=\x22font-size:11px;\x20padding:4px\x2010px;\x22>Clear\x20filters</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px;\x20border:1px\x20solid\x20var(--okdb-danger);\x20border-radius:6px;\x22>{{\x20error\x20}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22!busy\x20&&\x20!hasWorkspaceData\x20&&\x20!error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22padding:22px\x2020px;\x20background:#111a1f;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20display:flex;\x20flex-direction:column;\x20gap:8px;\x20align-items:center;\x20text-align:center;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:30px;\x20opacity:.22;\x22>⊛</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:14px;\x20font-weight:600;\x20opacity:.75;\x22>No\x20engines\x20for\x20{{\x20sourceType\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20opacity:.5;\x20line-height:1.7;\x20max-width:500px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20This\x20is\x20the\x20same\x20engines\x20workspace,\x20already\x20scoped\x20to\x20this\x20type.\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openCreatePipeline()\x22\x20style=\x22background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2013%,\x20transparent);\x20border-color:var(--okdb-accent);\x20color:var(--okdb-accent);\x20font-weight:600;\x20padding:6px\x2014px;\x20font-size:12px;\x22>+\x20Create\x20Pipeline</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22busy\x20&&\x20!hasWorkspaceData\x20&&\x20!error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20opacity:.45;\x20padding:8px\x200;\x22>Loading…</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22hasWorkspaceData\x22>\x0a\x20\x20\x20\x20<engines-overview\x0a\x20\x20\x20\x20\x20\x20embedded=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20filterpipeline=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20:embed-engines=\x22embedEngines\x22\x0a\x20\x20\x20\x20\x20\x20:embed-pipelines=\x22embedPipelines\x22\x0a\x20\x20\x20\x20\x20\x20:file-engines=\x22emptyFileEngines\x22\x0a\x20\x20\x20\x20\x20\x20:mode=\x22mode\x22\x0a\x20\x20\x20\x20\x20\x20pipelinetype=\x22all\x22\x0a\x20\x20\x20\x20\x20\x20:enginetype=\x22engineType\x22\x0a\x20\x20\x20\x20\x20\x20:status=\x22status\x22\x0a\x20\x20\x20\x20\x20\x20:search=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20:sourcetype=\x22sourceType\x22\x0a\x20\x20\x20\x20\x20\x20:selectedpipeline=\x22focusedPipelineName\x22\x0a\x20\x20\x20\x20\x20\x20@select=\x22handleOverviewSelect($event.detail)\x22\x0a\x20\x20\x20\x20\x20\x20@refresh=\x22load()\x22\x0a\x20\x20\x20\x20\x20\x20@goto-type=\x22goToType($event.detail)\x22\x0a\x20\x20\x20\x20/>\x0a\x20\x20</if>\x0a\x0a</div>'};
|
|
1
|
+
function _0x5359(_0x23dad8,_0x2a2883){_0x23dad8=_0x23dad8-0xdb;const _0x1728f4=_0x1728();let _0x5359a5=_0x1728f4[_0x23dad8];return _0x5359a5;}const _0x306822=_0x5359;function _0x1728(){const _0x5dab35=['embedEngines','search','$router','engine:error','trim','<create-pipeline-modal\x20:modal=\x22modal\x22\x20:type=\x22type\x22\x20:env=\x22envName\x22\x20:on-done=\x22onDone\x22\x20/>','open','$attr','230360KzFgLy','18473WnsAcm','pipeline:delete','status','/db','engine:started','54OFCcyM','running','128682xnZXlq','all','then','envName','Failed\x20to\x20load\x20env\x20engines','value','pipeline:stop','sourceType','selectedEnv','engine:stopped','$watch','focusedPipelineName','/env/','47420zInxuW','load','embeddings:pipeline:ready','attention','catch','318rZqASd','_search','env','295VOgwhb','data','json','$vars','push','type-pipelines-tab','allSettled','/engines','3560UTRhfi','replace','normalizeStatus','length','rejected','_unsubs','732699fCZbPD','500020vYjOPA','updateFocusedPipeline','add','reason','type','resolve','currentmode','$ok','embedPipelines','pipelines','Create\x20Pipeline\x20·\x20','busy','message','okdb','engineType','/pipelines','2256518BdMqcb','fulfilled','error','pipeline','stores','modal','engine:uninstalled','engines','name','API','mode','includes','shared','_anchor'];_0x1728=function(){return _0x5dab35;};return _0x1728();}(function(_0x107f78,_0x3f1759){const _0x3b3539=_0x5359,_0x2ff17d=_0x107f78();while(!![]){try{const _0x13770f=parseInt(_0x3b3539(0x11d))/0x1+-parseInt(_0x3b3539(0xdb))/0x2+-parseInt(_0x3b3539(0x10b))/0x3*(-parseInt(_0x3b3539(0x106))/0x4)+-parseInt(_0x3b3539(0x10e))/0x5*(-parseInt(_0x3b3539(0xf9))/0x6)+-parseInt(_0x3b3539(0xf2))/0x7*(parseInt(_0x3b3539(0x116))/0x8)+-parseInt(_0x3b3539(0xf7))/0x9*(parseInt(_0x3b3539(0xf1))/0xa)+parseInt(_0x3b3539(0x11c))/0xb;if(_0x13770f===_0x3f1759)break;else _0x2ff17d['push'](_0x2ff17d['shift']());}catch(_0x13897d){_0x2ff17d['push'](_0x2ff17d['shift']());}}}(_0x1728,0x9e27a));import _0x20ffc6 from'../../embeddings/parts/engines-overview.ok.js';import _0x104c32 from'../modals/create-pipeline-modal.ok.js';import _0x231cd9 from'../../../stores/events-store.js';export default{'tag':_0x306822(0x113),'dependencies':[_0x20ffc6,_0x104c32],'attr':{'type':{},'focusedpipeline':{},'currentmode':{}},'context':_0x43332a=>({'busy':!0x1,'error':null,'embedEngines':[],'embedPipelines':[],'search':'','status':_0x306822(0xfa),'engineType':'','emptyFileEngines':{'extractors':[],'collections':[],'workers':[]},'_unsubs':[],get 'sourceType'(){const _0x166f7a=_0x306822;return _0x43332a[_0x166f7a(0xf0)][_0x166f7a(0x121)]||'';},get 'envName'(){const _0x1174b5=_0x306822;return _0x43332a[_0x1174b5(0x124)][_0x1174b5(0xdf)][_0x1174b5(0x12a)][_0x1174b5(0x101)]||'default';},get 'mode'(){const _0x5b5c13=_0x306822;return'pipelines'===_0x43332a[_0x5b5c13(0xf0)][_0x5b5c13(0x123)]?_0x5b5c13(0x126):_0x5b5c13(0xe2);},get 'focusedPipelineName'(){const _0x1c5964=_0x306822;return String(_0x43332a[_0x1c5964(0xf0)]['focusedpipeline']||'')[_0x1c5964(0xed)]();},'normalizeStatus':_0x366d6a=>[_0x306822(0xfa),_0x306822(0xf8),_0x306822(0x109),'stopped'][_0x306822(0xe6)](_0x366d6a)?_0x366d6a:'all',get 'availableEngineTypes'(){const _0x36ea2b=_0x306822,_0x20efce=new Set();for(const _0x78266a of this[_0x36ea2b(0xe9)]??[])_0x78266a?.[_0x36ea2b(0x121)]&&_0x20efce[_0x36ea2b(0x11f)](_0x78266a['type']);return[..._0x20efce]['sort']();},get 'hasWorkspaceData'(){const _0x48767a=_0x306822;return(this[_0x48767a(0xe9)]?.[_0x48767a(0x119)]??0x0)>0x0||(this[_0x48767a(0x125)]?.[_0x48767a(0x119)]??0x0)>0x0;},async 'load'(){const _0x3c6041=_0x306822;if(!this[_0x3c6041(0x100)])return this[_0x3c6041(0xe9)]=[],this[_0x3c6041(0x125)]=[],this[_0x3c6041(0xdd)]=null,void(this[_0x3c6041(0x128)]=!0x1);this[_0x3c6041(0x128)]=!0x0,this[_0x3c6041(0xdd)]=null;try{const [_0xf7f71,_0xf09495,_0x1108ad]=await Promise[_0x3c6041(0x114)]([fetch(__ENV__[_0x3c6041(0xe4)]+_0x3c6041(0x105)+encodeURIComponent(this[_0x3c6041(0xfc)])+_0x3c6041(0x115))[_0x3c6041(0xfb)](async _0x3edfac=>{const _0x3885aa=_0x3c6041,_0x2775c5=await _0x3edfac[_0x3885aa(0x110)]()[_0x3885aa(0x10a)](()=>({}));if(!_0x3edfac['ok'])throw new Error(_0x2775c5?.[_0x3885aa(0xdd)]?.[_0x3885aa(0x129)]||_0x3885aa(0xfd));return _0x2775c5;}),fetch(__ENV__[_0x3c6041(0xe4)]+'/embeddings/embedders')[_0x3c6041(0xfb)](async _0x496c3e=>{const _0x301f78=_0x3c6041,_0x3de9fc=await _0x496c3e[_0x301f78(0x110)]()[_0x301f78(0x10a)](()=>({}));if(!_0x496c3e['ok'])throw new Error(_0x3de9fc?.[_0x301f78(0xdd)]?.[_0x301f78(0x129)]||'Failed\x20to\x20load\x20embedders');return _0x3de9fc;}),fetch(__ENV__[_0x3c6041(0xe4)]+_0x3c6041(0x105)+encodeURIComponent(this[_0x3c6041(0xfc)])+_0x3c6041(0x12c))[_0x3c6041(0xfb)](async _0x51514a=>{const _0x3e2975=_0x3c6041,_0x33695b=await _0x51514a[_0x3e2975(0x110)]()[_0x3e2975(0x10a)](()=>({}));if(!_0x51514a['ok'])throw new Error(_0x33695b?.['error']?.[_0x3e2975(0x129)]||'Failed\x20to\x20load\x20env\x20pipelines');return _0x33695b;})]);if(_0x3c6041(0x11a)===_0xf7f71[_0x3c6041(0xf4)])throw _0xf7f71[_0x3c6041(0x120)];if(_0x3c6041(0x11a)===_0x1108ad['status'])throw _0x1108ad[_0x3c6041(0x120)];const _0x3aae7c=_0xf7f71[_0x3c6041(0xfe)]?.[_0x3c6041(0x10f)]??[],_0x4d7eab=_0x3c6041(0xdc)===_0xf09495[_0x3c6041(0xf4)]?_0xf09495[_0x3c6041(0xfe)]?.[_0x3c6041(0x10f)]??[]:[],_0x13446c=_0x1108ad[_0x3c6041(0xfe)]?.[_0x3c6041(0x10f)]??[];this[_0x3c6041(0x125)]=_0x13446c,this['embedEngines']=[..._0x3aae7c,..._0x4d7eab];}catch(_0x512b28){this['error']=_0x512b28?.[_0x3c6041(0x129)]||String(_0x512b28),this[_0x3c6041(0x125)]=[],this[_0x3c6041(0xe9)]=[];}finally{this['busy']=!0x1;}},'setSearchTerm'(_0x49ae8b){const _0x30433d=_0x306822;this[_0x30433d(0xea)]=String(_0x49ae8b??'');},'setStatusFilter'(_0x2e60ee){const _0x5c9357=_0x306822;this[_0x5c9357(0xf4)]=this[_0x5c9357(0x118)](_0x2e60ee);},'setEngineTypeFilter'(_0x307aac){const _0x3c0c59=_0x306822;this[_0x3c0c59(0x12b)]=String(_0x307aac??'')['trim']();},'setMode'(_0xff183e){const _0x2ea411=_0x306822,_0x32d48c=_0x43332a[_0x2ea411(0x111)]?.[_0x2ea411(0xeb)];if(!_0x32d48c?.[_0x2ea411(0x122)]||!_0x32d48c?.[_0x2ea411(0x117)])return;const _0x2e1c9c={..._0x32d48c['_search']||{},'env':this[_0x2ea411(0xfc)],'type':this['sourceType'],'tab':_0x2ea411(0xe2),'mode':_0x2ea411(0x126)===_0xff183e?_0x2ea411(0x126):_0x2ea411(0xe2)};this[_0x2ea411(0x104)]?_0x2e1c9c['pipeline']=this[_0x2ea411(0x104)]:delete _0x2e1c9c[_0x2ea411(0xde)],_0x32d48c[_0x2ea411(0x117)](_0x32d48c[_0x2ea411(0x122)](_0x2ea411(0xf5),_0x2e1c9c,_0x32d48c[_0x2ea411(0xe8)]||''));},'clearFilters'(){const _0x43176b=_0x306822;this['search']='',this[_0x43176b(0xf4)]='all',this[_0x43176b(0x12b)]='';},'updateFocusedPipeline'(_0x1bdd4e=''){const _0x245b59=_0x306822,_0x11b899=_0x43332a[_0x245b59(0x111)]?.[_0x245b59(0xeb)];if(!_0x11b899?.[_0x245b59(0x122)]||!_0x11b899?.['replace'])return;const _0x7da4bd={..._0x11b899[_0x245b59(0x10c)]||{},'env':this[_0x245b59(0xfc)],'type':this['sourceType'],'tab':'engines','mode':this[_0x245b59(0xe5)]},_0x2d327d=String(_0x1bdd4e||'')[_0x245b59(0xed)]();_0x2d327d?_0x7da4bd[_0x245b59(0xde)]=_0x2d327d:delete _0x7da4bd[_0x245b59(0xde)],_0x11b899[_0x245b59(0x117)](_0x11b899[_0x245b59(0x122)](_0x245b59(0xf5),_0x7da4bd,_0x11b899[_0x245b59(0xe8)]||''));},'handleOverviewSelect'(_0x53398e=null){const _0x33106f=_0x306822;this[_0x33106f(0x11e)](_0x53398e?.[_0x33106f(0xe3)]||'');},'goToType'(_0x35c895=null){const _0x5d57ad=_0x306822,_0x890b0b=_0x35c895?.[_0x5d57ad(0x121)];if(!_0x890b0b)return;const _0x27b8a0=_0x35c895?.[_0x5d57ad(0x10d)]||this[_0x5d57ad(0xfc)],_0x4d51fa=_0x43332a[_0x5d57ad(0x111)]?.[_0x5d57ad(0xeb)];_0x4d51fa?.['resolve']&&_0x4d51fa?.[_0x5d57ad(0x112)]&&_0x4d51fa[_0x5d57ad(0x112)](_0x4d51fa[_0x5d57ad(0x122)]('/db',{'env':_0x27b8a0,'type':_0x890b0b,'tab':'engines','mode':_0x5d57ad(0x126)}));},'openGlobalWorkspace'(){const _0x368661=_0x306822,_0x4d5406=_0x43332a[_0x368661(0x111)]?.[_0x368661(0xeb)];if(!_0x4d5406?.[_0x368661(0x122)]||!_0x4d5406?.['push'])return;const _0x1c4b8f={'env':this[_0x368661(0xfc)],'sourceType':this[_0x368661(0x100)],'mode':this[_0x368661(0xe5)]};_0x368661(0xe2)===this[_0x368661(0xe5)]&&this[_0x368661(0x12b)]&&(_0x1c4b8f[_0x368661(0x12b)]=this['engineType']),this[_0x368661(0x104)]&&(_0x1c4b8f[_0x368661(0xde)]=this[_0x368661(0x104)]),_0x368661(0xfa)!==this[_0x368661(0xf4)]&&(_0x1c4b8f[_0x368661(0xf4)]=this['status']),this['search']['trim']()&&(_0x1c4b8f[_0x368661(0xea)]=this[_0x368661(0xea)][_0x368661(0xed)]()),_0x4d5406[_0x368661(0x112)](_0x4d5406[_0x368661(0x122)](_0x368661(0x115),_0x1c4b8f));},async 'openCreatePipeline'(){const _0x120b8d=_0x306822;this[_0x120b8d(0x100)]&&await _0x43332a[_0x120b8d(0x124)][_0x120b8d(0xe7)][_0x120b8d(0xe0)][_0x120b8d(0xef)]({'owner':_0x43332a,'title':_0x120b8d(0x127)+this[_0x120b8d(0x100)],'canDrag':!0x0,'content':_0x120b8d(0xee),'context':_0x4cde4d=>({'modal':_0x4cde4d,'type':this[_0x120b8d(0x100)],'envName':this[_0x120b8d(0xfc)],'onDone':async()=>{const _0x397e1c=_0x120b8d;await this[_0x397e1c(0x107)]();}})});}}),async 'init'(_0x564198){const _0xfe34e7=_0x306822;_0x564198[_0xfe34e7(0x103)](()=>_0x564198[_0xfe34e7(0xf0)][_0xfe34e7(0x121)],()=>this[_0xfe34e7(0x107)]()),_0x564198[_0xfe34e7(0x103)](()=>_0x564198[_0xfe34e7(0x124)][_0xfe34e7(0xdf)][_0xfe34e7(0x12a)][_0xfe34e7(0x101)],()=>this['load']()),await this['load']();const _0x24e3ea=()=>this[_0xfe34e7(0x107)]();this[_0xfe34e7(0x11b)]=[_0x231cd9['on'](_0xfe34e7(0xf6),_0x24e3ea),_0x231cd9['on'](_0xfe34e7(0x102),_0x24e3ea),_0x231cd9['on'](_0xfe34e7(0xec),_0x24e3ea),_0x231cd9['on']('engine:installed',_0x24e3ea),_0x231cd9['on'](_0xfe34e7(0xe1),_0x24e3ea),_0x231cd9['on'](_0xfe34e7(0x108),_0x24e3ea),_0x231cd9['on']('pipeline:start',_0x24e3ea),_0x231cd9['on'](_0xfe34e7(0xff),_0x24e3ea),_0x231cd9['on'](_0xfe34e7(0xf3),_0x24e3ea)];},'unmount'(){const _0x310669=_0x306822;for(const _0x27a6d6 of this['_unsubs'])_0x27a6d6();this[_0x310669(0x11b)]=[];},'template':'\x0a<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:12px;\x20flex:1;\x20min-height:0;\x20overflow:auto;\x20padding-right:4px;\x22>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22font-weight:600;\x20font-size:15px;\x22>Engines</div>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20border-radius:999px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20color:#cbd5e1;\x20background:var(--okdb-app-bg-deep);\x22>type:\x20{{\x20sourceType\x20}}</span>\x0a\x20\x20\x20\x20<if\x20:=\x22focusedPipelineName\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20border-radius:999px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-indigo)\x2027%,\x20transparent);\x20color:var(--okdb-indigo);\x20background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x22>pipeline:\x20{{\x20focusedPipelineName\x20}}</span>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<div\x20style=\x22margin-left:auto;\x20display:flex;\x20gap:6px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22load()\x22\x20:disabled=\x22busy\x22\x20style=\x22font-size:11px;\x20padding:3px\x2010px;\x22>↻</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openGlobalWorkspace()\x22\x20style=\x22font-size:11px;\x20padding:3px\x2010px;\x20border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x20color:var(--okdb-accent);\x22>Open\x20Global\x20→</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openCreatePipeline()\x22\x20style=\x22background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2013%,\x20transparent);\x20border-color:var(--okdb-accent);\x20color:var(--okdb-accent);\x20font-weight:600;\x20padding:5px\x2014px;\x20font-size:12px;\x22>+\x20Create\x20Pipeline</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x20align-items:end;\x20flex-wrap:wrap;\x20padding:10px\x2012px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:170px;\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>View</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:4px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22setMode(\x27pipelines\x27)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22mode\x20===\x20\x27pipelines\x27\x20?\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-indigo);\x20color:var(--okdb-indigo);\x20background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x20cursor:pointer;\x27\x20:\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20color:var(--okdb-app-fg-muted);\x20background:var(--okdb-app-bg-deep);\x20cursor:pointer;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20>Pipelines</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22setMode(\x27engines\x27)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22mode\x20===\x20\x27engines\x27\x20?\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-purple);\x20color:var(--okdb-purple);\x20background:color-mix(in\x20srgb,\x20var(--okdb-purple)\x207%,\x20transparent);\x20cursor:pointer;\x27\x20:\x20\x27flex:1;\x20font-size:11px;\x20padding:5px\x2010px;\x20border-radius:6px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20color:var(--okdb-app-fg-muted);\x20background:var(--okdb-app-bg-deep);\x20cursor:pointer;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20>Engines</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:200px;\x20flex:1;\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Search</span>\x0a\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@input:debounce.200=\x22setSearchTerm($event.target.value)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:placeholder=\x22mode\x20===\x20\x27engines\x27\x20?\x20\x27Search\x20engines…\x27\x20:\x20\x27Search\x20pipelines…\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22width:100%;\x20box-sizing:border-box;\x22\x0a\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20</label>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:150px;\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Status</span>\x0a\x20\x20\x20\x20\x20\x20<select\x20@change=\x22setStatusFilter($event.target.value)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22all\x22\x20:selected=\x22status\x20===\x20\x27all\x27\x22>Any</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22running\x22\x20:selected=\x22status\x20===\x20\x27running\x27\x22>Running</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22attention\x22\x20:selected=\x22status\x20===\x20\x27attention\x27\x22>Needs\x20attention</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22stopped\x22\x20:selected=\x22status\x20===\x20\x27stopped\x27\x22>Stopped</option>\x0a\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20</label>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22mode\x20===\x20\x27engines\x27\x20&&\x20availableEngineTypes.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:170px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Engine\x20Type</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<select\x20@change=\x22setEngineTypeFilter($event.target.value)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22\x22\x20:selected=\x22!engineType\x22>All\x20engines</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22availableEngineTypes\x22\x20let:item=\x22engineKind\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20:value=\x22engineKind\x22\x20:selected=\x22engineType\x20===\x20engineKind\x22>{{\x20engineKind\x20}}</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22embedPipelines.length\x20>\x201\x22>\x0a\x20\x20\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20min-width:190px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>Pipeline</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<select\x20@change=\x22updateFocusedPipeline($event.target.value)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\x22\x22\x20:selected=\x22!focusedPipelineName\x22>All\x20pipelines</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22embedPipelines\x22\x20let:item=\x22pipeline\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<option\x20:value=\x22pipeline.name\x20||\x20pipeline.pipeline\x20||\x20pipeline.storage_key\x22\x20:selected=\x22focusedPipelineName\x20===\x20(pipeline.name\x20||\x20pipeline.pipeline\x20||\x20pipeline.storage_key)\x22>{{\x20pipeline.meta?.label\x20||\x20pipeline.meta?.pipeline\x20||\x20pipeline.pipeline\x20||\x20pipeline.name\x20||\x20pipeline.storage_key\x20}}</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22focusedPipelineName\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22updateFocusedPipeline(\x27\x27)\x22\x20style=\x22font-size:11px;\x20padding:4px\x2010px;\x22>Clear\x20focus</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<if\x20:=\x22search\x20||\x20status\x20!==\x20\x27all\x27\x20||\x20engineType\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22clearFilters()\x22\x20style=\x22font-size:11px;\x20padding:4px\x2010px;\x22>Clear\x20filters</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px;\x20border:1px\x20solid\x20var(--okdb-danger);\x20border-radius:6px;\x22>{{\x20error\x20}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22!busy\x20&&\x20!hasWorkspaceData\x20&&\x20!error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22padding:22px\x2020px;\x20background:#111a1f;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20display:flex;\x20flex-direction:column;\x20gap:8px;\x20align-items:center;\x20text-align:center;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:30px;\x20opacity:.22;\x22>⊛</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:14px;\x20font-weight:600;\x20opacity:.75;\x22>No\x20engines\x20for\x20{{\x20sourceType\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20opacity:.5;\x20line-height:1.7;\x20max-width:500px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20This\x20is\x20the\x20same\x20engines\x20workspace,\x20already\x20scoped\x20to\x20this\x20type.\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openCreatePipeline()\x22\x20style=\x22background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2013%,\x20transparent);\x20border-color:var(--okdb-accent);\x20color:var(--okdb-accent);\x20font-weight:600;\x20padding:6px\x2014px;\x20font-size:12px;\x22>+\x20Create\x20Pipeline</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22busy\x20&&\x20!hasWorkspaceData\x20&&\x20!error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20opacity:.45;\x20padding:8px\x200;\x22>Loading…</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22hasWorkspaceData\x22>\x0a\x20\x20\x20\x20<engines-overview\x0a\x20\x20\x20\x20\x20\x20embedded=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20filterpipeline=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20:embed-engines=\x22embedEngines\x22\x0a\x20\x20\x20\x20\x20\x20:embed-pipelines=\x22embedPipelines\x22\x0a\x20\x20\x20\x20\x20\x20:file-engines=\x22emptyFileEngines\x22\x0a\x20\x20\x20\x20\x20\x20:mode=\x22mode\x22\x0a\x20\x20\x20\x20\x20\x20pipelinetype=\x22all\x22\x0a\x20\x20\x20\x20\x20\x20:enginetype=\x22engineType\x22\x0a\x20\x20\x20\x20\x20\x20:status=\x22status\x22\x0a\x20\x20\x20\x20\x20\x20:search=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20:sourcetype=\x22sourceType\x22\x0a\x20\x20\x20\x20\x20\x20:selectedpipeline=\x22focusedPipelineName\x22\x0a\x20\x20\x20\x20\x20\x20@select=\x22handleOverviewSelect($event.detail)\x22\x0a\x20\x20\x20\x20\x20\x20@refresh=\x22load()\x22\x0a\x20\x20\x20\x20\x20\x20@goto-type=\x22goToType($event.detail)\x22\x0a\x20\x20\x20\x20/>\x0a\x20\x20</if>\x0a\x0a</div>'};
|