Source code

Revision control

Copy as Markdown

Other Tools

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const { LocalizationHelper } = require("resource://devtools/shared/l10n.js");
const L10N = new LocalizationHelper(
"devtools/client/locales/animationinspector.properties"
);
const INSPECTOR_L10N = new LocalizationHelper(
"devtools/client/locales/inspector.properties"
);
/**
* Get a formatted title for this animation. This will be either:
* "%S", "%S : CSS Transition", "%S : CSS Animation",
* "%S : Script Animation", or "Script Animation", depending
* if the server provides the type, what type it is and if the animation
* has a name.
*
* @param {Object} state
*/
function getFormattedTitle(state) {
// Older servers don't send a type, and only know about
// CSSAnimations and CSSTransitions, so it's safe to use
// just the name.
if (!state.type) {
return state.name;
}
// Script-generated animations may not have a name.
if (state.type === "scriptanimation" && !state.name) {
return L10N.getStr("timeline.scriptanimation.unnamedLabel");
}
return L10N.getFormatStr(`timeline.${state.type}.nameLabel`, state.name);
}
module.exports = {
getFormatStr: (...args) => L10N.getFormatStr(...args),
getFormattedTitle,
getInspectorStr: (...args) => INSPECTOR_L10N.getStr(...args),
getStr: (...args) => L10N.getStr(...args),
numberWithDecimals: (...args) => L10N.numberWithDecimals(...args),
};