Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1362 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11
Auteur Sujet :

Ember.js - Framework JS - Ember Octane disponible !

n°2251361
gatsu35
Blablaté par Harko
Posté le 22-02-2015 à 08:17:13  profilanswer
 

Reprise du message précédent :

nraynaud a écrit :

quelqu'un a une solution complète pour les numberfields ?
 
http://stackoverflow.com/questions [...] ber-fields
ici on voit qu'ils on mis les attributs en HTML, mais ils ont pas mis le parseFloat() qui va avec, et je galère à le faire (et si ça gérait les infini, ça serait cool)
 
j'ai fait ça: https://github.com/nraynaud/webgcod [...] i/views.js
mais en fait c'est pas suffisant, parce que "value" et "numericValue" se désynchronisent, j'arrive pas à le faire correctement.


Tu veux faire quoi en fait ?

mood
Publicité
Posté le 22-02-2015 à 08:17:13  profilanswer
 

n°2251406
nraynaud
lol
Posté le 22-02-2015 à 14:48:04  profilanswer
 

gatsu35 a écrit :


Tu veux faire quoi en fait ?


un champ qui côté HTML est un type=number et coté javascript ne travaille qu'avec des nombres, pas avec des chaînes.

 

(je suppose que c'est super-simple, mais j'y arrive pas :/ )


Message édité par nraynaud le 22-02-2015 à 14:48:32

---------------
trainoo.com, c'est fini
n°2251410
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 15:53:37  profilanswer
 

C'est pas suffisant ça  ?

 

http://emberjs.jsbin.com/cisewiqira/1/edit

Message cité 1 fois
Message édité par youmoussa le 22-02-2015 à 15:55:41
n°2251411
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 15:59:23  profilanswer
 

LeRiton a écrit :

Petite question à propos de l'instrumentation.

 

Pour une appli très simple pour laquelle je ne souhaite pour le moment pas mettre en place d'AMD / ES6 module / whatever, j'ai l’impression que mon seul choix pour les templates est de tout faire vivre dans le index.html.

 

Ma question se résume à : je veux mettre mes templates HTMLBars (Ember 1.10) dans des .hbs plutôt que tout dans l'index.html, quel choix s'offre à moi pour simplement générer un templates.js sans pour autant devoir mettre en place de l'AMD ?

 

Ember CLI demande de se conformer à la syntaxe d'un resolver ES6, en plus d'être une usine à gaz buggée sous Windows et qui m'impose d'autres choix architecturaux. Le plugin gulp-htmlbars se rapproche le plus de mon besoin, mais la configuration ciblant Ember me demande là encore de me conformer à une syntaxe ES6 de ce que j'ai pu comprendre de l'exemple d'ember-rocks.

 

Je rate quelque chose ?

 

Développement open source sous Windows, tu as bien du courage :o Mon premier conseil serait de changer ça. ( et ce n'est pas un problème unique à Ember.js ). Dès que tu as des outils liés à la manipulation de fichiers, ca devient pénible ( j'avais eu le même problème avec RoR ).

 

Sinon as tu lu cet article de blog : http://emberjs.com/blog/2015/02/05 [...] -10-0.html

 

qui mène entre autre à ça

 

et ça

 

https://gist.github.com/tomaskikuti [...] 5ce580b1f7


Message édité par youmoussa le 22-02-2015 à 16:27:48
n°2251413
nraynaud
lol
Posté le 22-02-2015 à 16:05:09  profilanswer
 


et sous forme de composant ré-utilisable ?


---------------
trainoo.com, c'est fini
n°2251414
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 16:05:38  profilanswer
 

Après 2 secondes de recherche, je trouve ça pour gulp et htmlbars

 

https://www.npmjs.com/package/gulp-htmlbars

 

et ça

 

https://gist.github.com/tomaskikuti [...] 5ce580b1f7

Message cité 1 fois
Message édité par youmoussa le 22-02-2015 à 16:27:23
n°2251415
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 16:11:44  profilanswer
 

nraynaud a écrit :


et sous forme de composant ré-utilisable ?


 
JsBin mis à jour
 
http://emberjs.jsbin.com/cisewiqira/1/edit

n°2251416
nraynaud
lol
Posté le 22-02-2015 à 16:13:56  profilanswer
 

ok, merci, il va falloir que je démerde le merdier pour mon cas.


---------------
trainoo.com, c'est fini
n°2251417
nraynaud
lol
Posté le 22-02-2015 à 16:25:00  profilanswer
 

