Skip to content

Commit 889e1d4

Browse files
authored
Merge pull request #33 from FreiconOSS/OTRS-289-treeExpander
Otrs 289 tree expander
2 parents e5fe2dd + 12e9ce1 commit 889e1d4

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

Custom/Kernel/Modules/TextModuleAJAXHandler.pm

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,11 @@ sub _Widget {
177177
<div class="Content" id="TextModulesTreeViewContainer"><ul class="TextModulesTreeView">';
178178
my @keys = keys %{$categoryTree};
179179
my @sortedKeys = sort @keys;
180+
181+
my $UserID = $Self->{UserID} || '';
180182

181183
foreach my $treeNode (@sortedKeys) {
182-
$out .= _buildTextModuleNode($categoryTree->{$treeNode}, $treeNode, %MemberOf);
184+
$out .= _buildTextModuleNode($UserID, $categoryTree->{$treeNode}, $treeNode, %MemberOf);
183185
}
184186
$out .= '</ul></div>';
185187

@@ -243,17 +245,24 @@ sub _Get {
243245
}
244246

245247
sub _buildTextModuleNode {
246-
my ($dataArray, $key, %MemberOf) = @_;
248+
my ($UserID, $dataArray, $key, %MemberOf) = @_;
249+
my $UserObject = $Kernel::OM->Get('Kernel::System::User');
247250

248251
@{$dataArray->{'_leafs'}} = sort { alphanumSort($a->{'Name'}, $b->{'Name'}) } @{$dataArray->{'_leafs'}};
252+
253+
my %Preferences = $UserObject->GetPreferences(
254+
UserID => $UserID,
255+
);
249256

250-
my $out = '<li data-jstree=\'{"icon":"fa fa-folder-open-o", "opened":false,"selected":true}\'>' . $key . '<ul>';
257+
my $TreeOpened = $Preferences{TextModuleTreeExpandedDefault} || 'false';
258+
my $out = '<li data-jstree=\'{"icon":"fa fa-folder-open-o", "opened":' . $TreeOpened . ',"selected":true}\'>' . $key . '<ul>';
259+
251260
my @keys = keys %{$dataArray};
252261
my @sortedKeys = sort @keys;
253262
foreach my $dataRowKey (sort @sortedKeys) {
254263
if ($dataRowKey eq "_leafs") {
255264
} else {
256-
$out .= _buildTextModuleNode($dataArray->{$dataRowKey}, $dataRowKey, %MemberOf);
265+
$out .= _buildTextModuleNode($UserID, $dataArray->{$dataRowKey}, $dataRowKey, %MemberOf);
257266
}
258267
}
259268

Kernel/Config/Files/XML/TextModules.xml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,4 +317,27 @@
317317
</Value>
318318
</Setting>
319319

320+
<Setting Name="PreferencesGroups###TextModuleTreeExpandedDefault" Required="0" Valid="1">
321+
<Description Translatable="1">Preference for Addon Textmodule to decide if text modules are shown expanded or not by default</Description>
322+
<Navigation>Frontend::Agent::View::Preferences</Navigation>
323+
<Value>
324+
<Hash>
325+
<Item Key="Module">Kernel::Output::HTML::Preferences::Generic</Item>
326+
<Item Key="PreferenceGroup">Miscellaneous</Item>
327+
<Item Key="Label" Translatable="1">Textmodule Widget Default</Item>
328+
<Item Key="Desc" Translatable="1">Show tree for text modules expanded or collapsed by default.</Item>
329+
<Item Key="Data">
330+
<Hash>
331+
<Item Key="false" Translatable="1">Collapse All</Item>
332+
<Item Key="true" Translatable="1">Expand All</Item>
333+
</Hash>
334+
</Item>
335+
<Item Key="DataSelected">false</Item>
336+
<Item Key="PrefKey">TextModuleTreeExpandedDefault</Item>
337+
<Item Key="Prio">9100</Item>
338+
<Item Key="Active">1</Item>
339+
</Hash>
340+
</Value>
341+
</Setting>
342+
320343
</otobo_config>

Kernel/Language/de_textmodules.pm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ sub Data {
2424
$Self->{Translation}->{'Collapse All'} = 'Alles Einklappen',
2525
$Self->{Translation}->{'Expand All'} = 'Alles Ausklappen',
2626
$Self->{Translation}->{'Subcategory of'} = 'Unterkategorie von';
27+
$Self->{Translation}->{'Textmodule Widget Default'} = 'Textmodul Anzeige Standardeinstellung';
28+
$Self->{Translation}->{'Show tree for text modules expanded or collapsed by default.'} = 'Konfigurieren Sie, ob die Textbausteine alle ein- oder ausgeklappt angezeigt werden sollen.';
2729

2830
return;
2931
}

0 commit comments

Comments
 (0)