public function getDetailSetting(EditorHandler $handler, ConfigManager $configs, $instanceId)
{
$config = $configs->getOrNew($handler->getConfigKey($instanceId));
$tools = $handler->getToolAll();
$toolIds = $config->get('tools', []);
$activated = array_intersect_key($tools, array_flip($toolIds));
$activated = array_merge(array_flip($toolIds), $activated);
$deactivated = array_diff_key($tools, array_flip($toolIds));
$items = [];
foreach ($activated as $key => $item) {
$items[$key] = ['class' => $item, 'activated' => true];
}
foreach ($deactivated as $key => $item) {
$items[$key] = ['class' => $item, 'activated' => false];
}
return XePresenter::make('editor.detail', ['instanceId' => $instanceId, 'config' => $config, 'permArgs' => $this->getPermArguments($handler->getPermKey($instanceId), ['html', 'tool', 'upload', 'download']), 'items' => $items]);
}