projectdoc Toolbox

Sample script to register actions with a shortcut in Confluence.

Tags
Identifier
de.smartics.userscripts.confluence.shortcuts-for-focus
Type
Repository
Since
1.0

This script supports use cases where a desired widget is not or not easily reached without the help of the mouse.

By clicking 'f' the desired input field gains the focus.

Currently it only supports setting the focus to the filter input field on the page blueprint wizard selecting dialog. Additional shortcuts may be added in the future to support users to access the primary field for their use cases more quickly

Code

The code of the script for reference.

shortcuts-for-focus.js
/*
 * Copyright 2019-2024 Kronseder & Reiner GmbH, smartics
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
"use strict";

AJS.toInit(function () {
  const logToConsole = false;

  if (logToConsole) {
    AJS.log("[shortcuts-for-focus] Installing focus shortcut ...");
  }

  const setFocus = function (selector) {
    if (logToConsole) {
      AJS.log("[shortcuts-for-focus] Trying to set focus to '" + selector + "' ...");
    }
    const $element = AJS.$(selector);
    if ($element.length) {
      $element.focus();
      if (logToConsole) {
        AJS.log("[shortcuts-for-focus] Set focus to '" + selector + "' successfully!");
      }
      return true;
    }
    return false;
  }

  USERSCRIPT4C_SYNC.syncWithElement('#create-dialog', function ($listener) {
    $listener.bind('keydown', 'f', function (e) {
      e.preventDefault();
      setFocus('#createDialogFilter');
    });
  }, document);
});

Related Scripts

NameShort Description
Create with Template
Removes the default create-page button and renames the create with template.
Force Comment
Enforces comments in a specific format when documents are edited.