klee-contrib / focus4 Goto Github PK
View Code? Open in Web Editor NEWFocus v4
Home Page: https://klee-contrib.github.io/focus4
License: Apache License 2.0
Focus v4
Home Page: https://klee-contrib.github.io/focus4
License: Apache License 2.0
Au moins dans coreFetch
Dans l'API de recherche existante, la gestion est groupes est très basique : on choisit une clé sur laquelle grouper et le serveur renvoie des groupes.
En particulier, on ne peut pas faire de chargement partiel, c'est à dire qu'on est dépendant de l'implémentation côté serveur pour l'exhaustivité des résultats, qui peut choisir de renvoyer tous les éléments d'un groupe ou pas, ou bien tous les groupes ou pas.
On aimerait bien pouvoir spécifier la taille d'un groupe, le nombre de groupes que l'on veut récupérer, charger les groupes qui nous manquent et plus d'éléments sur un groupe.
La vue mosaic sous IE plante. Le wrapper global devrait avoir une width définie pour que cela fonctionne.
But : pouvoir utiliser StoreList à la place de AdvancedSearch gratos.
Dans le cas d'exception renvoyée par le serveur, il faudrait renvoyer le contenu complet de la réponse en paramètre de la fonction d'erreur. (Pour pouvoir l'utiliser dans un server.ts dans le projet afin de récupérer le code http d'erreur par exemple)
Déso, le toggle all sélectionne tous les élements y compris ceux non sélectionnables
Re déso.
route
qui ne sert plus (remplacé par router.currentStore.prefix
)isEdit
tdlt
En mode mosaïque, on a besoin d'un affichage différent, avec la case à cocher en bas à droite et les actions au milieu en boutons "mini-fab".
Il faudrait également afficher toutes les cases à cocher en "mode sélection".
Il se trouve que si j'avais fait mes recherches correctement, j'aurais vu que ce que j'ai fait pour le module theming
a déjà été fait en mieux par react-css-themr.
Il faudrait du coup migrer dessus, ce qui ne devrait rien changer de l'extérieur.
Les actions que l'on peut effectuer sur les éléments d'une recherche (ou liste) doivent être distinctes entre le type d'action (unitaire, en masse) et le type d'élément (scope dans la recherche).
De plus, il faudrait correctement remonter la gestion des actions unitaires dans la liste (et non dans la ligne, qui est laissée à l'utilisateur) et gérer la liste d'actions comme on gère la case à cocher de sélection. La liste d'actions unitaires doit être une fonction de la donnée, pour pouvoir afficher ou masquer des actions selon un état par exemple.
Pour cela, il faut préciser la valeur du champ "Name", il me semble.
On voudrait pouvoir mettre un autre EntityStore en tant que noeud d'EntityStore.
Du style :
const store2 = makeEntityStore({
node2: {} as Node2,
});
const store1 = makeEntityStore({
node1: {} as Node1,
store2
});
Pour faire des accès genre store1.store2.node2
ou du store1.store2.clear()
, voire le plus intéressant store1.clear()
qui viderait store2
aussi.
On veut un autocomplete qui n'est pas lié à une valeur et donc vide l'input après la sélection, par exemple pour une recherche rapide pour sélectionner des choses.
Il faudrait ajouter une propritété à l'AdvancedSearch qui permette d'ajouter cette valeur à tous les libellés d'actions . Par exemple : list.actionbar.filter => myPrefix.list.actionbar.filter
Aussi, lorsque l'on sélectionne un filtre, la clef n'est plus traduite dans l'affichade de la mention "trié par"
Gestion d'une API serveur qui autorise (ou pas !) la sélection de plusieurs valeurs pour une facette.
Is it possible toi export the ButtonProps interface located in focus-components?
Furthermore, the shape prop could be null, so we have to add that.
declare module "focus-components/button" {
export interface ButtonProps {
className?: string;
color?: "colored" | "primary" | "accent";
disabled?: boolean;
handleOnClick: (e?: React.SyntheticEvent<any>) => void;
hasRipple?: boolean;
icon?: string;
iconLibrary?: "material" | "font-awesome" | "font-custom";
id?: string;
isJs?: boolean;
label?: string;
shape?: "raised" | "fab" | "icon" | "mini-fab" | null;
style?: React.CSSProperties;
type?: "button" | "submit";
}
export default class Button extends React.Component<ButtonProps, {}> { }
}
Intégration avec les commentaires du modèle ? Option pour changer et activer/masquer.
A poser à droite du libellé.
Proposer aussi une deuxième tooltip à droite de la valeur pour une aide sur la valeur ?
Exemple : élément avec un bouton pour ajouter une nouvel item.
On ajoute un troisième bouton "Filtrer" qui ouvre un panneau avec le composant de filtres en dessous, qui remplacerait celui posé à gauche des résultats par défaut.
Idéalement, il faudrait que les listes puissent avoir deux modes d'affichage : liste ou mosaïque. Il y aurait un bouton pour changer de mode d'affichage et on fournirait 2 composants de lignes à la liste, par exemple LineComponent
et MosaicComponent
.
Le bouton pour changer sera affiché au dessus de la liste à droite et serait propre à une liste (et non dans une action transverse).
Il y a un overflow : hidden à supprimer dans le css du header qui est gênant
Il faudrait ajouter une zone de texte pour pour filtrer une liste ou la recherche dans la barre d'actions.
Pour la recherche, c'est directement la zone de recherche textuelle.
Pour une liste, ça serait un filtre configurable simple de recherche à la volée dans la liste chargée. On spécifierait la liste des champs sur lesquels on veut rechercher dans le store, et le texte saisi serait recherché texto dans les champs demandés. L'idée est de fournir une "mini-recherche" pour des petits jeux de données pour lesquels ça ne vaut pas le coup de monter une recherche complète côté serveur.
Following a recent framework update, the server message notification displays a button with a label which is confusing to the user. Certain websites and apps now show a notification "Undo" after an action, allowing the user to under the recet action. If the feature present here is to simply dismiss the notification, I would recommend using a close button rather than a label. A close button's meaning is immediate for a user whereas a label forces him to understand the meaning of the label
Especially if in a future version we implement the "Undo" feature.
Ca serait stylé et très pratique d'avoir un explorateur de stores (EntityStore/ViewStore) en tant que DevTools pour pouvoir facilement visualiser ce qu'il se passe (au lieu de la console).
Ca existe dans toutes les versions de Focus sauf le 4 en plus.
Please ! :)
Et surtout, en mode quicksearch, l'appeler sur le onChange.
La sélection du scrollspy ne fonctionne pas en correspondance avec le scroll de la page
Au click, la page scroll mais la sélection n'est pas affichée sur le scrollspy. Idem quand on scroll, le scrollspy ne suit pas l'affichage à la page.
Ca fonctionnait dans une version antérieure, je ne sais pas depuis laquelle c'est cassé
Actuellement, il n'y a que le scroll infini qui est mis en place pour la présentation des items dans l'Advanced Search.
On aimerait avoir la possibilité de choisir entre un scroll manuel et un scroll infini.
currentView
, pour pouvoir par exemple faire des vérifications et des redirections (au moins vers la page d'erreur).Ajouter une propriété "Selected" sur les objets de la recherche afin qu'on puisse les styler
Actuellement, il n'est possible de sélectionner que des éléments qui ont effectivement été chargés par le service de recherche/chargement. De même, la sélection de masse va toujours sélectionner l'ensemble des éléments chargés, sans vérifier s'ils sont affichés ou non, et surtout sans consulter le serveur sur les éléments non chargés.
Par exemple, une sélection de masse sur une recherche paginée va seulement sélectionner les éléments dans les pages qu'on a téléchargé.
Cela pose aussi la question sur les actions de masse, qui s'effectuent sur les éléments sélectionnés.
Il manque du coup probablement quelque chose dans l'API de recherche pour sélectionner des éléments sur le serveur, et il faudrait pouvoir bien clarifier les cas d'usages (est-ce-qu'on en a vraiment besoin ? est-ce-que ça a du sens ? dans quels cas la sélection de masse doit-elle effectivement appeler le serveur ?)
Il faudrait pouvoir forcer le rechargement d'une liste de référence dans un ReferenceStore.
Par exemple suite ajout/suppression d'un élement dans un écran.
Si un utilisateur ne veut pas utiliser les modules CSS pour le style de son application, il faudrait pouvoir le laisser pouvoir générer des noms de classes déterministes par le build webpack.
Si on nomme les classes focus-[nomFichier]-[nomClasse]
dans le css-loader, on devrait pouvoir assurer qu'il n'y ait pas de collision.
Cela marchera si les noms de fichiers sont bien uniques.
Avec la V3, l'affichage des filtres (liste des facettes) à été repensé et il faut qu'on reprenne ce travail.
Ce sera également l'occasion d'y faire un peu de ménage.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.