Просмотр исходного кода

Ticket #4980 - Studio: Icons in Agents list.

AntonLV 1 месяц назад
Родитель
Сommit
2d88b3ccad

+ 3 - 7
studio/template/agents_agents.html

@@ -6,17 +6,13 @@
                     <div class="bx-agt-aic grow-0">__icon__</div>
                     <div class="bx-agt-aic-aux flex items-center justify-center gap-1 shrink-0">
                         <bx_if:show_trigger>
-                            <div class="bx-agt-aic-trigger w-7 h-7 flex items-center justify-center bg-gray-200/80 dark:bg-gray-800/80 rounded-full overflow-hidden">
-                                <img class="w-4 h-4" src="__trigger_icon_src__" title="__trigger_title__" />
-                            </div>
+                            <div class="bx-agt-aica bx-agt-aic-trigger w-7 h-7 flex items-center justify-center bg-gray-200/80 dark:bg-gray-800/80 rounded-full overflow-hidden" title="__trigger_title__">__trigger_icon__</div>
                         </bx_if:show_trigger>
                         <bx_if:show_model>
-                            <div class="bx-agt-aic-model w-7 h-7 flex items-center justify-center bg-gray-200/80 dark:bg-gray-800/80 rounded-full overflow-hidden">
-                                <img class="w-4 h-4" src="__model_icon_src__" title="__model_title__" />
-                            </div>
+                            <div class="bx-agt-aica bx-agt-aic-model w-7 h-7 flex items-center justify-center bg-gray-200/80 dark:bg-gray-800/80 rounded-full overflow-hidden" title="__model_title__">__model_icon__</div>
                         </bx_if:show_model>
                         <bx_if:show_profile>
-                            <div class="bx-agt-aic-profile w-7 h-7 flex items-center justify-center rounded-full overflow-hidden">__unit__</div>
+                            <div class="bx-agt-aica bx-agt-aic-profile w-7 h-7 flex items-center justify-center rounded-full overflow-hidden">__unit__</div>
                         </bx_if:show_profile>
                     </div>
                 </div>

+ 6 - 0
studio/template/css/agents.css

@@ -1,3 +1,9 @@
+/**--- Agents ---**/
+.bx-agt-aica svg {
+    width: 1rem;
+    height: 1rem;
+}
+
 /**--- Automators ---**/
 .cmt .bx-menu-custom.bx-menu-custom-hor > li > span {
     margin-right: 0;

+ 4 - 4
studio/template/scripts/BxBaseStudioAgents.php

@@ -262,7 +262,7 @@ class BxBaseStudioAgents extends BxDolStudioAgents
                 'caption' => _t('_sys_agents_builder_view_' . $sTypeNew),
                 'title_only' => true,
                 'url' => $this->sSubpageUrl . $this->sPage . '&view=' . $sTypeNew,
-                'icon' => $aT2i[$sTypeNew]
+                'icon' => BxDolStudioTemplate::getInstance()->getIconContent($aT2i[$sTypeNew])
             ]],
             'content' => ($sMethod = 'getAgents' . bx_gen_method_name($sType)) && method_exists($this, $sMethod) ? $this->$sMethod() : ''
         ];
@@ -295,7 +295,7 @@ class BxBaseStudioAgents extends BxDolStudioAgents
 
             $sIcon = '';
             if(($sIcon = $aAgent['icon'])) {
-                list($sIcon, $sIconUrl, $sIconA, $sIconHtml) = $oTemplate->getTemplateFunctions()->getIcon($sIcon);
+                list($sIcon, $sIconUrl, $sIconA, $sIconHtml) = $oTemplate->getTemplateFunctions()->getIcon($sIcon, ['class' => 'sys-colored']);
 
                 if($sIcon)
                     $sIcon = $oTemplate->parseIcon(BxDolIconset::getObjectInstance()->getIcon($sIcon));
@@ -307,7 +307,7 @@ class BxBaseStudioAgents extends BxDolStudioAgents
             if(($sTrigger = $aAgent['trigger']))
                 $aTmplVarsTrigger = [
                     'trigger_title' => bx_html_attribute(_t('_sys_agents_field_trigger_' . str_replace(['-', ' '], '_', $sTrigger))),
-                    'trigger_icon_src' => $oTemplate->getIconUrl('agt-trg-' . $sTrigger . '.svg')
+                    'trigger_icon' => $oTemplate->getIconContent('agt-trg-' . $sTrigger . '.svg')
                 ];
 
             $aTmplVarsModel = [];
@@ -316,7 +316,7 @@ class BxBaseStudioAgents extends BxDolStudioAgents
                 if(($sModelTitle = $aModel['title'] ?? false))
                     $aTmplVarsModel['model_title'] = bx_html_attribute($sModelTitle);
                 if(($sModelIcon = $aModel['icon'] ?? false))
-                    $aTmplVarsModel['model_icon_src'] = $oTemplate->getIconUrl($sModelIcon);
+                    $aTmplVarsModel['model_icon'] = $oTemplate->getIconContent($sModelIcon);
             }
 
             $sProfile = '';

+ 2 - 30
studio/template/scripts/BxBaseStudioAgentsAgents.php

@@ -257,37 +257,8 @@ class BxBaseStudioAgentsAgents extends BxDolStudioAgentsAgents
         return parent::_getCellSwitcher ($mixedValue, $sKey, $aField, $aRow);
     }
 
-    protected function _getCellProfileId($mixedValue, $sKey, $aField, $aRow)
+    protected function _getCellType($mixedValue, $sKey, $aField, $aRow)
     {
-        $mixedValue = BxDolProfile::getInstanceMagic($mixedValue)->getUnit(0, ['template' => 'unit_wo_info']);
-        return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
-    }
-
-    protected function _getCellModelId($mixedValue, $sKey, $aField, $aRow)
-    {
-        $aModel = $this->_oDb->getModelsBy(['sample' => 'id', 'id' => $mixedValue]);
-        if(!empty($aModel) && is_array($aModel)) {
-            $mixedValue = $aModel['icon'];
-            if (strpos($mixedValue, '.svg') !== false)
-                $mixedValue = $this->_oTemplate->getIconContent($mixedValue);
-        } else {
-            $mixedValue = '';
-        }
-
-        return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
-    }
-
-    protected function _getCellTrigger($mixedValue, $sKey, $aField, $aRow)
-    {
-        $mixedValue = $this->_oTemplate->getIconContent('agt-trg-' . $mixedValue . '.svg');
-        return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
-    }
-
-    protected function _getCellName($mixedValue, $sKey, $aField, $aRow)
-    {
-        if (!empty($aRow['title']))
-            $mixedValue = $aRow['title'];
-
         return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
     }
     
@@ -381,6 +352,7 @@ class BxBaseStudioAgentsAgents extends BxDolStudioAgentsAgents
                     'caption' => _t('_sys_agents_field_icon'),
                     'info' => _t('_sys_agents_field_icon_info'),
                     'value' => $aAgent['icon'] ?? '',
+                    'code' => 1,
                     'db' => [
                         'pass' => 'Xss',
                     ],