14cadd4f8SNickeau<?php 24cadd4f8SNickeau/** 34cadd4f8SNickeau * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved. 44cadd4f8SNickeau * 54cadd4f8SNickeau * This source code is licensed under the GPL license found in the 64cadd4f8SNickeau * COPYING file in the root directory of this source tree. 74cadd4f8SNickeau * 84cadd4f8SNickeau * @license GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html) 94cadd4f8SNickeau * @author ComboStrap <support@combostrap.com> 104cadd4f8SNickeau * 114cadd4f8SNickeau */ 124cadd4f8SNickeau 134cadd4f8SNickeaunamespace ComboStrap; 144cadd4f8SNickeau 154cadd4f8SNickeauuse dokuwiki\Menu\Item\AbstractItem; 164cadd4f8SNickeau 174cadd4f8SNickeau/** 184cadd4f8SNickeau * Class MenuItem 194cadd4f8SNickeau * @package ComboStrap 204cadd4f8SNickeau * 214cadd4f8SNickeau */ 224cadd4f8SNickeauclass CacheMenuItem extends AbstractItem 234cadd4f8SNickeau{ 244cadd4f8SNickeau 254cadd4f8SNickeau const CLASS_HTML = "combo-cache-item"; 264cadd4f8SNickeau const CANONICAL = "cache"; 274cadd4f8SNickeau 284cadd4f8SNickeau /** 294cadd4f8SNickeau * MetadataMenuItem constructor. 304cadd4f8SNickeau */ 314cadd4f8SNickeau public function __construct() 324cadd4f8SNickeau { 334cadd4f8SNickeau $snippetManager = PluginUtility::getSnippetManager(); 344cadd4f8SNickeau $snippetManager->attachJavascriptComboLibrary(); 35*04fd306cSNickeau $snippetManager->attachJavascriptFromComponentId(self::CANONICAL); 364cadd4f8SNickeau parent::__construct(); 374cadd4f8SNickeau } 384cadd4f8SNickeau 394cadd4f8SNickeau 404cadd4f8SNickeau /** 414cadd4f8SNickeau * 424cadd4f8SNickeau * @return string 434cadd4f8SNickeau */ 444cadd4f8SNickeau public function getLabel(): string 454cadd4f8SNickeau { 464cadd4f8SNickeau return "Cache Manager"; 474cadd4f8SNickeau } 484cadd4f8SNickeau 494cadd4f8SNickeau public function getLinkAttributes($classprefix = 'menuitem '): array 504cadd4f8SNickeau { 514cadd4f8SNickeau $linkAttributes = parent::getLinkAttributes($classprefix); 524cadd4f8SNickeau /** 534cadd4f8SNickeau * A class and not an id 544cadd4f8SNickeau * because a menu item can be found twice on 554cadd4f8SNickeau * a page (For instance if you want to display it in a layout at a 564cadd4f8SNickeau * breakpoint and at another in another breakpoint 574cadd4f8SNickeau */ 584cadd4f8SNickeau $linkAttributes['class'] = self::CLASS_HTML; 594cadd4f8SNickeau 604cadd4f8SNickeau return $linkAttributes; 614cadd4f8SNickeau } 624cadd4f8SNickeau 634cadd4f8SNickeau public function getTitle(): string 644cadd4f8SNickeau { 654cadd4f8SNickeau return "Show the cache results"; 664cadd4f8SNickeau } 674cadd4f8SNickeau 684cadd4f8SNickeau public function getSvg(): string 694cadd4f8SNickeau { 704cadd4f8SNickeau /** @var string icon file */ 71*04fd306cSNickeau return DirectoryLayout::getComboImagesDirectory()->resolve('mdi-cache.svg')->toAbsoluteId(); 724cadd4f8SNickeau } 734cadd4f8SNickeau 744cadd4f8SNickeau 754cadd4f8SNickeau} 76