Font-Awesome ExtJS ActionColumn
Je suis en Utilisant FontAwesome avec ExtJS dans mon application.
Tous les autres boutons fonctionnent très bien avec la police génial quand je fais ceci:
iconCls: 'fa fa-edit'
Mais en utilisant la même configuration dans le actioncolumn (Composant qui permet de mettre des boutons sur une Grille), l'icône n'apparaît pas.
Quelqu'un a une idée de pourquoi?
MODIFIER
Après avoir essayé @qdev réponse: je suis juste de voir un ?#f040; texte de rendu (en bleu).
Le code HTML généré pour l'action bouton de la colonne:
<span data-qtip="Edita registro" style="font-family:FontAwesome" class="x-action-col-icon x-action-col-glyph x-action-col-2 " title="" role="button">�xf040;</span>
CSS (Prises de firebug inspecteur):
element.style {
font-family: FontAwesome;
}
*, *:before, *:after {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: border-box;
}
.x-action-col-icon {
cursor: pointer;
height: 16px;
width: 16px;
}
.x-border-box, .x-border-box * {
box-sizing: border-box;
}
.x-action-col-glyph {
color: #9bc8e9;
font-size: 16px;
line-height: 16px;
width: 20px;
}
*, *:before, *:after {
box-sizing: border-box;
}
element.style {
text-align: center;
}
.x-grid-cell-inner-action-col {
font-size: 0;
line-height: 0;
}
.x-grid-cell-inner {
white-space: nowrap;
}
.x-grid-cell {
font: 11px/13px tahoma,arial,verdana,sans-serif;
}
.x-unselectable {
cursor: default;
}
.x-grid-table {
border-collapse: separate;
}
.x-unselectable {
cursor: default;
}
.x-panel-body-default {
color: black;
font-size: 12px;
}
.x-panel-body-default {
color: black;
font-size: 12px;
}
.x-panel-body-default {
color: black;
font-size: 12px;
}
.x-panel-body-default {
color: black;
font-size: 12px;
}
.x-panel-body-default {
color: black;
font-size: 12px;
}
.x-panel-body-default {
color: black;
font-size: 12px;
}
.x-body {
color: black;
font-family: tahoma,arial,verdana,sans-serif;
font-size: 12px;
}
body {
color: #222222;
cursor: default;
font-family: "Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;
font-style: normal;
font-weight: normal;
line-height: 150%;
}
html, body {
font-size: 100%;
}
html, body {
font-size: 100%;
}
OriginalL'auteur lcguida | 2014-08-29
Vous devez vous connecter pour publier un commentaire.
C'est parce que la grille de colonne action icônes sont rendus comme
IMG
balises qui accepte icône (chemin) en option.Afin de pouvoir utiliser cette fonction, vous devez remplacer les
Ext.grid.column.Action
*defaultRenderer*
méthode, à l'appui de glyphe option de configuration à côté de l'icône (et sur votre code, vous pouvez décider que vous allez à l'icôneimg
ouglyph
pour chaque action sur tout point de vue).Travail (testé sur ExtJS 5.0.1 mais je pense qu'il travaille sur ExtJS 4) code de cette substitution:
Si vous ne savez pas où placer ou de le charger, vous pouvez trouver sur internet, mais sur un sencha cmd généré application que vous mettez simplement dans
appFolder/overrides/grid/column/Action.js
et sera automatiquement chargé par le cadre.Alors vous devez l'ajuster un peu un peu de CSS (j'ai ajouté dans mon CSS personnalisé pour la vue principale).
Sans cela, vous ne verrez PAS le glyps, je suppose que vous comprendrez pourquoi en regardant le code ci-dessous:
J'ai aussi réussi à faire un autre tour de nice: masquer les icônes d'action par défaut pour toutes les lignes et de leur montrer que sur le planait ligne /enregistrement.
Vous pouvez choisir l'endroit où l'utilisation de ce, uniquement sur les points de vue que vous wwant à l'aide de la getClass config de la fonction de l'icône/glyphe en ajoutant
x-hidden-display
(sur les anciens ExtJS version peut êtrex-hide-display
) de la classe comme ceci:... et puis afficher toutes les icônes pour le plané /ligne sélectionnée à l'aide de CSS:
J'espère que cela vous aide à vous 😉
ok, lundi passé, avez-vous eu la chance de le tester ? J'étais curieux 😉
Désolé. Pu le tester aujourd'hui. Je'not l'obtention de l'icône, mais une ?x0f40; texte à la place. Je peux voir que c'est à l'aide de FontAwesome que c'est la police. Mais pas le rendu de l'icône. (Se ma mise à jour de question)
Comment définissez-vous votre glyphe de la valeur ? Voici un travail de violon en utilisant exactement le code ci-dessus: fiddle.sencha.com/#fiddle/agf
glyphe: 0xf040, mais je l'ai testé votre violon avec la version 4.2 de Extjs et cela a fonctionné. Quelque chose doit m'échapper d'ici. Je vais regarder de plus près et puis est venu à vous. Ok?
OriginalL'auteur qdev
J'ai récemment créé cette nouvelle application qui va vous aider à vous préparer des icônes personnalisées que vous pouvez attribuer à
iconCls
. Il génère le_icons.scss
fichier pour votre Sencha apps. Je l'ai testé avec Sencha Touch, mais je pense qu'il devrait également travailler avec ExtJS. Le fichier README qui explique les étapes à suivre pour créer des icônes à l'Ico Lune site web et d'utiliser l'outil pour convertir Ico Lune des fichiers de projet en SCSS pour une utilisation dans le Sencha. Il a aussi été testé avec Sencha Architect Touch projets.Si vous l'utilisez pour ExtJS s'il vous plaît dites-moi si ça fonctionne. Merci.
OriginalL'auteur Tony O'Hagan
- Je ajouter getGlyph (similaire à getClass pour les icônes) à qdev solution.
C'est une solution très simple mais fonctionne parfaitement.
Est juste 3 lignes ajouter ne qdev solution:
Complète remplace le code:
Vous pouvez l'utiliser aussi simple que:
J'espère que cela vous aide à vous 😉
OriginalL'auteur proffnet.com
Vous pouvez simplement retourner "fa fa-edit" classe à partir de la actioncolumn élément getClass comme suit:
OriginalL'auteur fen1ksss
Ressemble les remplacements ne fonctionnent pas si vous êtes en 4.0 - 4.1. Je suis allé le chemin de moindre résistance et vient de faire les icônes en format png via http://fa2png.io/ alors défini la classe assignée à un arrière-plan-url de l'image dans le css.
OriginalL'auteur bnw