1*4cadd4f8SNickeau<?php 2*4cadd4f8SNickeau/** 3*4cadd4f8SNickeau * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved. 4*4cadd4f8SNickeau * 5*4cadd4f8SNickeau * This source code is licensed under the GPL license found in the 6*4cadd4f8SNickeau * COPYING file in the root directory of this source tree. 7*4cadd4f8SNickeau * 8*4cadd4f8SNickeau * @license GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html) 9*4cadd4f8SNickeau * @author ComboStrap <support@combostrap.com> 10*4cadd4f8SNickeau * 11*4cadd4f8SNickeau */ 12*4cadd4f8SNickeau 13*4cadd4f8SNickeaunamespace ComboStrap; 14*4cadd4f8SNickeau 15*4cadd4f8SNickeauuse dokuwiki\Menu\Item\AbstractItem; 16*4cadd4f8SNickeau 17*4cadd4f8SNickeau/** 18*4cadd4f8SNickeau * Class MenuItem 19*4cadd4f8SNickeau * @package ComboStrap 20*4cadd4f8SNickeau * 21*4cadd4f8SNickeau */ 22*4cadd4f8SNickeauclass CacheMenuItem extends AbstractItem 23*4cadd4f8SNickeau{ 24*4cadd4f8SNickeau 25*4cadd4f8SNickeau const CLASS_HTML = "combo-cache-item"; 26*4cadd4f8SNickeau const CANONICAL = "cache"; 27*4cadd4f8SNickeau 28*4cadd4f8SNickeau /** 29*4cadd4f8SNickeau * MetadataMenuItem constructor. 30*4cadd4f8SNickeau */ 31*4cadd4f8SNickeau public function __construct() 32*4cadd4f8SNickeau { 33*4cadd4f8SNickeau $snippetManager = PluginUtility::getSnippetManager(); 34*4cadd4f8SNickeau $snippetManager->attachJavascriptComboLibrary(); 35*4cadd4f8SNickeau $snippetManager->attachJavascriptSnippetForRequest(self::CANONICAL); 36*4cadd4f8SNickeau parent::__construct(); 37*4cadd4f8SNickeau } 38*4cadd4f8SNickeau 39*4cadd4f8SNickeau 40*4cadd4f8SNickeau /** 41*4cadd4f8SNickeau * 42*4cadd4f8SNickeau * @return string 43*4cadd4f8SNickeau */ 44*4cadd4f8SNickeau public function getLabel(): string 45*4cadd4f8SNickeau { 46*4cadd4f8SNickeau return "Cache Manager"; 47*4cadd4f8SNickeau } 48*4cadd4f8SNickeau 49*4cadd4f8SNickeau public function getLinkAttributes($classprefix = 'menuitem '): array 50*4cadd4f8SNickeau { 51*4cadd4f8SNickeau $linkAttributes = parent::getLinkAttributes($classprefix); 52*4cadd4f8SNickeau /** 53*4cadd4f8SNickeau * A class and not an id 54*4cadd4f8SNickeau * because a menu item can be found twice on 55*4cadd4f8SNickeau * a page (For instance if you want to display it in a layout at a 56*4cadd4f8SNickeau * breakpoint and at another in another breakpoint 57*4cadd4f8SNickeau */ 58*4cadd4f8SNickeau $linkAttributes['class'] = self::CLASS_HTML; 59*4cadd4f8SNickeau 60*4cadd4f8SNickeau return $linkAttributes; 61*4cadd4f8SNickeau } 62*4cadd4f8SNickeau 63*4cadd4f8SNickeau public function getTitle(): string 64*4cadd4f8SNickeau { 65*4cadd4f8SNickeau return "Show the cache results"; 66*4cadd4f8SNickeau } 67*4cadd4f8SNickeau 68*4cadd4f8SNickeau public function getSvg(): string 69*4cadd4f8SNickeau { 70*4cadd4f8SNickeau /** @var string icon file */ 71*4cadd4f8SNickeau return Site::getComboImagesDirectory()->resolve('mdi-cache.svg')->toString(); 72*4cadd4f8SNickeau } 73*4cadd4f8SNickeau 74*4cadd4f8SNickeau 75*4cadd4f8SNickeau} 76