en fait j'ai pas posé la bonne question. Est-ce que tu l'as sous forme de sous-classe de TextField stp ?


---------------
trainoo.com, c'est fini
n°2251420
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 16:38:22  profilanswer
 

Ca va être un poil plus compliqué.

 

{{input}} est un helper qui, par défaut, va créer un composant TextField.

 

https://github.com/emberjs/ember.js [...] t_field.js

 

Ca veut dire que pour garder la syntaxe {{input type="number"}} il faut jouer avec le helper et ajouter un nouveau cas ( comme c'est fait pour checkbox )

 

https://github.com/emberjs/ember.js [...] s/input.js

 

Faut que je fasse mumuse qqs minutes.

 


T'es toujours sous Ember 1.5?


Message édité par youmoussa le 22-02-2015 à 16:39:14
mood
Publicité
Posté le 22-02-2015 à 16:38:22  profilanswer
 

n°2251422
nraynaud
lol
Posté le 22-02-2015 à 16:55:06  profilanswer
 

ember 1.7


---------------
trainoo.com, c'est fini
n°2251424
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 17:11:37  profilanswer
 

Nouvelle version
 
http://emberjs.jsbin.com/cisewiqira/2/edit
C'est un peu cracra la manière dont je redéfinis `attributesBinding`, mais ca marche.
 
Le truc important c'est  

Code :
  1. attributeBindings: ['fieldValue:value']


pour créer le niveau d'indirection permettant la conversion.
 
J'ai aussi défini un nouvel helper `my-input` pour gérer le cas `type="number"` séparément.
 
Ca colle mieux à tes besoins ?

Message cité 1 fois
Message édité par youmoussa le 22-02-2015 à 17:16:23
n°2251426
nraynaud
lol
Posté le 22-02-2015 à 17:29:21  profilanswer
 

yep, merci, un rapide test montre que ça marche, je suis en train d'étendre à toute l'appli.


---------------
trainoo.com, c'est fini
n°2251427
nraynaud
lol
Posté le 22-02-2015 à 17:35:47  profilanswer
 

merci, c'est intégré. Ironiquement c'est pas plus court en lignes de code, mais le mécanisme est mieux je trouve.


---------------
trainoo.com, c'est fini
n°2251428
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 17:39:39  profilanswer
 

Je me demande si ca pourrait faire l'objet d'une PR un truc comme ça

n°2251429
nraynaud
lol
Posté le 22-02-2015 à 17:49:20  profilanswer
 

ça sent la merde avec les Nan et les infinis, pour l'instant j'ai fait l'autruche sur cette partie.


---------------
trainoo.com, c'est fini
n°2251430
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 17:55:11  profilanswer
 

J'ai fait au plus simple. Il y a clairement des trucs à gérer en plus :jap:
 
Tu dois pouvoir gérer ces cas dans `fieldValue`

n°2251431
nraynaud
lol
Posté le 22-02-2015 à 18:04:13  profilanswer
 

nan, mais aussi côté interface, comment saisir et représenter les infinis.
souvent même pour les interfaces, il vaut probablement mieux traduire l'infini en un truc métier genre un checkbox "no limit" que de permettre de le saisir directement.


---------------
trainoo.com, c'est fini
n°2251433
nraynaud
lol
Posté le 22-02-2015 à 18:05:41  profilanswer
 

(e si t'es *vraiment* pédant, tu peux gérer le zéro signé aussi)


---------------
trainoo.com, c'est fini
n°2251434
youmoussa
Ecrou-vis
Posté le 22-02-2015 à 18:18:24  profilanswer
 

Je vais avoir d'autres trucs à faire de mon dimanche je crois :o

n°2251435
nraynaud
lol
Posté le 22-02-2015 à 18:20:02  profilanswer
 

je suis assez d'accord. Je pense que ça explique pourquoi le W3C l'a pas fait.

 

edit: la formulation était artistiquement intéressante, mais ça voulait quand même rien dire.


Message édité par nraynaud le 22-02-2015 à 18:52:33

---------------
trainoo.com, c'est fini
n°2251456
LeRiton
Posté le 23-02-2015 à 09:36:42  profilanswer
 

youmoussa a écrit :

Après 2 secondes de recherche, je trouve ça pour gulp et htmlbars
 
https://www.npmjs.com/package/gulp-htmlbars


 
 :sarcastic:  
 

LeRiton a écrit :

Ember CLI demande de se conformer à la syntaxe d'un resolver ES6, en plus d'être une usine à gaz buggée sous Windows et qui m'impose d'autres choix architecturaux. Le plugin gulp-htmlbars se rapproche le plus de mon besoin, mais la configuration ciblant Ember me demande là encore de me conformer à une syntaxe ES6 de ce que j'ai pu comprendre de l'exemple d'ember-rocks.


 


 
Vu aussi, mais vu la syntaxe de replace ('export default'), je suppose que c'est AMD obligatoire uniquement.
 

n°2251523
youmoussa
Ecrou-vis
Posté le 23-02-2015 à 17:04:36  profilanswer
 


 
Oups, j'ai zappé ça  :jap:  
 

LeRiton a écrit :


 
Vu aussi, mais vu la syntaxe de replace ('export default'), je suppose que c'est AMD obligatoire uniquement.
 


 
Du coup tu as tout a fait raison  :jap:  
 
Le fait de ne pas vouloir d'ES6 ES2015, ca va te compliquer la tâche pour trouver quelque chose. Gulp n'est pas l'outil le plus utilisé dans la communauté AMHA, ce qui va d'autant plus limiter ton choix. Et ensuite il y a le cas Windows...
 
 
Il y a eu plusieurs PRs associées à Windows mergées dans Ember CLI depuis le début de l'année ( https://github.com/ember-cli/ember- [...] =%E2%9C%93 ), tu rencontres quoi comme problème ?
 
 
Je vais peut être bouffer avec Stefan Penner cette semaine, il vient de se faire embaucher par Yahoo!, et il va être payé à améliorer Ember CLI. Je vais voir avec lui ce qu'il en est de la version Windows.


Message édité par youmoussa le 23-02-2015 à 17:12:11
n°2251751
nraynaud
lol
Posté le 25-02-2015 à 23:46:31  profilanswer
 

youmoussa a écrit :

Nouvelle version
 
http://emberjs.jsbin.com/cisewiqira/2/edit
C'est un peu cracra la manière dont je redéfinis `attributesBinding`, mais ca marche.
 
Le truc important c'est  

Code :
  1. attributeBindings: ['fieldValue:value']


pour créer le niveau d'indirection permettant la conversion.
 
J'ai aussi défini un nouvel helper `my-input` pour gérer le cas `type="number"` séparément.
 
Ca colle mieux à tes besoins ?


en fait après tests, ça marche pas.
dans le JSBin, si tu change la valeur de 12 à 13 avec le clavier (c'est important), le type passe à string.


---------------
trainoo.com, c'est fini
n°2255675
LeRiton
Posté le 14-04-2015 à 10:54:43  profilanswer
 

Disclaimer : c'est moins un question Ember que de modélisation.
 
J'ai une donnée qui correspond à une heure de rendu pour un livrable donné. Côté serveur, je stocke un datetime puisque ce rendu s'effectue à une date donnée, l'utilisateur ne doit cependant avoir la main que sur l'heure (mm:ss).
 
Côté modèle Ember :
A. DS.attr('string') et comme ça je ne me prend pas la tête pour l'édition, on règlera la mise en cohérence date / heure côté serveur
B. DS.attr('date'), je n'affiche que la partie time mais dans ce cas je ne vois pas comment traiter la bascule automatique de date (édition de 23:42 vers 00:12 => date + 1)
C. Autre chose que je ne vois pas (Profit!)
D. Obiwan
 
Si vous avez des idées sympa pour l'édition par l'utilisateur, je prend également.

n°2255707
youmoussa
Ecrou-vis
Posté le 14-04-2015 à 14:18:16  profilanswer
 

En générale, j'essaie de raisonner en terme d'API.
 
Tu as une date et une heure. Je renverrais donc le datetime ( car l'appli qui la consomme peut décider de tout afficher ).
 
Pour la mise à jour de l'heure, il suffit de retourner une erreur si la partie date est modifiée.

n°2255719
LeRiton
Posté le 14-04-2015 à 15:11:55  profilanswer
 

youmoussa a écrit :

Pour la mise à jour de l'heure, il suffit de retourner une erreur si la partie date est modifiée.


 
Ce que j'essayais d'exprimer, c'est le fait que lorsqu'un utilisateur saisi 01:01 alors que la précédente valeur affichée (on ne montre que l'heure) était avant minuit, le datetime doit être mis à jour avec la nouvelle heure mais également à date + 1. Ça se fait dans le controller je présume, ma question était plutôt de savoir si c'était pertinent et si éventuellement le boulot n'avait pas déjà été fait.
 

n°2255723
youmoussa
Ecrou-vis
Posté le 14-04-2015 à 15:25:28  profilanswer
 

C'est un problème d'UX j'ai l'impression. Tu ne vas pas pouvoir utiliser un simple input, il faut que l'utilisateur puisse faire + ou -, ce qui te permet de détecter le changement de jour.
 
Je ne suis pas sur de bien saisir ta question. Il semble que l'utilisateur a moyen de changer le jour ( mais pas forcément directement ).


Message édité par youmoussa le 14-04-2015 à 15:26:41
n°2255735
LeRiton
Posté le 14-04-2015 à 16:29:38  profilanswer
 

C'est effectivement l'UX qui va déterminé la manière dont je vais l'implémenter.
 
Il est 23h00. L'utilisateur a devant lui un listing des livrables des prochaines 12h (par exemple). Pour chacun, on affiche l'heure de rendu prévisionnelle, un date dont on affiche que la composante time.
L'utilisateur peut éditer cette heure, et si il est 23h, que l'heure de rendu est à 23h30 et qu'il la modifie vers 00h17, c'est bien qu'il décalle la date de rendu à demain.
Derrière, il faut donc que dans ce cas le modèle détecte qu'il y a changement de jour consécutif au changement d'heure.
 
Je sais toujours pas si je suis clair :(
je vois comment faire hein, donc t'embête pas, je posais la question parce qu'il pouvait y avoir de bonnes idées.

n°2255770
tryptique
Stay hungry, stay foolish
Posté le 14-04-2015 à 18:33:56  profilanswer
 

Je suis plussoie Youmoussa : ta donnée est de type datetime, donc ton api doit exposer et consommer un champ de type datetime. La manière dont ce champ est modifiable par l'utilisateur est un problème d'UX et ne doit pas interférer avec la spécification de l'API.


---------------
"J'ai les goûts les plus simples du monde, je me contente du meilleur" O. Wilde - Freedom of time is the new luxury. Time to sleep, work, play, relax, travel, inspire and get inspired. Time to write your story.
n°2255818
LeRiton
Posté le 15-04-2015 à 12:14:08  profilanswer
 

Ember data, j'aimerais que les requêtes vers mes objets de modèles soient hyphénisées plutôt que camel case.

 

models/foo.js :

Code :
  1. export default DS.Model.extend({
  2.    type: DS.belongsTo('foo-type'),    
  3. });


models/foo-type.js est défini également.

 

Quand je charge un Foo :

Citation :


GET /api/foos/1 200
[...]
GET /api/fooTypes/1 404

 

J'aimerais que l'URI soit /api/foo-types/1. Y'a un moyen simple de faire ça (et tant qu'à faire rendre se comportement globale à l'application) ? Je vois rien dans le RESTAdapter à ce sujet.

 

Edit : apparemment un bug dans Ember Data (ember-data#2318), avec un workaround ici

Message cité 1 fois
Message édité par LeRiton le 15-04-2015 à 12:29:45
n°2256020
LeRiton
Posté le 17-04-2015 à 11:54:39  profilanswer
 

C'est quoi la manière idiomatique de copier un array provenant du modèle (DS.hasMany('bar') dans le modèle foo) ?
 
Dans un template, j'utilise :

Code :
  1. {{foo.bars.firstObject}}


et je souhaiterais ensuite itérer sur le reste des éléments (soit foo.bars moins la première valeur).
 
:jap:

n°2256073
tryptique
Stay hungry, stay foolish
Posté le 17-04-2015 à 17:58:11  profilanswer
 

Une computed property ?


---------------
"J'ai les goûts les plus simples du monde, je me contente du meilleur" O. Wilde - Freedom of time is the new luxury. Time to sleep, work, play, relax, travel, inspire and get inspired. Time to write your story.
n°2256075
youmoussa
Ecrou-vis
Posté le 17-04-2015 à 18:20:57  profilanswer
 

LeRiton a écrit :

Ember data, j'aimerais que les requêtes vers mes objets de modèles soient hyphénisées plutôt que camel case.
 
models/foo.js :

Code :
  1. export default DS.Model.extend({
  2.    type: DS.belongsTo('foo-type'),    
  3. });


models/foo-type.js est défini également.
 
Quand je charge un Foo :

Citation :


GET /api/foos/1 200
[...]
GET /api/fooTypes/1 404


 
J'aimerais que l'URI soit /api/foo-types/1. Y'a un moyen simple de faire ça (et tant qu'à faire rendre se comportement globale à l'application) ? Je vois rien dans le RESTAdapter à ce sujet.
 
Edit : apparemment un bug dans Ember Data (ember-data#2318), avec un workaround ici


 
 
Surcharge pathForType au niveau de l'adapter
 
https://github.com/emberjs/data/blo [...] in.js#L252

n°2256076
youmoussa
Ecrou-vis
Posté le 17-04-2015 à 18:22:12  profilanswer
 

LeRiton a écrit :

C'est quoi la manière idiomatique de copier un array provenant du modèle (DS.hasMany('bar') dans le modèle foo) ?
 
Dans un template, j'utilise :

Code :
  1. {{foo.bars.firstObject}}


et je souhaiterais ensuite itérer sur le reste des éléments (soit foo.bars moins la première valeur).
 
:jap:


 
Tu veux avoir 2 tableaux différents à la fin ou que foo est une référence vers bars ?

n°2256078
youmoussa
Ecrou-vis
Posté le 17-04-2015 à 18:29:12  profilanswer
 

Je devrais lire plus attentivement :o

 

Tryptique va dans la bonne direction du coup :jap:

 

Tu peux utiliser firstObject pour la première et slice ( http://emberjs.com/api/classes/Emb [...] thod_slice ) pour la 2ème


Message édité par youmoussa le 17-04-2015 à 18:39:20
n°2256087
LeRiton
Posté le 17-04-2015 à 20:44:00  profilanswer
 

OK, c'était slice qui me manquait. J'étais un peu paumé entre Array, ArrayProxy et du JS conventionnel.
 
:jap:

n°2256325
LeRiton
Posté le 22-04-2015 à 09:13:16  profilanswer
 

Avec l'input helper, les noms d’événements doivent être dasherisés :

Code :
  1. {{input action='foo' on='focus-out'}}


En utilisant le helper action, seul le camelCase fonctionne :

Code :
  1. {{action 'bar' on='doubleClick'}}


 
WTF?

n°2256367
tryptique
Stay hungry, stay foolish
Posté le 22-04-2015 à 14:32:29  profilanswer
 

C'est quoi le ember way pour avoir des slugs dans les url et communiquer avec des IDs dans les appels à l'api backend ? (j'utilise ember-data).

Message cité 1 fois
Message édité par tryptique le 22-04-2015 à 14:32:40

---------------
"J'ai les goûts les plus simples du monde, je me contente du meilleur" O. Wilde - Freedom of time is the new luxury. Time to sleep, work, play, relax, travel, inspire and get inspired. Time to write your story.
n°2256386
youmoussa
Ecrou-vis
Posté le 22-04-2015 à 18:15:40  profilanswer
 

tryptique a écrit :

C'est quoi le ember way pour avoir des slugs dans les url et communiquer avec des IDs dans les appels à l'api backend ? (j'utilise ember-data).


 
Serialize au niveau de la route
 
http://emberjs.com/api/classes/Emb [...] _serialize
 
http://guides.emberjs.com/v1.10.0/ [...] ur-routes/


Message édité par youmoussa le 22-04-2015 à 18:16:15
n°2256387
youmoussa
Ecrou-vis
Posté le 22-04-2015 à 18:20:40  profilanswer
 

LeRiton a écrit :

Avec l'input helper, les noms d’événements doivent être dasherisés :

Code :
  1. {{input action='foo' on='focus-out'}}


En utilisant le helper action, seul le camelCase fonctionne :

Code :
  1. {{action 'bar' on='doubleClick'}}


 
WTF?


 
J'ai pas le temps de vérifier, mais ça ressemble à un bug du input helper

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11

Aller à :
Ajouter une réponse
 

Sujets relatifs
Comment créer un site web qu'on peut gérer avec un CMS après ?créer un fichier zip et le télécharger
Quelle solution pour créer une base de données ?Besoin d'une personne pour me créer une page accès membre.
Créer une page web html avec zone pour laisser un commantairecréer un rapport xml avec les outils Blindeelephant, waffit
[RESOLU] Créer un CSV à partir d'une chaîne en phpApplications bloquées par Java
Créer un site e-commercecréer son site en 10 minutes ?
Plus de sujets relatifs à : Ember.js - Framework JS - Ember Octane disponible !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR