46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
/* 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),
|
|
};
|