Allow 'Discovered' flows to have title placeholders (#3106)

* Allow 'Discovered' flows to have title placeholders

* Feedback from review
This commit is contained in:
Jc2k 2019-04-21 18:58:51 +01:00 committed by Paulus Schoutsen
parent f967b4940a
commit b3c1bead39

View File

@ -64,7 +64,7 @@ class HaConfigManagerDashboard extends LocalizeMixin(
<template is="dom-repeat" items="[[progress]]"> <template is="dom-repeat" items="[[progress]]">
<div class="config-entry-row"> <div class="config-entry-row">
<paper-item-body> <paper-item-body>
[[_computeIntegrationTitle(localize, item.handler)]] [[_computeActiveFlowTitle(localize, item)]]
</paper-item-body> </paper-item-body>
<mwc-button on-click="_continueFlow" <mwc-button on-click="_continueFlow"
>[[localize('ui.panel.config.integrations.configure')]]</mwc-button >[[localize('ui.panel.config.integrations.configure')]]</mwc-button
@ -190,6 +190,23 @@ class HaConfigManagerDashboard extends LocalizeMixin(
return localize(`component.${integration}.config.title`); return localize(`component.${integration}.config.title`);
} }
_computeActiveFlowTitle(localize, integration) {
const placeholders = integration.context.title_placeholders || {};
const placeholderKeys = Object.keys(placeholders);
if (placeholderKeys.length === 0) {
return localize(`component.${integration.handler}.config.title`);
}
const args = [];
placeholderKeys.forEach((key) => {
args.push(key);
args.push(placeholders[key]);
});
return localize(
`component.${integration.handler}.config.flow_title`,
...args
);
}
_computeConfigEntryEntities(hass, configEntry, entities) { _computeConfigEntryEntities(hass, configEntry, entities) {
if (!entities) { if (!entities) {
return []; return [];