From bd75a268036c16e9224f424cef4532630db370bd Mon Sep 17 00:00:00 2001 From: Panagiotis Papadopoulos Date: Tue, 18 Feb 2025 09:24:22 +0100 Subject: [PATCH] feat: use TimeSelector for protected_session_timeout to be used in the Password options --- .../password/protected_session_timeout.ts | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/public/app/widgets/type_widgets/options/password/protected_session_timeout.ts diff --git a/src/public/app/widgets/type_widgets/options/password/protected_session_timeout.ts b/src/public/app/widgets/type_widgets/options/password/protected_session_timeout.ts new file mode 100644 index 000000000..ec40dcfac --- /dev/null +++ b/src/public/app/widgets/type_widgets/options/password/protected_session_timeout.ts @@ -0,0 +1,30 @@ +import { t } from "../../../../services/i18n.js"; +import TimeSelector from "../time_selector.js"; + +const TPL = ` +
+

${t("password.protected_session_timeout")}

+ +

${t("password.protected_session_timeout_description")} ${t("password.wiki")} ${t("password.for_more_info")}

+
+
`; + +// TriliumNextTODO: set minimum value to 60 seconds +export default class ProtectedSessionTimeoutOption extends TimeSelector { + constructor() { + super({ + widgetId: "protected-session-timeout", + widgetLabelId: "password.protected_session_timeout_label", + optionValueId: "protectedSessionTimeout", + optionTimeScaleId: "protectedSessionTimeoutTimeScale" + }); + super.doRender(); + } + + doRender() { + const $timeSelector = this.$widget; + // inject TimeSelector widget template + this.$widget = $(TPL); + this.$widget.find("#time-selector-placeholder").replaceWith($timeSelector) + } +}